From a42cc7f5d0b8177b4546d7d19983145770a78308 Mon Sep 17 00:00:00 2001 From: Sherman Date: Tue, 14 Dec 2021 16:19:21 +0800 Subject: [PATCH 1/5] =?UTF-8?q?[fix]=20=E7=BC=BA=E5=B0=91=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=AF=BC=E8=87=B4=E7=9A=84=E7=BC=96=E8=AF=91=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ra/fsp/inc/api/r_external_irq_api.h | 177 ++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 bsp/ra6m4-cpk/ra/fsp/inc/api/r_external_irq_api.h diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/api/r_external_irq_api.h b/bsp/ra6m4-cpk/ra/fsp/inc/api/r_external_irq_api.h new file mode 100644 index 0000000000..c024a94c1f --- /dev/null +++ b/bsp/ra6m4-cpk/ra/fsp/inc/api/r_external_irq_api.h @@ -0,0 +1,177 @@ +/*********************************************************************************************************************** + * Copyright [2020-2021] Renesas Electronics Corporation and/or its affiliates. All Rights Reserved. + * + * This software and documentation are supplied by Renesas Electronics America Inc. and may only be used with products + * of Renesas Electronics Corp. and its affiliates ("Renesas"). No other uses are authorized. Renesas products are + * sold pursuant to Renesas terms and conditions of sale. Purchasers are solely responsible for the selection and use + * of Renesas products and Renesas assumes no liability. No license, express or implied, to any intellectual property + * right is granted by Renesas. This software is protected under all applicable laws, including copyright laws. Renesas + * reserves the right to change or discontinue this software and/or this documentation. THE SOFTWARE AND DOCUMENTATION + * IS DELIVERED TO YOU "AS IS," AND RENESAS MAKES NO REPRESENTATIONS OR WARRANTIES, AND TO THE FULLEST EXTENT + * PERMISSIBLE UNDER APPLICABLE LAW, DISCLAIMS ALL WARRANTIES, WHETHER EXPLICITLY OR IMPLICITLY, INCLUDING WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT, WITH RESPECT TO THE SOFTWARE OR + * DOCUMENTATION. RENESAS SHALL HAVE NO LIABILITY ARISING OUT OF ANY SECURITY VULNERABILITY OR BREACH. TO THE MAXIMUM + * EXTENT PERMITTED BY LAW, IN NO EVENT WILL RENESAS BE LIABLE TO YOU IN CONNECTION WITH THE SOFTWARE OR DOCUMENTATION + * (OR ANY PERSON OR ENTITY CLAIMING RIGHTS DERIVED FROM YOU) FOR ANY LOSS, DAMAGES, OR CLAIMS WHATSOEVER, INCLUDING, + * WITHOUT LIMITATION, ANY DIRECT, CONSEQUENTIAL, SPECIAL, INDIRECT, PUNITIVE, OR INCIDENTAL DAMAGES; ANY LOST PROFITS, + * OTHER ECONOMIC DAMAGE, PROPERTY DAMAGE, OR PERSONAL INJURY; AND EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS. + **********************************************************************************************************************/ + +/*******************************************************************************************************************//** + * @ingroup RENESAS_INTERFACES + * @defgroup EXTERNAL_IRQ_API External IRQ Interface + * @brief Interface for detecting external interrupts. + * + * @section EXTERNAL_IRQ_API_Summary Summary + * The External IRQ Interface is for configuring interrupts to fire when a trigger condition is detected on an + * external IRQ pin. + * + * The External IRQ Interface can be implemented by: + * - @ref ICU + * + * @{ + **********************************************************************************************************************/ + +#ifndef R_EXTERNAL_IRQ_API_H +#define R_EXTERNAL_IRQ_API_H + +/*********************************************************************************************************************** + * Includes + **********************************************************************************************************************/ + +/* Includes board and MCU related header files. */ +#include "bsp_api.h" + +/* Common macro for FSP header files. There is also a corresponding FSP_FOOTER macro at the end of this file. */ +FSP_HEADER + +/********************************************************************************************************************** + * Macro definitions + *********************************************************************************************************************/ + +/********************************************************************************************************************* + * Typedef definitions + *********************************************************************************************************************/ + +/** Callback function parameter data */ +typedef struct st_external_irq_callback_args +{ + /** Placeholder for user data. Set in @ref external_irq_api_t::open function in @ref external_irq_cfg_t. */ + void const * p_context; + uint32_t channel; ///< The physical hardware channel that caused the interrupt. +} external_irq_callback_args_t; + +/** Condition that will trigger an interrupt when detected. */ +typedef enum e_external_irq_trigger +{ + EXTERNAL_IRQ_TRIG_FALLING = 0, ///< Falling edge trigger + EXTERNAL_IRQ_TRIG_RISING = 1, ///< Rising edge trigger + EXTERNAL_IRQ_TRIG_BOTH_EDGE = 2, ///< Both edges trigger + EXTERNAL_IRQ_TRIG_LEVEL_LOW = 3, ///< Low level trigger +} external_irq_trigger_t; + +/** External IRQ input pin digital filtering sample clock divisor settings. The digital filter rejects trigger + * conditions that are shorter than 3 periods of the filter clock. + */ +typedef enum e_external_irq_pclk_div +{ + EXTERNAL_IRQ_PCLK_DIV_BY_1 = 0, ///< Filter using PCLK divided by 1 + EXTERNAL_IRQ_PCLK_DIV_BY_8 = 1, ///< Filter using PCLK divided by 8 + EXTERNAL_IRQ_PCLK_DIV_BY_32 = 2, ///< Filter using PCLK divided by 32 + EXTERNAL_IRQ_PCLK_DIV_BY_64 = 3, ///< Filter using PCLK divided by 64 +} external_irq_pclk_div_t; + +/** User configuration structure, used in open function */ +typedef struct st_external_irq_cfg +{ + uint8_t channel; ///< Hardware channel used. + uint8_t ipl; ///< Interrupt priority + IRQn_Type irq; ///< NVIC interrupt number assigned to this instance + external_irq_trigger_t trigger; ///< Trigger setting. + external_irq_pclk_div_t pclk_div; ///< Digital filter clock divisor setting. + bool filter_enable; ///< Digital filter enable/disable setting. + + /** Callback provided external input trigger occurs. */ + void (* p_callback)(external_irq_callback_args_t * p_args); + + /** Placeholder for user data. Passed to the user callback in @ref external_irq_callback_args_t. */ + void const * p_context; + void const * p_extend; ///< External IRQ hardware dependent configuration. +} external_irq_cfg_t; + +/** External IRQ control block. Allocate an instance specific control block to pass into the external IRQ API calls. + * @par Implemented as + * - icu_instance_ctrl_t + */ +typedef void external_irq_ctrl_t; + +/** External interrupt driver structure. External interrupt functions implemented at the HAL layer will follow this API. */ +typedef struct st_external_irq_api +{ + /** Initial configuration. + * @par Implemented as + * - @ref R_ICU_ExternalIrqOpen() + * + * @param[out] p_ctrl Pointer to control block. Must be declared by user. Value set here. + * @param[in] p_cfg Pointer to configuration structure. All elements of the structure must be set by user. + */ + fsp_err_t (* open)(external_irq_ctrl_t * const p_ctrl, external_irq_cfg_t const * const p_cfg); + + /** Enable callback when an external trigger condition occurs. + * @par Implemented as + * - @ref R_ICU_ExternalIrqEnable() + * + * @param[in] p_ctrl Control block set in Open call for this external interrupt. + */ + fsp_err_t (* enable)(external_irq_ctrl_t * const p_ctrl); + + /** Disable callback when external trigger condition occurs. + * @par Implemented as + * - @ref R_ICU_ExternalIrqDisable() + * + * @param[in] p_ctrl Control block set in Open call for this external interrupt. + */ + fsp_err_t (* disable)(external_irq_ctrl_t * const p_ctrl); + + /** + * Specify callback function and optional context pointer and working memory pointer. + * @par Implemented as + * - R_ICU_ExternalIrqCallbackSet() + * + * @param[in] p_ctrl Pointer to the Extneral IRQ control block. + * @param[in] p_callback Callback function + * @param[in] p_context Pointer to send to callback function + * @param[in] p_working_memory Pointer to volatile memory where callback structure can be allocated. + * Callback arguments allocated here are only valid during the callback. + */ + fsp_err_t (* callbackSet)(external_irq_ctrl_t * const p_api_ctrl, + void ( * p_callback)(external_irq_callback_args_t *), + void const * const p_context, + external_irq_callback_args_t * const p_callback_memory); + + /** Allow driver to be reconfigured. May reduce power consumption. + * @par Implemented as + * - @ref R_ICU_ExternalIrqClose() + * + * @param[in] p_ctrl Control block set in Open call for this external interrupt. + */ + fsp_err_t (* close)(external_irq_ctrl_t * const p_ctrl); +} external_irq_api_t; + +/** This structure encompasses everything that is needed to use an instance of this interface. */ +typedef struct st_external_irq_instance +{ + external_irq_ctrl_t * p_ctrl; ///< Pointer to the control structure for this instance + external_irq_cfg_t const * p_cfg; ///< Pointer to the configuration structure for this instance + external_irq_api_t const * p_api; ///< Pointer to the API structure for this instance +} external_irq_instance_t; + +/* Common macro for FSP header files. There is also a corresponding FSP_HEADER macro at the top of this file. */ +FSP_FOOTER + +/*******************************************************************************************************************//** + * @} (end defgroup EXTERNAL_IRQ_API) + **********************************************************************************************************************/ + +#endif From 2ca71f90da82ff731175bf98917933cc4d4b0c60 Mon Sep 17 00:00:00 2001 From: Sherman Date: Tue, 14 Dec 2021 18:25:56 +0800 Subject: [PATCH 2/5] =?UTF-8?q?[fix]=20MDK=20=E6=97=A7=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E8=AF=86=E5=88=AB=20SConscript=20=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/ra6m4-cpk/SConscript | 20 ++++++++++++++++---- bsp/ra6m4-cpk/src/SConscript | 17 ----------------- 2 files changed, 16 insertions(+), 21 deletions(-) delete mode 100644 bsp/ra6m4-cpk/src/SConscript diff --git a/bsp/ra6m4-cpk/SConscript b/bsp/ra6m4-cpk/SConscript index fe0ae941ae..6c129cbc40 100644 --- a/bsp/ra6m4-cpk/SConscript +++ b/bsp/ra6m4-cpk/SConscript @@ -1,14 +1,26 @@ # for module compiling import os Import('RTT_ROOT') +Import('rtconfig') +from building import * -cwd = str(Dir('#')) -objs = [] +cwd = GetCurrentDir() +src = [] +CPPPATH = [] list = os.listdir(cwd) +if rtconfig.CROSS_TOOL == 'iar': + print("\nThe current project does not support iar build\n") + Return('group') +elif rtconfig.CROSS_TOOL == 'gcc': + CPPPATH = [cwd] + src = Glob('./src/*.c') + +group = DefineGroup('Applications', 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')) + group = group + SConscript(os.path.join(d, 'SConscript')) -Return('objs') +Return('group') diff --git a/bsp/ra6m4-cpk/src/SConscript b/bsp/ra6m4-cpk/src/SConscript deleted file mode 100644 index 3b82975eb6..0000000000 --- a/bsp/ra6m4-cpk/src/SConscript +++ /dev/null @@ -1,17 +0,0 @@ -Import('RTT_ROOT') -Import('rtconfig') -from building import * - -cwd = GetCurrentDir() -src = [] -CPPPATH = [] - -if rtconfig.CROSS_TOOL == 'iar': - print("\nThe current project does not support iar build\n") - Return('group') -elif rtconfig.CROSS_TOOL == 'gcc': - CPPPATH = [cwd, ] - src = Glob('*.c') - -group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) -Return('group') From 6a6b85d6f6024205a1d39f74d2e4f6627608aa92 Mon Sep 17 00:00:00 2001 From: Sherman Date: Tue, 14 Dec 2021 18:25:56 +0800 Subject: [PATCH 3/5] =?UTF-8?q?[fix]=20MDK=20=E6=97=A7=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E8=AF=86=E5=88=AB=20SConscript=20=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/ra6m4-cpk/.settings/standalone.prefs | 16 ++++++++-------- bsp/ra6m4-cpk/SConscript | 20 ++++++++++++++++---- bsp/ra6m4-cpk/buildinfo.gpdsc | 17 ++++++++++++++++- bsp/ra6m4-cpk/project.uvoptx | 14 +------------- bsp/ra6m4-cpk/project.uvprojx | 5 ----- bsp/ra6m4-cpk/src/SConscript | 17 ----------------- 6 files changed, 41 insertions(+), 48 deletions(-) delete mode 100644 bsp/ra6m4-cpk/src/SConscript diff --git a/bsp/ra6m4-cpk/.settings/standalone.prefs b/bsp/ra6m4-cpk/.settings/standalone.prefs index 99ce253417..62c16e929f 100644 --- a/bsp/ra6m4-cpk/.settings/standalone.prefs +++ b/bsp/ra6m4-cpk/.settings/standalone.prefs @@ -1,21 +1,21 @@ -#Wed Nov 03 20:31:16 CST 2021 +#Tue Dec 14 18:35:25 CST 2021 com.renesas.cdt.ddsc.content/com.renesas.cdt.ddsc.content.defaultlinkerscript=script/fsp.scat com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#3.1.0/all=1390983687,ra/fsp/inc/instances/r_ioport.h|3204787724,ra/fsp/src/r_ioport/r_ioport.c|1957950123,ra/fsp/inc/api/r_ioport_api.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#3.1.0/all=1957950123,ra/fsp/inc/api/r_ioport_api.h|1390983687,ra/fsp/inc/instances/r_ioport.h|3204787724,ra/fsp/src/r_ioport/r_ioport.c com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_icu\#\#\#\#3.1.0/all=2545672180,ra/fsp/inc/instances/r_icu.h|3018483678,ra/fsp/src/r_icu/r_icu.c|1906465970,ra/fsp/inc/api/r_external_irq_api.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_icu\#\#\#\#3.1.0/all=2545672180,ra/fsp/inc/instances/r_icu.h|1906465970,ra/fsp/inc/api/r_external_irq_api.h|3018483678,ra/fsp/src/r_icu/r_icu.c com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#Board\#\#ra6m4_cpk\#\#\#\#3.1.0/libraries= com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#\#\#3.1.0/all=2308894280,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#3.1.0/all=568600546,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c|2977689308,ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h|1222394411,ra/fsp/src/bsp/mcu/all/bsp_io.c|3098075304,ra/fsp/src/bsp/mcu/all/bsp_clocks.h|905231975,ra/fsp/src/bsp/mcu/all/bsp_clocks.c|3590501432,ra/fsp/src/bsp/mcu/all/bsp_io.h|1868795951,ra/fsp/inc/fsp_features.h|2556589544,ra/fsp/src/bsp/mcu/all/bsp_group_irq.c|3581546608,ra/fsp/inc/fsp_common_api.h|3984836408,ra/fsp/src/bsp/mcu/all/bsp_group_irq.h|496115995,ra/fsp/src/bsp/mcu/all/bsp_register_protection.c|2812024316,ra/fsp/src/bsp/mcu/all/bsp_common.h|1390983687,ra/fsp/inc/instances/r_ioport.h|521902797,ra/fsp/src/bsp/mcu/all/bsp_security.h|4191472725,ra/fsp/inc/fsp_version.h|2247478812,ra/fsp/src/bsp/mcu/all/bsp_module_stop.h|3131094294,ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c|400573940,ra/fsp/src/bsp/mcu/all/bsp_register_protection.h|2906400,ra/fsp/src/bsp/mcu/all/bsp_common.c|2308894280,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h|3366593968,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h|3520119047,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h|2920829723,ra/fsp/src/bsp/mcu/all/bsp_guard.c|1982083345,ra/fsp/src/bsp/mcu/all/bsp_security.c|1552630912,ra/fsp/src/bsp/mcu/all/bsp_guard.h|1992062042,ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h|3819230577,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c|3983299396,ra/fsp/src/bsp/mcu/all/bsp_delay.h|2966752275,ra/fsp/src/bsp/mcu/all/bsp_delay.c|731782070,ra/fsp/src/bsp/mcu/all/bsp_irq.h|1615019982,ra/fsp/src/bsp/mcu/all/bsp_sbrk.c|1630997354,ra/fsp/src/bsp/mcu/all/bsp_irq.c|2006974055,ra/fsp/inc/api/bsp_api.h|1957950123,ra/fsp/inc/api/r_ioport_api.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#3.1.0/all=2920829723,ra/fsp/src/bsp/mcu/all/bsp_guard.c|2247478812,ra/fsp/src/bsp/mcu/all/bsp_module_stop.h|521902797,ra/fsp/src/bsp/mcu/all/bsp_security.h|2966752275,ra/fsp/src/bsp/mcu/all/bsp_delay.c|2977689308,ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h|1982083345,ra/fsp/src/bsp/mcu/all/bsp_security.c|1390983687,ra/fsp/inc/instances/r_ioport.h|1615019982,ra/fsp/src/bsp/mcu/all/bsp_sbrk.c|4191472725,ra/fsp/inc/fsp_version.h|496115995,ra/fsp/src/bsp/mcu/all/bsp_register_protection.c|905231975,ra/fsp/src/bsp/mcu/all/bsp_clocks.c|3983299396,ra/fsp/src/bsp/mcu/all/bsp_delay.h|1868795951,ra/fsp/inc/fsp_features.h|3366593968,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h|568600546,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c|3098075304,ra/fsp/src/bsp/mcu/all/bsp_clocks.h|1552630912,ra/fsp/src/bsp/mcu/all/bsp_guard.h|2906400,ra/fsp/src/bsp/mcu/all/bsp_common.c|1957950123,ra/fsp/inc/api/r_ioport_api.h|1630997354,ra/fsp/src/bsp/mcu/all/bsp_irq.c|731782070,ra/fsp/src/bsp/mcu/all/bsp_irq.h|400573940,ra/fsp/src/bsp/mcu/all/bsp_register_protection.h|1222394411,ra/fsp/src/bsp/mcu/all/bsp_io.c|3520119047,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h|2556589544,ra/fsp/src/bsp/mcu/all/bsp_group_irq.c|1992062042,ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h|3590501432,ra/fsp/src/bsp/mcu/all/bsp_io.h|3581546608,ra/fsp/inc/fsp_common_api.h|3984836408,ra/fsp/src/bsp/mcu/all/bsp_group_irq.h|2308894280,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h|2006974055,ra/fsp/inc/api/bsp_api.h|3819230577,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c|2812024316,ra/fsp/src/bsp/mcu/all/bsp_common.h|3131094294,ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#CoreM\#\#\#\#5.7.0+fsp.3.1.0/libraries= com.renesas.cdt.ddsc.settingseditor/com.renesas.cdt.ddsc.settingseditor.active_page=SWPConfigurator com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_icu\#\#\#\#3.1.0/libraries= com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#3.1.0/libraries= com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#R7FA6M4AF3CFB\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#CoreM\#\#\#\#5.7.0+fsp.3.1.0/all=2686445441,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h|2491522803,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h|2748964184,ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h|1017116116,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h|3007265674,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h|3589068132,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h|1536854638,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h|206980015,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h|4005730526,ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h|1372010515,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h|1078551279,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h|546157604,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h|2333906976,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h|1441545198,ra/arm/CMSIS_5/LICENSE.txt|1562896660,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h|2327633156,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h|2635219934,ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h|3021372151,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h|3602366610,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h|4290386133,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h|2851112248,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h|1745843273,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h|2024281644,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h|4231934849,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h|3442821435,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h|637879414,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h|377628369,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h|3779323067,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#3.1.0/all=2349328507,ra/fsp/src/r_sci_uart/r_sci_uart.c|1672784957,ra/fsp/inc/instances/r_sci_uart.h|1610456547,ra/fsp/inc/api/r_transfer_api.h|853178775,ra/fsp/inc/api/r_uart_api.h -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#fsp\#\#\#\#3.1.0/all=2347061782,ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h|3852442662,ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h|3571093944,ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h +com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#CoreM\#\#\#\#5.7.0+fsp.3.1.0/all=2491522803,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h|637879414,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h|377628369,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h|2686445441,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h|2333906976,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h|546157604,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h|4005730526,ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h|1017116116,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h|1562896660,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h|4231934849,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h|2635219934,ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h|4290386133,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h|3589068132,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h|1078551279,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h|3007265674,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h|1441545198,ra/arm/CMSIS_5/LICENSE.txt|3021372151,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h|3602366610,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h|2748964184,ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h|1372010515,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h|3779323067,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h|1536854638,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h|206980015,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h|3442821435,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h|2327633156,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h|2024281644,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h|2851112248,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h|1745843273,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#3.1.0/all=2349328507,ra/fsp/src/r_sci_uart/r_sci_uart.c|853178775,ra/fsp/inc/api/r_uart_api.h|1610456547,ra/fsp/inc/api/r_transfer_api.h|1672784957,ra/fsp/inc/instances/r_sci_uart.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#fsp\#\#\#\#3.1.0/all=3852442662,ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h|2347061782,ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h|3571093944,ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#3.1.0/libraries= com.renesas.cdt.ddsc.threads.configurator/collapse/module.driver.uart_on_sci_uart.813326093=false -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#Board\#\#ra6m4_cpk\#\#\#\#3.1.0/all=3843040667,ra/board/ra6m4_cpk/board_leds.h|2525887392,ra/board/ra6m4_cpk/board_ethernet_phy.h|3559227370,ra/board/ra6m4_cpk/board_init.c|2967196421,ra/board/ra6m4_cpk/board_init.h|3343992478,ra/board/ra6m4_cpk/board.h|3938710240,ra/board/ra6m4_cpk/board_leds.c +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#Board\#\#ra6m4_cpk\#\#\#\#3.1.0/all=3559227370,ra/board/ra6m4_cpk/board_init.c|3843040667,ra/board/ra6m4_cpk/board_leds.h|2525887392,ra/board/ra6m4_cpk/board_ethernet_phy.h|2967196421,ra/board/ra6m4_cpk/board_init.h|3938710240,ra/board/ra6m4_cpk/board_leds.c|3343992478,ra/board/ra6m4_cpk/board.h com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#fsp\#\#\#\#3.1.0/libraries= diff --git a/bsp/ra6m4-cpk/SConscript b/bsp/ra6m4-cpk/SConscript index fe0ae941ae..6c129cbc40 100644 --- a/bsp/ra6m4-cpk/SConscript +++ b/bsp/ra6m4-cpk/SConscript @@ -1,14 +1,26 @@ # for module compiling import os Import('RTT_ROOT') +Import('rtconfig') +from building import * -cwd = str(Dir('#')) -objs = [] +cwd = GetCurrentDir() +src = [] +CPPPATH = [] list = os.listdir(cwd) +if rtconfig.CROSS_TOOL == 'iar': + print("\nThe current project does not support iar build\n") + Return('group') +elif rtconfig.CROSS_TOOL == 'gcc': + CPPPATH = [cwd] + src = Glob('./src/*.c') + +group = DefineGroup('Applications', 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')) + group = group + SConscript(os.path.join(d, 'SConscript')) -Return('objs') +Return('group') diff --git a/bsp/ra6m4-cpk/buildinfo.gpdsc b/bsp/ra6m4-cpk/buildinfo.gpdsc index d70f167058..ee8476ee88 100644 --- a/bsp/ra6m4-cpk/buildinfo.gpdsc +++ b/bsp/ra6m4-cpk/buildinfo.gpdsc @@ -12,7 +12,6 @@ - @@ -72,36 +71,52 @@ + + + + + + + + + + + + + + + + diff --git a/bsp/ra6m4-cpk/project.uvoptx b/bsp/ra6m4-cpk/project.uvoptx index a12247f11f..5454093561 100644 --- a/bsp/ra6m4-cpk/project.uvoptx +++ b/bsp/ra6m4-cpk/project.uvoptx @@ -615,7 +615,7 @@ :Renesas RA Smart Configurator:Common Sources - 0 + 1 0 0 0 @@ -631,18 +631,6 @@ 0 0 - - 7 - 35 - 5 - 0 - 0 - 0 - .\src\SConscript - SConscript - 0 - 0 - diff --git a/bsp/ra6m4-cpk/project.uvprojx b/bsp/ra6m4-cpk/project.uvprojx index 0099b57c70..9c8734f244 100644 --- a/bsp/ra6m4-cpk/project.uvprojx +++ b/bsp/ra6m4-cpk/project.uvprojx @@ -583,11 +583,6 @@ 1 .\src\hal_entry.c - - SConscript - 5 - .\src\SConscript - diff --git a/bsp/ra6m4-cpk/src/SConscript b/bsp/ra6m4-cpk/src/SConscript deleted file mode 100644 index 3b82975eb6..0000000000 --- a/bsp/ra6m4-cpk/src/SConscript +++ /dev/null @@ -1,17 +0,0 @@ -Import('RTT_ROOT') -Import('rtconfig') -from building import * - -cwd = GetCurrentDir() -src = [] -CPPPATH = [] - -if rtconfig.CROSS_TOOL == 'iar': - print("\nThe current project does not support iar build\n") - Return('group') -elif rtconfig.CROSS_TOOL == 'gcc': - CPPPATH = [cwd, ] - src = Glob('*.c') - -group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) -Return('group') From 44070a7b0c8141b0b4b990d3b9d55440056b1a02 Mon Sep 17 00:00:00 2001 From: Sherman Date: Tue, 4 Jan 2022 19:27:04 +0800 Subject: [PATCH 4/5] [bsp/ra6m4-cpk] FSP updated to 3.5.0 --- bsp/ra6m4-cpk/.settings/standalone.prefs | 21 - bsp/ra6m4-cpk/docs/picture/fsp_version.png | Bin 13749 -> 0 bytes .../ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h | 116 - bsp/{ => renesas}/ra6m4-cpk/.config | 0 bsp/{ => renesas}/ra6m4-cpk/.gitignore | 0 .../ra6m4-cpk/.ignore_format.yml | 0 .../ra6m4-cpk/.settings/standalone.prefs | 21 + bsp/{ => renesas}/ra6m4-cpk/Kconfig | 0 .../ra6m4-cpk/R7FA6M4AF3CFB.pincfg | 0 bsp/{ => renesas}/ra6m4-cpk/README.md | 15 +- .../ra6m4-cpk/RTE/_Target_1/RTE_Components.h | 15 + bsp/{ => renesas}/ra6m4-cpk/SConscript | 0 bsp/{ => renesas}/ra6m4-cpk/SConstruct | 2 +- bsp/{ => renesas}/ra6m4-cpk/buildinfo.gpdsc | 3 +- bsp/{ => renesas}/ra6m4-cpk/configuration.xml | 81 +- .../ra6m4-cpk/docs/picture/1635909864954.png | Bin .../ra6m4-cpk/docs/picture/1635929089445.png | Bin .../ra6m4-cpk/docs/picture/adc_config.png | Bin .../ra6m4-cpk/docs/picture/adc_config1.png | Bin .../ra6m4-cpk/docs/picture/adc_dac.png | Bin .../ra6m4-cpk/docs/picture/add_flash.png | Bin .../ra6m4-cpk/docs/picture/add_gpt1.png | Bin .../ra6m4-cpk/docs/picture/add_gpt2.png | Bin .../ra6m4-cpk/docs/picture/add_gpt3.png | Bin .../ra6m4-cpk/docs/picture/can.png | Bin .../ra6m4-cpk/docs/picture/can_callback.png | Bin .../ra6m4-cpk/docs/picture/can_menuconfig.png | Bin .../ra6m4-cpk/docs/picture/config_flash.png | Bin .../ra6m4-cpk/docs/picture/config_irq4.png | Bin .../ra6m4-cpk/docs/picture/cpk-ra6m4.png | Bin .../ra6m4-cpk/docs/picture/customize.png | Bin .../ra6m4-cpk/docs/picture/dac_config0.png | Bin .../ra6m4-cpk/docs/picture/dac_config1.png | Bin .../ra6m4-cpk/docs/picture/dac_config2.png | Bin .../ra6m4-cpk/docs/picture/dmac_config.png | Bin .../ra6m4-cpk/docs/picture/dmac_int.png | Bin .../ra6m4-cpk/docs/picture/drv_rw007.png | Bin .../docs/picture/flash_menuconfig.png | Bin .../ra6m4-cpk/docs/picture/fsp_version.png | Bin 0 -> 5949 bytes .../ra6m4-cpk/docs/picture/gpio.png | Bin .../ra6m4-cpk/docs/picture/gpio_irq.png | Bin .../ra6m4-cpk/docs/picture/icu_stack.png | Bin .../ra6m4-cpk/docs/picture/import_changes.png | Bin .../ra6m4-cpk/docs/picture/irq0.png | Bin .../ra6m4-cpk/docs/picture/irq1.png | Bin .../ra6m4-cpk/docs/picture/jflash.png | Bin .../ra6m4-cpk/docs/picture/jflash1.png | Bin .../ra6m4-cpk/docs/picture/jflash2.png | Bin .../ra6m4-cpk/docs/picture/jflash3.png | Bin .../ra6m4-cpk/docs/picture/openrasc.png | Bin .../ra6m4-cpk/docs/picture/p105.png | Bin .../ra6m4-cpk/docs/picture/pwm_env.png | Bin .../ra6m4-cpk/docs/picture/rascuart.png | Bin .../ra6m4-cpk/docs/picture/rascuart1.png | Bin .../ra6m4-cpk/docs/picture/readme_faq1.png | Bin .../ra6m4-cpk/docs/picture/rtc.png | Bin .../ra6m4-cpk/docs/picture/rtc_config.png | Bin .../ra6m4-cpk/docs/picture/rtc_env.png | Bin .../ra6m4-cpk/docs/picture/rw007_int.png | Bin .../ra6m4-cpk/docs/picture/rw007_mdk.png | Bin .../ra6m4-cpk/docs/picture/rw007_mempool.png | Bin .../ra6m4-cpk/docs/picture/rw007_netdev.png | Bin .../ra6m4-cpk/docs/picture/rw007_ping.png | Bin .../ra6m4-cpk/docs/picture/rw007_pkg.png | Bin .../ra6m4-cpk/docs/picture/rw007_reset.png | Bin .../ra6m4-cpk/docs/picture/rw007_spi.png | Bin .../ra6m4-cpk/docs/picture/rw007_spicfg.png | Bin .../ra6m4-cpk/docs/picture/rw007_test.png | Bin .../ra6m4-cpk/docs/picture/rw007_wifijoin.png | Bin .../ra6m4-cpk/docs/picture/rw007_wlan.png | Bin .../ra6m4-cpk/docs/picture/sdhi_config.png | Bin .../ra6m4-cpk/docs/picture/sdhi_config1.png | Bin .../ra6m4-cpk/docs/picture/sdhi_env.png | Bin .../ra6m4-cpk/docs/picture/spi.png | Bin .../ra6m4-cpk/docs/picture/spi_add.png | Bin .../ra6m4-cpk/docs/picture/spi_env.png | Bin .../ra6m4-cpk/docs/picture/spi_pin.png | Bin .../ra6m4-cpk/docs/picture/wdt.png | Bin .../ra6m4-cpk/docs/picture/wdt_config.png | Bin .../ra6m4-cpk/docs/picture/wdt_env.png | Bin .../ra6m4-cpk/docs/使用瑞萨FSP配置工具.md | 10 +- bsp/{ => renesas}/ra6m4-cpk/drivers/Kconfig | 0 .../ra6m4-cpk/drivers/SConscript | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/board.h | 0 .../ra6m4-cpk/drivers/config/drv_config.h | 0 .../drivers/config/ra6m4/adc_config.h | 0 .../drivers/config/ra6m4/can_config.h | 0 .../drivers/config/ra6m4/dac_config.h | 0 .../drivers/config/ra6m4/pwm_config.h | 0 .../drivers/config/ra6m4/uart_config.h | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/drv_adc.c | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/drv_can.c | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/drv_can.h | 0 .../ra6m4-cpk/drivers/drv_common.c | 43 + .../ra6m4-cpk/drivers/drv_common.h | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/drv_dac.c | 0 .../ra6m4-cpk/drivers/drv_flash.c | 0 .../ra6m4-cpk/drivers/drv_flash.h | 0 .../ra6m4-cpk/drivers/drv_gpio.c | 0 .../ra6m4-cpk/drivers/drv_gpio.h | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/drv_pwm.c | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/drv_pwm.h | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/drv_rtc.c | 0 .../ra6m4-cpk/drivers/drv_soft_i2c.c | 0 .../ra6m4-cpk/drivers/drv_soft_i2c.h | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/drv_spi.c | 22 +- bsp/{ => renesas}/ra6m4-cpk/drivers/drv_spi.h | 0 .../ra6m4-cpk/drivers/drv_usart_v2.c | 0 .../ra6m4-cpk/drivers/drv_usart_v2.h | 0 bsp/{ => renesas}/ra6m4-cpk/drivers/drv_wdt.c | 0 bsp/{ => renesas}/ra6m4-cpk/ports/SConscript | 0 .../ra6m4-cpk/ports/fal/SConscript | 0 .../ra6m4-cpk/ports/fal/fal_cfg.h | 0 .../ra6m4-cpk/ports/rw007/SConscript | 0 .../ra6m4-cpk/ports/rw007/drv_rw007.c | 0 bsp/{ => renesas}/ra6m4-cpk/project.uvoptx | 123 +- bsp/{ => renesas}/ra6m4-cpk/project.uvprojx | 194 +- bsp/{ => renesas}/ra6m4-cpk/ra/SConscript | 0 .../CMSIS/Core/Include/cachel1_armv7.h | 28 +- .../CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h | 561 +- .../CMSIS/Core/Include/cmsis_armclang.h | 1374 +- .../CMSIS/Core/Include/cmsis_armclang_ltm.h | 1349 +- .../CMSIS/Core/Include/cmsis_compiler.h | 0 .../CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h | 1452 +- .../CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h | 46 +- .../CMSIS/Core/Include/cmsis_version.h | 0 .../CMSIS/Core/Include/core_armv81mml.h | 60 +- .../CMSIS/Core/Include/core_armv8mbl.h | 0 .../CMSIS/Core/Include/core_armv8mml.h | 25 +- .../arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h | 0 .../CMSIS_5/CMSIS/Core/Include/core_cm0plus.h | 0 .../arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h | 0 .../CMSIS_5/CMSIS/Core/Include/core_cm23.h | 0 .../arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h | 18 +- .../CMSIS_5/CMSIS/Core/Include/core_cm33.h | 25 +- .../CMSIS_5/CMSIS/Core/Include/core_cm35p.h | 27 +- .../arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h | 18 +- .../CMSIS_5/CMSIS/Core/Include/core_cm55.h | 95 +- .../arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h | 36 +- .../CMSIS_5/CMSIS/Core/Include/core_sc000.h | 0 .../CMSIS_5/CMSIS/Core/Include/core_sc300.h | 16 +- .../CMSIS_5/CMSIS/Core/Include/mpu_armv7.h | 10 +- .../CMSIS_5/CMSIS/Core/Include/mpu_armv8.h | 8 +- .../CMSIS_5/CMSIS/Core/Include/pmu_armv8.h | 6 +- .../CMSIS_5/CMSIS/Core/Include/tz_context.h | 0 .../ra6m4-cpk/ra/arm/CMSIS_5/LICENSE.txt | 0 .../ra6m4-cpk/ra/board/ra6m4_cpk/board.h | 0 .../ra/board/ra6m4_cpk/board_ethernet_phy.h | 2 +- .../ra6m4-cpk/ra/board/ra6m4_cpk/board_init.c | 0 .../ra6m4-cpk/ra/board/ra6m4_cpk/board_init.h | 0 .../ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.c | 0 .../ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.h | 2 +- .../ra6m4-cpk/ra/fsp/inc/api/bsp_api.h | 6 + .../ra/fsp/inc/api/r_external_irq_api.h | 0 .../ra6m4-cpk/ra/fsp/inc/api/r_ioport_api.h | 33 +- .../ra6m4-cpk/ra/fsp/inc/api/r_transfer_api.h | 0 .../ra6m4-cpk/ra/fsp/inc/api/r_uart_api.h | 25 +- .../ra6m4-cpk/ra/fsp/inc/fsp_common_api.h | 15 +- .../ra6m4-cpk/ra/fsp/inc/fsp_features.h | 7 + .../ra6m4-cpk/ra/fsp/inc/fsp_version.h | 6 +- .../ra6m4-cpk/ra/fsp/inc/instances/r_icu.h | 0 .../ra6m4-cpk/ra/fsp/inc/instances/r_ioport.h | 51 + .../ra/fsp/inc/instances/r_sci_uart.h | 10 +- .../Device/RENESAS/Include/base_addresses.h | 344 +- .../cmsis/Device/RENESAS/Include/renesas.h | 14026 ++++++++++++++-- .../bsp/cmsis/Device/RENESAS/Include/system.h | 0 .../bsp/cmsis/Device/RENESAS/Source/startup.c | 1 + .../bsp/cmsis/Device/RENESAS/Source/system.c | 52 +- .../fsp/src/bsp/mcu/all/bsp_arm_exceptions.h | 50 + .../ra/fsp/src/bsp/mcu/all/bsp_clocks.c | 432 +- .../ra/fsp/src/bsp/mcu/all/bsp_clocks.h | 22 + .../ra/fsp/src/bsp/mcu/all/bsp_common.c | 0 .../ra/fsp/src/bsp/mcu/all/bsp_common.h | 38 + .../src/bsp/mcu/all/bsp_compiler_support.h | 0 .../ra/fsp/src/bsp/mcu/all/bsp_delay.c | 18 +- .../ra/fsp/src/bsp/mcu/all/bsp_delay.h | 0 .../ra/fsp/src/bsp/mcu/all/bsp_group_irq.c | 2 +- .../ra/fsp/src/bsp/mcu/all/bsp_group_irq.h | 0 .../ra/fsp/src/bsp/mcu/all/bsp_guard.c | 0 .../ra/fsp/src/bsp/mcu/all/bsp_guard.h | 0 .../ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.c | 2 +- .../ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.h | 79 +- .../ra/fsp/src/bsp/mcu/all/bsp_irq.c | 0 .../ra/fsp/src/bsp/mcu/all/bsp_irq.h | 0 .../ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h | 0 .../ra/fsp/src/bsp/mcu/all/bsp_module_stop.h | 56 +- .../src/bsp/mcu/all/bsp_register_protection.c | 5 +- .../src/bsp/mcu/all/bsp_register_protection.h | 0 .../fsp/src/bsp/mcu/all/bsp_rom_registers.c | 4 + .../ra/fsp/src/bsp/mcu/all/bsp_sbrk.c | 0 .../ra/fsp/src/bsp/mcu/all/bsp_security.c | 50 +- .../ra/fsp/src/bsp/mcu/all/bsp_security.h | 0 .../ra/fsp/src/bsp/mcu/all/bsp_tfu.h | 228 + .../ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h | 16 +- .../ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h | 43 +- .../ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h | 0 .../ra6m4-cpk/ra/fsp/src/r_icu/r_icu.c | 0 .../ra6m4-cpk/ra/fsp/src/r_ioport/r_ioport.c | 30 +- .../ra/fsp/src/r_sci_uart/r_sci_uart.c | 106 +- bsp/{ => renesas}/ra6m4-cpk/ra_cfg/SConscript | 0 .../ra6m4-cpk/ra_cfg/fsp_cfg/bsp/board_cfg.h | 0 .../ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_cfg.h | 6 +- .../ra_cfg/fsp_cfg/bsp/bsp_mcu_device_cfg.h | 0 .../fsp_cfg/bsp/bsp_mcu_device_pn_cfg.h | 0 .../ra_cfg/fsp_cfg/bsp/bsp_mcu_family_cfg.h | 0 .../ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h | 116 + .../ra6m4-cpk/ra_cfg/fsp_cfg/r_icu_cfg.h | 0 .../ra6m4-cpk/ra_cfg/fsp_cfg/r_ioport_cfg.h | 0 .../ra6m4-cpk/ra_cfg/fsp_cfg/r_sci_uart_cfg.h | 0 bsp/{ => renesas}/ra6m4-cpk/ra_gen/SConscript | 0 .../ra6m4-cpk/ra_gen/bsp_clock_cfg.h | 0 .../ra6m4-cpk/ra_gen/common_data.c | 0 .../ra6m4-cpk/ra_gen/common_data.h | 0 bsp/{ => renesas}/ra6m4-cpk/ra_gen/hal_data.c | 5 + bsp/{ => renesas}/ra6m4-cpk/ra_gen/hal_data.h | 0 bsp/{ => renesas}/ra6m4-cpk/ra_gen/main.c | 0 bsp/{ => renesas}/ra6m4-cpk/ra_gen/pin_data.c | 10 +- .../ra6m4-cpk/ra_gen/vector_data.c | 0 .../ra6m4-cpk/ra_gen/vector_data.h | 23 +- bsp/{ => renesas}/ra6m4-cpk/rtconfig.h | 0 bsp/{ => renesas}/ra6m4-cpk/rtconfig.py | 4 +- .../ra6m4-cpk/script/ac6/fsp_keep.via | 1 + bsp/{ => renesas}/ra6m4-cpk/script/fsp.ld | 29 +- bsp/{ => renesas}/ra6m4-cpk/script/fsp.scat | 18 + .../ra6m4-cpk/script/memory_regions.ld | 0 .../ra6m4-cpk/script/memory_regions.scat | 0 bsp/{ => renesas}/ra6m4-cpk/src/hal_entry.c | 0 bsp/{ => renesas}/ra6m4-cpk/template.uvoptx | 46 +- bsp/{ => renesas}/ra6m4-cpk/template.uvprojx | 24 +- 229 files changed, 17328 insertions(+), 4535 deletions(-) delete mode 100644 bsp/ra6m4-cpk/.settings/standalone.prefs delete mode 100644 bsp/ra6m4-cpk/docs/picture/fsp_version.png delete mode 100644 bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h rename bsp/{ => renesas}/ra6m4-cpk/.config (100%) rename bsp/{ => renesas}/ra6m4-cpk/.gitignore (100%) rename bsp/{ => renesas}/ra6m4-cpk/.ignore_format.yml (100%) create mode 100644 bsp/renesas/ra6m4-cpk/.settings/standalone.prefs rename bsp/{ => renesas}/ra6m4-cpk/Kconfig (100%) rename bsp/{ => renesas}/ra6m4-cpk/R7FA6M4AF3CFB.pincfg (100%) rename bsp/{ => renesas}/ra6m4-cpk/README.md (85%) create mode 100644 bsp/renesas/ra6m4-cpk/RTE/_Target_1/RTE_Components.h rename bsp/{ => renesas}/ra6m4-cpk/SConscript (100%) rename bsp/{ => renesas}/ra6m4-cpk/SConstruct (94%) rename bsp/{ => renesas}/ra6m4-cpk/buildinfo.gpdsc (98%) rename bsp/{ => renesas}/ra6m4-cpk/configuration.xml (93%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/1635909864954.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/1635929089445.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/adc_config.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/adc_config1.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/adc_dac.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/add_flash.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/add_gpt1.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/add_gpt2.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/add_gpt3.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/can.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/can_callback.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/can_menuconfig.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/config_flash.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/config_irq4.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/cpk-ra6m4.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/customize.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/dac_config0.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/dac_config1.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/dac_config2.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/dmac_config.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/dmac_int.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/drv_rw007.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/flash_menuconfig.png (100%) create mode 100644 bsp/renesas/ra6m4-cpk/docs/picture/fsp_version.png rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/gpio.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/gpio_irq.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/icu_stack.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/import_changes.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/irq0.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/irq1.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/jflash.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/jflash1.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/jflash2.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/jflash3.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/openrasc.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/p105.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/pwm_env.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rascuart.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rascuart1.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/readme_faq1.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rtc.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rtc_config.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rtc_env.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_int.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_mdk.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_mempool.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_netdev.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_ping.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_pkg.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_reset.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_spi.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_spicfg.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_test.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_wifijoin.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/rw007_wlan.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/sdhi_config.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/sdhi_config1.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/sdhi_env.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/spi.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/spi_add.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/spi_env.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/spi_pin.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/wdt.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/wdt_config.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/picture/wdt_env.png (100%) rename bsp/{ => renesas}/ra6m4-cpk/docs/使用瑞萨FSP配置工具.md (95%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/Kconfig (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/SConscript (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/board.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/config/drv_config.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/config/ra6m4/adc_config.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/config/ra6m4/can_config.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/config/ra6m4/dac_config.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/config/ra6m4/pwm_config.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/config/ra6m4/uart_config.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_adc.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_can.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_can.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_common.c (64%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_common.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_dac.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_flash.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_flash.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_gpio.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_gpio.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_pwm.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_pwm.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_rtc.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_soft_i2c.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_soft_i2c.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_spi.c (92%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_spi.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_usart_v2.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_usart_v2.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/drivers/drv_wdt.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ports/SConscript (100%) rename bsp/{ => renesas}/ra6m4-cpk/ports/fal/SConscript (100%) rename bsp/{ => renesas}/ra6m4-cpk/ports/fal/fal_cfg.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ports/rw007/SConscript (100%) rename bsp/{ => renesas}/ra6m4-cpk/ports/rw007/drv_rw007.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/project.uvoptx (84%) rename bsp/{ => renesas}/ra6m4-cpk/project.uvprojx (85%) rename bsp/{ => renesas}/ra6m4-cpk/ra/SConscript (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h (95%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h (98%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h (96%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h (98%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h (98%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h (98%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h (98%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/arm/CMSIS_5/LICENSE.txt (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/board/ra6m4_cpk/board.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/board/ra6m4_cpk/board_ethernet_phy.h (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.h (98%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/api/bsp_api.h (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/api/r_external_irq_api.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/api/r_ioport_api.h (93%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/api/r_transfer_api.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/api/r_uart_api.h (93%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/fsp_common_api.h (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/fsp_features.h (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/fsp_version.h (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/instances/r_icu.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/instances/r_ioport.h (86%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/inc/instances/r_sci_uart.h (94%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h (65%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h (71%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c (93%) create mode 100644 bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_arm_exceptions.h rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.c (79%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.h (92%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.h (89%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.c (90%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.c (98%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.c (98%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.h (83%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_module_stop.h (82%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.c (98%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c (99%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_sbrk.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.c (90%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.h (100%) create mode 100644 bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_tfu.h rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h (88%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/r_icu/r_icu.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/r_ioport/r_ioport.c (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra/fsp/src/r_sci_uart/r_sci_uart.c (94%) rename bsp/{ => renesas}/ra6m4-cpk/ra_cfg/SConscript (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/board_cfg.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_cfg.h (88%) rename bsp/{ => renesas}/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_cfg.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_pn_cfg.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_family_cfg.h (100%) create mode 100644 bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h rename bsp/{ => renesas}/ra6m4-cpk/ra_cfg/fsp_cfg/r_icu_cfg.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_cfg/fsp_cfg/r_ioport_cfg.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_cfg/fsp_cfg/r_sci_uart_cfg.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/SConscript (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/bsp_clock_cfg.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/common_data.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/common_data.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/hal_data.c (97%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/hal_data.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/main.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/pin_data.c (95%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/vector_data.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/ra_gen/vector_data.h (56%) rename bsp/{ => renesas}/ra6m4-cpk/rtconfig.h (100%) rename bsp/{ => renesas}/ra6m4-cpk/rtconfig.py (93%) rename bsp/{ => renesas}/ra6m4-cpk/script/ac6/fsp_keep.via (96%) rename bsp/{ => renesas}/ra6m4-cpk/script/fsp.ld (96%) rename bsp/{ => renesas}/ra6m4-cpk/script/fsp.scat (97%) rename bsp/{ => renesas}/ra6m4-cpk/script/memory_regions.ld (100%) rename bsp/{ => renesas}/ra6m4-cpk/script/memory_regions.scat (100%) rename bsp/{ => renesas}/ra6m4-cpk/src/hal_entry.c (100%) rename bsp/{ => renesas}/ra6m4-cpk/template.uvoptx (80%) rename bsp/{ => renesas}/ra6m4-cpk/template.uvprojx (95%) diff --git a/bsp/ra6m4-cpk/.settings/standalone.prefs b/bsp/ra6m4-cpk/.settings/standalone.prefs deleted file mode 100644 index 62c16e929f..0000000000 --- a/bsp/ra6m4-cpk/.settings/standalone.prefs +++ /dev/null @@ -1,21 +0,0 @@ -#Tue Dec 14 18:35:25 CST 2021 -com.renesas.cdt.ddsc.content/com.renesas.cdt.ddsc.content.defaultlinkerscript=script/fsp.scat -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#3.1.0/all=1957950123,ra/fsp/inc/api/r_ioport_api.h|1390983687,ra/fsp/inc/instances/r_ioport.h|3204787724,ra/fsp/src/r_ioport/r_ioport.c -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_icu\#\#\#\#3.1.0/all=2545672180,ra/fsp/inc/instances/r_icu.h|1906465970,ra/fsp/inc/api/r_external_irq_api.h|3018483678,ra/fsp/src/r_icu/r_icu.c -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#Board\#\#ra6m4_cpk\#\#\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#\#\#3.1.0/all=2308894280,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#3.1.0/all=2920829723,ra/fsp/src/bsp/mcu/all/bsp_guard.c|2247478812,ra/fsp/src/bsp/mcu/all/bsp_module_stop.h|521902797,ra/fsp/src/bsp/mcu/all/bsp_security.h|2966752275,ra/fsp/src/bsp/mcu/all/bsp_delay.c|2977689308,ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h|1982083345,ra/fsp/src/bsp/mcu/all/bsp_security.c|1390983687,ra/fsp/inc/instances/r_ioport.h|1615019982,ra/fsp/src/bsp/mcu/all/bsp_sbrk.c|4191472725,ra/fsp/inc/fsp_version.h|496115995,ra/fsp/src/bsp/mcu/all/bsp_register_protection.c|905231975,ra/fsp/src/bsp/mcu/all/bsp_clocks.c|3983299396,ra/fsp/src/bsp/mcu/all/bsp_delay.h|1868795951,ra/fsp/inc/fsp_features.h|3366593968,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h|568600546,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c|3098075304,ra/fsp/src/bsp/mcu/all/bsp_clocks.h|1552630912,ra/fsp/src/bsp/mcu/all/bsp_guard.h|2906400,ra/fsp/src/bsp/mcu/all/bsp_common.c|1957950123,ra/fsp/inc/api/r_ioport_api.h|1630997354,ra/fsp/src/bsp/mcu/all/bsp_irq.c|731782070,ra/fsp/src/bsp/mcu/all/bsp_irq.h|400573940,ra/fsp/src/bsp/mcu/all/bsp_register_protection.h|1222394411,ra/fsp/src/bsp/mcu/all/bsp_io.c|3520119047,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h|2556589544,ra/fsp/src/bsp/mcu/all/bsp_group_irq.c|1992062042,ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h|3590501432,ra/fsp/src/bsp/mcu/all/bsp_io.h|3581546608,ra/fsp/inc/fsp_common_api.h|3984836408,ra/fsp/src/bsp/mcu/all/bsp_group_irq.h|2308894280,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h|2006974055,ra/fsp/inc/api/bsp_api.h|3819230577,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c|2812024316,ra/fsp/src/bsp/mcu/all/bsp_common.h|3131094294,ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c -com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#CoreM\#\#\#\#5.7.0+fsp.3.1.0/libraries= -com.renesas.cdt.ddsc.settingseditor/com.renesas.cdt.ddsc.settingseditor.active_page=SWPConfigurator -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_icu\#\#\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#R7FA6M4AF3CFB\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#CoreM\#\#\#\#5.7.0+fsp.3.1.0/all=2491522803,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h|637879414,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h|377628369,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h|2686445441,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h|2333906976,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h|546157604,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h|4005730526,ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h|1017116116,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h|1562896660,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h|4231934849,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h|2635219934,ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h|4290386133,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h|3589068132,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h|1078551279,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h|3007265674,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h|1441545198,ra/arm/CMSIS_5/LICENSE.txt|3021372151,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h|3602366610,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h|2748964184,ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h|1372010515,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h|3779323067,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h|1536854638,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h|206980015,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h|3442821435,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h|2327633156,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h|2024281644,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h|2851112248,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h|1745843273,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#3.1.0/all=2349328507,ra/fsp/src/r_sci_uart/r_sci_uart.c|853178775,ra/fsp/inc/api/r_uart_api.h|1610456547,ra/fsp/inc/api/r_transfer_api.h|1672784957,ra/fsp/inc/instances/r_sci_uart.h -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#fsp\#\#\#\#3.1.0/all=3852442662,ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h|2347061782,ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h|3571093944,ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#3.1.0/libraries= -com.renesas.cdt.ddsc.threads.configurator/collapse/module.driver.uart_on_sci_uart.813326093=false -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#Board\#\#ra6m4_cpk\#\#\#\#3.1.0/all=3559227370,ra/board/ra6m4_cpk/board_init.c|3843040667,ra/board/ra6m4_cpk/board_leds.h|2525887392,ra/board/ra6m4_cpk/board_ethernet_phy.h|2967196421,ra/board/ra6m4_cpk/board_init.h|3938710240,ra/board/ra6m4_cpk/board_leds.c|3343992478,ra/board/ra6m4_cpk/board.h -com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#fsp\#\#\#\#3.1.0/libraries= diff --git a/bsp/ra6m4-cpk/docs/picture/fsp_version.png b/bsp/ra6m4-cpk/docs/picture/fsp_version.png deleted file mode 100644 index 4dbaca012250f7816d3f802d871a6bcfc5607a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13749 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 diff --git a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h b/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h deleted file mode 100644 index 4b27870753..0000000000 --- a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h +++ /dev/null @@ -1,116 +0,0 @@ -/* generated configuration header file - do not edit */ -#ifndef BSP_PIN_CFG_H_ -#define BSP_PIN_CFG_H_ -#include "r_ioport.h" -#define ARDUINO_AN00 (IOPORT_PORT_00_PIN_00) -#define ARDUINO_AN01 (IOPORT_PORT_00_PIN_01) -#define ARDUINO_AN02 (IOPORT_PORT_00_PIN_02) -#define ARDUINO_AN03 (IOPORT_PORT_00_PIN_03) -#define ARDUINO_AN04 (IOPORT_PORT_00_PIN_04) -#define ARDUINO_AN05 (IOPORT_PORT_00_PIN_05) -#define PMODA_IRQ11 (IOPORT_PORT_00_PIN_06) -#define J4_PIN23 (IOPORT_PORT_00_PIN_07) -#define PMODA_IO1 (IOPORT_PORT_00_PIN_08) -#define J4_PIN26 (IOPORT_PORT_00_PIN_09) -#define PMODA_IO2 (IOPORT_PORT_00_PIN_14) -#define PMODA_IO3 (IOPORT_PORT_00_PIN_15) -#define J1_PIN1 (IOPORT_PORT_01_PIN_00) -#define J2_PIN4 (IOPORT_PORT_01_PIN_01) -#define J2_PIN6 (IOPORT_PORT_01_PIN_02) -#define J1_PIN29 (IOPORT_PORT_01_PIN_03) -#define J3_PIN39 (IOPORT_PORT_01_PIN_04) -#define SW1 (IOPORT_PORT_01_PIN_05) -#define LED3 (IOPORT_PORT_01_PIN_06) -#define J3_PIN37 (IOPORT_PORT_01_PIN_07) -#define DEBUG_SWDIO_TMS (IOPORT_PORT_01_PIN_08) -#define DEBUG_TDO (IOPORT_PORT_01_PIN_09) -#define DEBUG_TDI (IOPORT_PORT_01_PIN_10) -#define J1_PIN33 (IOPORT_PORT_01_PIN_11) -#define J3_PIN15 (IOPORT_PORT_01_PIN_12) -#define J3_PIN16 (IOPORT_PORT_01_PIN_13) -#define J3_PIN17 (IOPORT_PORT_01_PIN_14) -#define J3_PIN18 (IOPORT_PORT_01_PIN_15) -#define NMI (IOPORT_PORT_02_PIN_00) -#define MD (IOPORT_PORT_02_PIN_01) -#define PMODA_MISO_RXD9 (IOPORT_PORT_02_PIN_02) -#define PMODA_MOSI_TXD9 (IOPORT_PORT_02_PIN_03) -#define PMODA_RSPCK (IOPORT_PORT_02_PIN_04) -#define PMODA_SSL_CTS9 (IOPORT_PORT_02_PIN_05) -#define J1_PIN3 (IOPORT_PORT_02_PIN_06) -#define J1_PIN8 (IOPORT_PORT_02_PIN_07) -#define J1_PIN32 (IOPORT_PORT_02_PIN_08) -#define J1_PIN30 (IOPORT_PORT_02_PIN_09) -#define J1_PIN28 (IOPORT_PORT_02_PIN_10) -#define J1_PIN22 (IOPORT_PORT_02_PIN_11) -#define EXTAL (IOPORT_PORT_02_PIN_12) -#define XTAL (IOPORT_PORT_02_PIN_13) -#define J1_PIN20 (IOPORT_PORT_02_PIN_14) -#define DEBUG_SWDCLK_TCK (IOPORT_PORT_03_PIN_00) -#define J1_PIN11 (IOPORT_PORT_03_PIN_01) -#define J3_PIN14 (IOPORT_PORT_03_PIN_02) -#define J3_PIN13 (IOPORT_PORT_03_PIN_03) -#define J3_PIN12 (IOPORT_PORT_03_PIN_04) -#define J3_PIN11 (IOPORT_PORT_03_PIN_05) -#define J3_PIN10 (IOPORT_PORT_03_PIN_06) -#define J3_PIN9 (IOPORT_PORT_03_PIN_07) -#define J3_PIN8 (IOPORT_PORT_03_PIN_08) -#define J3_PIN7 (IOPORT_PORT_03_PIN_09) -#define J3_PIN6 (IOPORT_PORT_03_PIN_10) -#define J3_PIN5 (IOPORT_PORT_03_PIN_11) -#define J3_PIN4 (IOPORT_PORT_03_PIN_12) -#define J1_PIN14 (IOPORT_PORT_03_PIN_13) -#define J4_PIN13 (IOPORT_PORT_04_PIN_00) -#define J4_PIN11 (IOPORT_PORT_04_PIN_01) -#define J1_PIN27 (IOPORT_PORT_04_PIN_02) -#define J4_PIN2 (IOPORT_PORT_04_PIN_03) -#define J4_PIN4 (IOPORT_PORT_04_PIN_04) -#define J4_PIN6 (IOPORT_PORT_04_PIN_05) -#define J4_PIN8 (IOPORT_PORT_04_PIN_06) -#define USB_VBUS_DETECT (IOPORT_PORT_04_PIN_07) -#define J2_PIN16 (IOPORT_PORT_04_PIN_08) -#define J2_PIN18 (IOPORT_PORT_04_PIN_09) -#define PMODB_MISO_RXD0 (IOPORT_PORT_04_PIN_10) -#define PMODB_MOSI_TXD0 (IOPORT_PORT_04_PIN_11) -#define PMODB_RSPCK (IOPORT_PORT_04_PIN_12) -#define PMODB_SSL_CTS0 (IOPORT_PORT_04_PIN_13) -#define ARDUINO_RST (IOPORT_PORT_04_PIN_14) -#define PMODB_IO1 (IOPORT_PORT_04_PIN_15) -#define USB_VBUS_EN (IOPORT_PORT_05_PIN_00) -#define USB_OC (IOPORT_PORT_05_PIN_01) -#define J4_PIN16 (IOPORT_PORT_05_PIN_02) -#define PMODB_IO2 (IOPORT_PORT_05_PIN_03) -#define PMODB_IO3 (IOPORT_PORT_05_PIN_04) -#define DLS_IRQ14 (IOPORT_PORT_05_PIN_05) -#define PMODB_IRQ15 (IOPORT_PORT_05_PIN_06) -#define J4_PIN24 (IOPORT_PORT_05_PIN_07) -#define DLS_SDA (IOPORT_PORT_05_PIN_11) -#define DLS_SCL (IOPORT_PORT_05_PIN_12) -#define J1_PIN23 (IOPORT_PORT_06_PIN_00) -#define J1_PIN19 (IOPORT_PORT_06_PIN_01) -#define J1_PIN21 (IOPORT_PORT_06_PIN_02) -#define J1_PIN25 (IOPORT_PORT_06_PIN_03) -#define J3_PIN36 (IOPORT_PORT_06_PIN_04) -#define J3_PIN35 (IOPORT_PORT_06_PIN_05) -#define J3_PIN19 (IOPORT_PORT_06_PIN_08) -#define J3_PIN20 (IOPORT_PORT_06_PIN_09) -#define J3_PIN21 (IOPORT_PORT_06_PIN_10) -#define ARDUINO_GPIO_CLK (IOPORT_PORT_06_PIN_11) -#define J3_PIN23 (IOPORT_PORT_06_PIN_12) -#define ARDUINO_TXD (IOPORT_PORT_06_PIN_13) -#define ARDUINO_RXD (IOPORT_PORT_06_PIN_14) -#define J4_PIN9 (IOPORT_PORT_07_PIN_00) -#define J4_PIN7 (IOPORT_PORT_07_PIN_01) -#define J4_PIN5 (IOPORT_PORT_07_PIN_02) -#define J4_PIN3 (IOPORT_PORT_07_PIN_03) -#define J4_PIN1 (IOPORT_PORT_07_PIN_04) -#define J2_PIN39 (IOPORT_PORT_07_PIN_05) -#define J2_PIN7 (IOPORT_PORT_07_PIN_08) -#define J2_PIN11 (IOPORT_PORT_07_PIN_09) -#define J2_PIN13 (IOPORT_PORT_07_PIN_10) -#define J2_PIN15 (IOPORT_PORT_07_PIN_11) -#define ARDUINO_GPIO_PWM (IOPORT_PORT_07_PIN_12) -#define ARDUINO_GPIO (IOPORT_PORT_07_PIN_13) -extern const ioport_cfg_t g_bsp_pin_cfg; /* RA6M4 CPK */ - -void BSP_PinConfigSecurityInit(); -#endif /* BSP_PIN_CFG_H_ */ diff --git a/bsp/ra6m4-cpk/.config b/bsp/renesas/ra6m4-cpk/.config similarity index 100% rename from bsp/ra6m4-cpk/.config rename to bsp/renesas/ra6m4-cpk/.config diff --git a/bsp/ra6m4-cpk/.gitignore b/bsp/renesas/ra6m4-cpk/.gitignore similarity index 100% rename from bsp/ra6m4-cpk/.gitignore rename to bsp/renesas/ra6m4-cpk/.gitignore diff --git a/bsp/ra6m4-cpk/.ignore_format.yml b/bsp/renesas/ra6m4-cpk/.ignore_format.yml similarity index 100% rename from bsp/ra6m4-cpk/.ignore_format.yml rename to bsp/renesas/ra6m4-cpk/.ignore_format.yml diff --git a/bsp/renesas/ra6m4-cpk/.settings/standalone.prefs b/bsp/renesas/ra6m4-cpk/.settings/standalone.prefs new file mode 100644 index 0000000000..e857c7f65b --- /dev/null +++ b/bsp/renesas/ra6m4-cpk/.settings/standalone.prefs @@ -0,0 +1,21 @@ +#Thu Jan 13 17:43:26 CST 2022 +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.content/com.renesas.cdt.ddsc.content.defaultlinkerscript=script/fsp.scat +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#3.5.0/all=3983299396,ra/fsp/src/bsp/mcu/all/bsp_delay.h|4222527282,ra/fsp/src/bsp/mcu/all/bsp_module_stop.h|1499520276,ra/fsp/src/bsp/mcu/all/bsp_group_irq.c|3984836408,ra/fsp/src/bsp/mcu/all/bsp_group_irq.h|546480625,ra/fsp/inc/fsp_common_api.h|3297195641,ra/fsp/inc/fsp_version.h|1615019982,ra/fsp/src/bsp/mcu/all/bsp_sbrk.c|3549961311,ra/fsp/src/bsp/mcu/all/bsp_tfu.h|2386285210,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h|521902797,ra/fsp/src/bsp/mcu/all/bsp_security.h|1904866635,ra/fsp/src/bsp/mcu/all/bsp_clocks.h|1728953905,ra/fsp/inc/fsp_features.h|470601830,ra/fsp/src/bsp/mcu/all/bsp_clocks.c|2977689308,ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h|3606266210,ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c|1353647784,ra/fsp/src/bsp/mcu/all/bsp_delay.c|568600546,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c|400573940,ra/fsp/src/bsp/mcu/all/bsp_register_protection.h|3492513568,ra/fsp/src/bsp/mcu/all/bsp_register_protection.c|460577388,ra/fsp/src/bsp/mcu/all/bsp_io.h|1236602439,ra/fsp/src/bsp/mcu/all/bsp_io.c|2847966430,ra/fsp/src/bsp/mcu/all/bsp_security.c|1992062042,ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h|2425160085,ra/fsp/inc/api/bsp_api.h|1939984091,ra/fsp/inc/api/r_ioport_api.h|2920829723,ra/fsp/src/bsp/mcu/all/bsp_guard.c|3753300083,ra/fsp/src/bsp/mcu/all/bsp_arm_exceptions.h|1552630912,ra/fsp/src/bsp/mcu/all/bsp_guard.h|3998046333,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h|1630997354,ra/fsp/src/bsp/mcu/all/bsp_irq.c|2308894280,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h|2906400,ra/fsp/src/bsp/mcu/all/bsp_common.c|731782070,ra/fsp/src/bsp/mcu/all/bsp_irq.h|2208590403,ra/fsp/inc/instances/r_ioport.h|3255765648,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c|4051445857,ra/fsp/src/bsp/mcu/all/bsp_common.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#\#\#3.5.0/all=2308894280,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.settingseditor/com.renesas.cdt.ddsc.settingseditor.active_page=SWPConfigurator +com.renesas.cdt.ddsc.threads.configurator/collapse/module.driver.uart_on_sci_uart.201575186=false +com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#CoreM\#\#\#\#5.8.0+renesas.0.fsp.3.5.0/all=1044777225,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h|1577199483,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h|1372010515,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h|3007265674,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h|2701379970,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h|1494441116,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h|1441545198,ra/arm/CMSIS_5/LICENSE.txt|3898569239,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h|3911746910,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h|2635219934,ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h|3552689244,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h|2333906976,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h|2381390623,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h|3163610011,ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h|2327633156,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h|4290386133,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h|2718020009,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h|1168186370,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h|1564341101,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h|304461792,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h|3358993753,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h|302860276,ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h|1745843273,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h|2851112248,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h|965562395,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h|364344841,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h|3127123217,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h|1017116116,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#fsp\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#Board\#\#ra6m4_cpk\#\#\#\#3.5.0/all=3938710240,ra/board/ra6m4_cpk/board_leds.c|2967196421,ra/board/ra6m4_cpk/board_init.h|3343992478,ra/board/ra6m4_cpk/board.h|3559227370,ra/board/ra6m4_cpk/board_init.c|2525887392,ra/board/ra6m4_cpk/board_ethernet_phy.h|1768800601,ra/board/ra6m4_cpk/board_leds.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_icu\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#fsp\#\#\#\#3.5.0/all=2347061782,ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h|3301568719,ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h|1009023542,ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#3.5.0/all=1939984091,ra/fsp/inc/api/r_ioport_api.h|3254285722,ra/fsp/src/r_ioport/r_ioport.c|2208590403,ra/fsp/inc/instances/r_ioport.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_icu\#\#\#\#3.5.0/all=1906465970,ra/fsp/inc/api/r_external_irq_api.h|2545672180,ra/fsp/inc/instances/r_icu.h|3018483678,ra/fsp/src/r_icu/r_icu.c +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#3.5.0/all=3094200246,ra/fsp/src/r_sci_uart/r_sci_uart.c|1610456547,ra/fsp/inc/api/r_transfer_api.h|3916852077,ra/fsp/inc/api/r_uart_api.h|1889256766,ra/fsp/inc/instances/r_sci_uart.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#Board\#\#ra6m4_cpk\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#CoreM\#\#\#\#5.8.0+renesas.0.fsp.3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#R7FA6M4AF3CFB\#\#3.5.0/libraries= diff --git a/bsp/ra6m4-cpk/Kconfig b/bsp/renesas/ra6m4-cpk/Kconfig similarity index 100% rename from bsp/ra6m4-cpk/Kconfig rename to bsp/renesas/ra6m4-cpk/Kconfig diff --git a/bsp/ra6m4-cpk/R7FA6M4AF3CFB.pincfg b/bsp/renesas/ra6m4-cpk/R7FA6M4AF3CFB.pincfg similarity index 100% rename from bsp/ra6m4-cpk/R7FA6M4AF3CFB.pincfg rename to bsp/renesas/ra6m4-cpk/R7FA6M4AF3CFB.pincfg diff --git a/bsp/ra6m4-cpk/README.md b/bsp/renesas/ra6m4-cpk/README.md similarity index 85% rename from bsp/ra6m4-cpk/README.md rename to bsp/renesas/ra6m4-cpk/README.md index a072f8667a..f81f105be6 100644 --- a/bsp/ra6m4-cpk/README.md +++ b/bsp/renesas/ra6m4-cpk/README.md @@ -44,8 +44,10 @@ | CAN | 支持 | | | 持续更新中... | | | | **外接外设** | **支持情况** | **备注** | -| WiFi | 支持 | [RW007 WiFi 网络模块](https://github.com/RT-Thread-packages/rw007) | +| WiFi 模块 | 支持 | [RW007 WiFi 网络模块](https://github.com/RT-Thread-packages/rw007) | | 温湿度传感器 | 支持 | [HS300x 温湿度模块](https://github.com/Guozhanxin/hs300x) | +| 室内空气质量传感器 | 支持 | [zmod4410 室内空气质量模块](https://github.com/ShermanShao/zmod4410) | +| 光线传感器 | 支持 | [isl29035光线传感器模块](https://github.com/ShermanShao/isl29035) | ## 使用说明 @@ -65,7 +67,7 @@ **硬件连接** -使用 USB 数据线连接开发板到 PC。使用 USB 转串口工具连接 P613(TXD)、P614(RXD)。 +使用 USB 数据线连接开发板到 PC,使用 J-link 接口下载和 DEBUG 程序。使用 USB 转串口工具连接 UART7:P613(TXD)、P614(RXD)。 **编译下载** @@ -153,16 +155,17 @@ void hal_entry(void) 需要修改瑞萨的 BSP 外设配置或添加新的外设端口,需要用到瑞萨的 [FSP](https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp#document) 配置工具。请务必按照如下步骤完成配置。配置中有任何问题可到[RT-Thread 社区论坛](https://club.rt-thread.org/)中提问。 -1. [下载灵活配置软件包 (FSP) | Renesas](https://www.renesas.com/cn/zh/software-tool/flexible-software-package-fsp),建议使用 FSP 3.1.0 -2. 下载安装完成后,需要添加 CPK-RA6M4 开发板的[官方板级支持包](https://www2.renesas.cn/document/sws/1527176?language=zh&r=1527191) -3. 如何将 BSP 配置包添加到 FSP 中,请参考文档[如何导入板级支持包](https://www2.renesas.cn/document/ppt/1527171?language=zh&r=1527191) +1. [下载灵活配置软件包 (FSP) | Renesas](https://www.renesas.com/cn/zh/software-tool/flexible-software-package-fsp),请使用 FSP 3.5.0 版本 +2. 下载安装完成后,需要添加 CPK-RA6M4 开发板的官方板级支持包 +> 打开[ CPK-RA6M4 开发板详情页](https://www2.renesas.cn/jp/zh/products/microcontrollers-microprocessors/ra-cortex-m-mcus/cpk-ra6m4-evaluation-board),在**“下载”**列表中找到 **”CPK-RA6M4板级支持包“**,点击链接即可下载 +3. 如何将 **”CPK-RA6M4板级支持包“**添加到 FSP 中,请参考文档[如何导入板级支持包](https://www2.renesas.cn/document/ppt/1527171?language=zh&r=1527191) 4. 请查看文档:[使用瑞萨 FSP 配置工具](./docs/使用瑞萨FSP配置工具.md)。在 MDK 中通过添加自定义命名来打开当前工程的 FSP 配置。 **ENV 配置** - 如何使用 ENV 工具:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/#/development-tools/env/env) -此 BSP 默认只开启了 串口7 的功能,如果需使用更多高级功能例如组件、软件包等,需要利用 ENV 工具进行配置。 +此 BSP 默认只开启了 UART7 的功能,如果需使用更多高级功能例如组件、软件包等,需要利用 ENV 工具进行配置。 步骤如下: 1. 在 bsp 下打开 env 工具。 diff --git a/bsp/renesas/ra6m4-cpk/RTE/_Target_1/RTE_Components.h b/bsp/renesas/ra6m4-cpk/RTE/_Target_1/RTE_Components.h new file mode 100644 index 0000000000..d5d79fdd80 --- /dev/null +++ b/bsp/renesas/ra6m4-cpk/RTE/_Target_1/RTE_Components.h @@ -0,0 +1,15 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'project' + * Target: 'Target 1' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/bsp/ra6m4-cpk/SConscript b/bsp/renesas/ra6m4-cpk/SConscript similarity index 100% rename from bsp/ra6m4-cpk/SConscript rename to bsp/renesas/ra6m4-cpk/SConscript diff --git a/bsp/ra6m4-cpk/SConstruct b/bsp/renesas/ra6m4-cpk/SConstruct similarity index 94% rename from bsp/ra6m4-cpk/SConstruct rename to bsp/renesas/ra6m4-cpk/SConstruct index ac79195833..e75d75371b 100644 --- a/bsp/ra6m4-cpk/SConstruct +++ b/bsp/renesas/ra6m4-cpk/SConstruct @@ -5,7 +5,7 @@ import rtconfig if os.getenv('RTT_ROOT'): RTT_ROOT = os.getenv('RTT_ROOT') else: - RTT_ROOT = os.path.normpath(os.getcwd() + '/../..') + RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..') sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] try: diff --git a/bsp/ra6m4-cpk/buildinfo.gpdsc b/bsp/renesas/ra6m4-cpk/buildinfo.gpdsc similarity index 98% rename from bsp/ra6m4-cpk/buildinfo.gpdsc rename to bsp/renesas/ra6m4-cpk/buildinfo.gpdsc index ee8476ee88..90f1f75496 100644 --- a/bsp/ra6m4-cpk/buildinfo.gpdsc +++ b/bsp/renesas/ra6m4-cpk/buildinfo.gpdsc @@ -74,6 +74,7 @@ + @@ -108,11 +109,11 @@ + - diff --git a/bsp/ra6m4-cpk/configuration.xml b/bsp/renesas/ra6m4-cpk/configuration.xml similarity index 93% rename from bsp/ra6m4-cpk/configuration.xml rename to bsp/renesas/ra6m4-cpk/configuration.xml index a20ca08969..c239e5f470 100644 --- a/bsp/ra6m4-cpk/configuration.xml +++ b/bsp/renesas/ra6m4-cpk/configuration.xml @@ -1,5 +1,5 @@ - + @@ -71,6 +71,8 @@ + + @@ -83,6 +85,7 @@ + @@ -131,41 +134,41 @@ - + Board Support Package Common Files - Renesas.RA.3.1.0.pack + Renesas.RA.3.5.0.pack - + I/O Port - Renesas.RA.3.1.0.pack + Renesas.RA.3.5.0.pack - + Arm CMSIS Version 5 - Core (M) - Arm.CMSIS5.5.7.0+fsp.3.1.0.pack + Arm.CMSIS5.5.8.0+renesas.0.fsp.3.5.0.pack - + RA6M4-CPK Board Support Files - Renesas.RA_board_ra6m4_cpk.3.1.0.pack + Renesas.RA_board_ra6m4_cpk.3.5.0.pack - + Board support package for R7FA6M4AF3CFB - Renesas.RA_mcu_ra6m4.3.1.0.pack + Renesas.RA_mcu_ra6m4.3.5.0.pack - + Board support package for RA6M4 - Renesas.RA_mcu_ra6m4.3.1.0.pack + Renesas.RA_mcu_ra6m4.3.5.0.pack - + Board support package for RA6M4 - FSP Data - Renesas.RA_mcu_ra6m4.3.1.0.pack + Renesas.RA_mcu_ra6m4.3.5.0.pack - + SCI UART - Renesas.RA.3.1.0.pack + Renesas.RA.3.5.0.pack - + External Interrupt - Renesas.RA.3.1.0.pack + Renesas.RA.3.5.0.pack @@ -177,8 +180,13 @@ + + + + + - + @@ -200,7 +208,7 @@ - + @@ -211,8 +219,8 @@ - - + + @@ -337,19 +345,16 @@ + + + - - - - - - @@ -363,17 +368,17 @@ - + - + - + - + - + - + @@ -381,8 +386,8 @@ - - + + diff --git a/bsp/ra6m4-cpk/docs/picture/1635909864954.png b/bsp/renesas/ra6m4-cpk/docs/picture/1635909864954.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/1635909864954.png rename to bsp/renesas/ra6m4-cpk/docs/picture/1635909864954.png diff --git a/bsp/ra6m4-cpk/docs/picture/1635929089445.png b/bsp/renesas/ra6m4-cpk/docs/picture/1635929089445.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/1635929089445.png rename to bsp/renesas/ra6m4-cpk/docs/picture/1635929089445.png diff --git a/bsp/ra6m4-cpk/docs/picture/adc_config.png b/bsp/renesas/ra6m4-cpk/docs/picture/adc_config.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/adc_config.png rename to bsp/renesas/ra6m4-cpk/docs/picture/adc_config.png diff --git a/bsp/ra6m4-cpk/docs/picture/adc_config1.png b/bsp/renesas/ra6m4-cpk/docs/picture/adc_config1.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/adc_config1.png rename to bsp/renesas/ra6m4-cpk/docs/picture/adc_config1.png diff --git a/bsp/ra6m4-cpk/docs/picture/adc_dac.png b/bsp/renesas/ra6m4-cpk/docs/picture/adc_dac.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/adc_dac.png rename to bsp/renesas/ra6m4-cpk/docs/picture/adc_dac.png diff --git a/bsp/ra6m4-cpk/docs/picture/add_flash.png b/bsp/renesas/ra6m4-cpk/docs/picture/add_flash.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/add_flash.png rename to bsp/renesas/ra6m4-cpk/docs/picture/add_flash.png diff --git a/bsp/ra6m4-cpk/docs/picture/add_gpt1.png b/bsp/renesas/ra6m4-cpk/docs/picture/add_gpt1.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/add_gpt1.png rename to bsp/renesas/ra6m4-cpk/docs/picture/add_gpt1.png diff --git a/bsp/ra6m4-cpk/docs/picture/add_gpt2.png b/bsp/renesas/ra6m4-cpk/docs/picture/add_gpt2.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/add_gpt2.png rename to bsp/renesas/ra6m4-cpk/docs/picture/add_gpt2.png diff --git a/bsp/ra6m4-cpk/docs/picture/add_gpt3.png b/bsp/renesas/ra6m4-cpk/docs/picture/add_gpt3.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/add_gpt3.png rename to bsp/renesas/ra6m4-cpk/docs/picture/add_gpt3.png diff --git a/bsp/ra6m4-cpk/docs/picture/can.png b/bsp/renesas/ra6m4-cpk/docs/picture/can.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/can.png rename to bsp/renesas/ra6m4-cpk/docs/picture/can.png diff --git a/bsp/ra6m4-cpk/docs/picture/can_callback.png b/bsp/renesas/ra6m4-cpk/docs/picture/can_callback.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/can_callback.png rename to bsp/renesas/ra6m4-cpk/docs/picture/can_callback.png diff --git a/bsp/ra6m4-cpk/docs/picture/can_menuconfig.png b/bsp/renesas/ra6m4-cpk/docs/picture/can_menuconfig.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/can_menuconfig.png rename to bsp/renesas/ra6m4-cpk/docs/picture/can_menuconfig.png diff --git a/bsp/ra6m4-cpk/docs/picture/config_flash.png b/bsp/renesas/ra6m4-cpk/docs/picture/config_flash.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/config_flash.png rename to bsp/renesas/ra6m4-cpk/docs/picture/config_flash.png diff --git a/bsp/ra6m4-cpk/docs/picture/config_irq4.png b/bsp/renesas/ra6m4-cpk/docs/picture/config_irq4.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/config_irq4.png rename to bsp/renesas/ra6m4-cpk/docs/picture/config_irq4.png diff --git a/bsp/ra6m4-cpk/docs/picture/cpk-ra6m4.png b/bsp/renesas/ra6m4-cpk/docs/picture/cpk-ra6m4.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/cpk-ra6m4.png rename to bsp/renesas/ra6m4-cpk/docs/picture/cpk-ra6m4.png diff --git a/bsp/ra6m4-cpk/docs/picture/customize.png b/bsp/renesas/ra6m4-cpk/docs/picture/customize.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/customize.png rename to bsp/renesas/ra6m4-cpk/docs/picture/customize.png diff --git a/bsp/ra6m4-cpk/docs/picture/dac_config0.png b/bsp/renesas/ra6m4-cpk/docs/picture/dac_config0.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/dac_config0.png rename to bsp/renesas/ra6m4-cpk/docs/picture/dac_config0.png diff --git a/bsp/ra6m4-cpk/docs/picture/dac_config1.png b/bsp/renesas/ra6m4-cpk/docs/picture/dac_config1.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/dac_config1.png rename to bsp/renesas/ra6m4-cpk/docs/picture/dac_config1.png diff --git a/bsp/ra6m4-cpk/docs/picture/dac_config2.png b/bsp/renesas/ra6m4-cpk/docs/picture/dac_config2.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/dac_config2.png rename to bsp/renesas/ra6m4-cpk/docs/picture/dac_config2.png diff --git a/bsp/ra6m4-cpk/docs/picture/dmac_config.png b/bsp/renesas/ra6m4-cpk/docs/picture/dmac_config.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/dmac_config.png rename to bsp/renesas/ra6m4-cpk/docs/picture/dmac_config.png diff --git a/bsp/ra6m4-cpk/docs/picture/dmac_int.png b/bsp/renesas/ra6m4-cpk/docs/picture/dmac_int.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/dmac_int.png rename to bsp/renesas/ra6m4-cpk/docs/picture/dmac_int.png diff --git a/bsp/ra6m4-cpk/docs/picture/drv_rw007.png b/bsp/renesas/ra6m4-cpk/docs/picture/drv_rw007.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/drv_rw007.png rename to bsp/renesas/ra6m4-cpk/docs/picture/drv_rw007.png diff --git a/bsp/ra6m4-cpk/docs/picture/flash_menuconfig.png b/bsp/renesas/ra6m4-cpk/docs/picture/flash_menuconfig.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/flash_menuconfig.png rename to bsp/renesas/ra6m4-cpk/docs/picture/flash_menuconfig.png diff --git a/bsp/renesas/ra6m4-cpk/docs/picture/fsp_version.png b/bsp/renesas/ra6m4-cpk/docs/picture/fsp_version.png new file mode 100644 index 0000000000000000000000000000000000000000..4bcdffff4f9b6b8cfe1381d656dc014198d88b28 GIT binary patch literal 5949 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 CHn2JX literal 0 HcmV?d00001 diff --git a/bsp/ra6m4-cpk/docs/picture/gpio.png b/bsp/renesas/ra6m4-cpk/docs/picture/gpio.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/gpio.png rename to bsp/renesas/ra6m4-cpk/docs/picture/gpio.png diff --git a/bsp/ra6m4-cpk/docs/picture/gpio_irq.png b/bsp/renesas/ra6m4-cpk/docs/picture/gpio_irq.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/gpio_irq.png rename to bsp/renesas/ra6m4-cpk/docs/picture/gpio_irq.png diff --git a/bsp/ra6m4-cpk/docs/picture/icu_stack.png b/bsp/renesas/ra6m4-cpk/docs/picture/icu_stack.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/icu_stack.png rename to bsp/renesas/ra6m4-cpk/docs/picture/icu_stack.png diff --git a/bsp/ra6m4-cpk/docs/picture/import_changes.png b/bsp/renesas/ra6m4-cpk/docs/picture/import_changes.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/import_changes.png rename to bsp/renesas/ra6m4-cpk/docs/picture/import_changes.png diff --git a/bsp/ra6m4-cpk/docs/picture/irq0.png b/bsp/renesas/ra6m4-cpk/docs/picture/irq0.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/irq0.png rename to bsp/renesas/ra6m4-cpk/docs/picture/irq0.png diff --git a/bsp/ra6m4-cpk/docs/picture/irq1.png b/bsp/renesas/ra6m4-cpk/docs/picture/irq1.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/irq1.png rename to bsp/renesas/ra6m4-cpk/docs/picture/irq1.png diff --git a/bsp/ra6m4-cpk/docs/picture/jflash.png b/bsp/renesas/ra6m4-cpk/docs/picture/jflash.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/jflash.png rename to bsp/renesas/ra6m4-cpk/docs/picture/jflash.png diff --git a/bsp/ra6m4-cpk/docs/picture/jflash1.png b/bsp/renesas/ra6m4-cpk/docs/picture/jflash1.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/jflash1.png rename to bsp/renesas/ra6m4-cpk/docs/picture/jflash1.png diff --git a/bsp/ra6m4-cpk/docs/picture/jflash2.png b/bsp/renesas/ra6m4-cpk/docs/picture/jflash2.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/jflash2.png rename to bsp/renesas/ra6m4-cpk/docs/picture/jflash2.png diff --git a/bsp/ra6m4-cpk/docs/picture/jflash3.png b/bsp/renesas/ra6m4-cpk/docs/picture/jflash3.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/jflash3.png rename to bsp/renesas/ra6m4-cpk/docs/picture/jflash3.png diff --git a/bsp/ra6m4-cpk/docs/picture/openrasc.png b/bsp/renesas/ra6m4-cpk/docs/picture/openrasc.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/openrasc.png rename to bsp/renesas/ra6m4-cpk/docs/picture/openrasc.png diff --git a/bsp/ra6m4-cpk/docs/picture/p105.png b/bsp/renesas/ra6m4-cpk/docs/picture/p105.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/p105.png rename to bsp/renesas/ra6m4-cpk/docs/picture/p105.png diff --git a/bsp/ra6m4-cpk/docs/picture/pwm_env.png b/bsp/renesas/ra6m4-cpk/docs/picture/pwm_env.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/pwm_env.png rename to bsp/renesas/ra6m4-cpk/docs/picture/pwm_env.png diff --git a/bsp/ra6m4-cpk/docs/picture/rascuart.png b/bsp/renesas/ra6m4-cpk/docs/picture/rascuart.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rascuart.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rascuart.png diff --git a/bsp/ra6m4-cpk/docs/picture/rascuart1.png b/bsp/renesas/ra6m4-cpk/docs/picture/rascuart1.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rascuart1.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rascuart1.png diff --git a/bsp/ra6m4-cpk/docs/picture/readme_faq1.png b/bsp/renesas/ra6m4-cpk/docs/picture/readme_faq1.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/readme_faq1.png rename to bsp/renesas/ra6m4-cpk/docs/picture/readme_faq1.png diff --git a/bsp/ra6m4-cpk/docs/picture/rtc.png b/bsp/renesas/ra6m4-cpk/docs/picture/rtc.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rtc.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rtc.png diff --git a/bsp/ra6m4-cpk/docs/picture/rtc_config.png b/bsp/renesas/ra6m4-cpk/docs/picture/rtc_config.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rtc_config.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rtc_config.png diff --git a/bsp/ra6m4-cpk/docs/picture/rtc_env.png b/bsp/renesas/ra6m4-cpk/docs/picture/rtc_env.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rtc_env.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rtc_env.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_int.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_int.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_int.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_int.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_mdk.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_mdk.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_mdk.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_mdk.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_mempool.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_mempool.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_mempool.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_mempool.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_netdev.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_netdev.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_netdev.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_netdev.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_ping.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_ping.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_ping.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_ping.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_pkg.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_pkg.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_pkg.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_pkg.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_reset.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_reset.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_reset.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_reset.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_spi.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_spi.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_spi.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_spi.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_spicfg.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_spicfg.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_spicfg.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_spicfg.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_test.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_test.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_test.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_test.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_wifijoin.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_wifijoin.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_wifijoin.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_wifijoin.png diff --git a/bsp/ra6m4-cpk/docs/picture/rw007_wlan.png b/bsp/renesas/ra6m4-cpk/docs/picture/rw007_wlan.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/rw007_wlan.png rename to bsp/renesas/ra6m4-cpk/docs/picture/rw007_wlan.png diff --git a/bsp/ra6m4-cpk/docs/picture/sdhi_config.png b/bsp/renesas/ra6m4-cpk/docs/picture/sdhi_config.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/sdhi_config.png rename to bsp/renesas/ra6m4-cpk/docs/picture/sdhi_config.png diff --git a/bsp/ra6m4-cpk/docs/picture/sdhi_config1.png b/bsp/renesas/ra6m4-cpk/docs/picture/sdhi_config1.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/sdhi_config1.png rename to bsp/renesas/ra6m4-cpk/docs/picture/sdhi_config1.png diff --git a/bsp/ra6m4-cpk/docs/picture/sdhi_env.png b/bsp/renesas/ra6m4-cpk/docs/picture/sdhi_env.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/sdhi_env.png rename to bsp/renesas/ra6m4-cpk/docs/picture/sdhi_env.png diff --git a/bsp/ra6m4-cpk/docs/picture/spi.png b/bsp/renesas/ra6m4-cpk/docs/picture/spi.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/spi.png rename to bsp/renesas/ra6m4-cpk/docs/picture/spi.png diff --git a/bsp/ra6m4-cpk/docs/picture/spi_add.png b/bsp/renesas/ra6m4-cpk/docs/picture/spi_add.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/spi_add.png rename to bsp/renesas/ra6m4-cpk/docs/picture/spi_add.png diff --git a/bsp/ra6m4-cpk/docs/picture/spi_env.png b/bsp/renesas/ra6m4-cpk/docs/picture/spi_env.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/spi_env.png rename to bsp/renesas/ra6m4-cpk/docs/picture/spi_env.png diff --git a/bsp/ra6m4-cpk/docs/picture/spi_pin.png b/bsp/renesas/ra6m4-cpk/docs/picture/spi_pin.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/spi_pin.png rename to bsp/renesas/ra6m4-cpk/docs/picture/spi_pin.png diff --git a/bsp/ra6m4-cpk/docs/picture/wdt.png b/bsp/renesas/ra6m4-cpk/docs/picture/wdt.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/wdt.png rename to bsp/renesas/ra6m4-cpk/docs/picture/wdt.png diff --git a/bsp/ra6m4-cpk/docs/picture/wdt_config.png b/bsp/renesas/ra6m4-cpk/docs/picture/wdt_config.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/wdt_config.png rename to bsp/renesas/ra6m4-cpk/docs/picture/wdt_config.png diff --git a/bsp/ra6m4-cpk/docs/picture/wdt_env.png b/bsp/renesas/ra6m4-cpk/docs/picture/wdt_env.png similarity index 100% rename from bsp/ra6m4-cpk/docs/picture/wdt_env.png rename to bsp/renesas/ra6m4-cpk/docs/picture/wdt_env.png diff --git a/bsp/ra6m4-cpk/docs/使用瑞萨FSP配置工具.md b/bsp/renesas/ra6m4-cpk/docs/使用瑞萨FSP配置工具.md similarity index 95% rename from bsp/ra6m4-cpk/docs/使用瑞萨FSP配置工具.md rename to bsp/renesas/ra6m4-cpk/docs/使用瑞萨FSP配置工具.md index 7ca6129444..41c91fae80 100644 --- a/bsp/ra6m4-cpk/docs/使用瑞萨FSP配置工具.md +++ b/bsp/renesas/ra6m4-cpk/docs/使用瑞萨FSP配置工具.md @@ -4,14 +4,14 @@ 1. 打开 MDK,选择 “Tools -> Customize Tools Menu…” 2. 点击 “new” 图标,添加一条自定义命令: RA Smart Configurator -3. Command 输入工具的安装路径, 点击“…”找到安装路径下的“rasc.exe”文件并选中 (setup_fsp_v3_1_0_rasc_ 安装目录下) +3. Command 输入工具的安装路径, 点击“**…**”找到安装路径下的“rasc.exe”文件并选中 (rasc 安装目录下) 4. Initial Folder 输入参数: $P 5. Arguments 输入参数: --device $D --compiler ARMv6 configuration.xml -6. 点击 OK 保存命令“Tools -> RA smart Configurator” +6. 点击 OK 保存命令 ![img](picture/customize.png) -7. 点击添加的命令打开配置工具:RA Smart Config +7. 点击添加的命令 “Tools -> RA smart Configurator”,**打开配置工具**:RA Smart Config ![image.png](picture/openrasc.png) @@ -24,13 +24,13 @@ > PS:以上相关操作也可以在 FSP 的说明文档中找到。 > -> 文档路径(本地):在 FSP 的安装目录下 .\fsp_documentation\v3.1.0\fsp_user_manual_v3.1.0\index.html +> 文档路径(本地):在 FSP 的安装目录下 .\fsp_documentation\v3.5.0\fsp_user_manual_v3.5.0\index.html > > 文档路径(官网):https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp#document ### FSP 版本选择 -此 BSP 使用 **FSP 3.1.0** 版本为基础制作,优先推荐使用 FSP 3.1.0 版本进行配置修改。 +此 BSP 已更新 **FSP 3.5.0** 版本的支持,请使用 **FSP 3.5.0** 版本进行配置修改。下文中部分操作截图使用的是 FSP 3.1.0 版本,仅供参考。 **使用 RASC 前请务必检查 FSP version 、Board、Device 配置项是否正确。** diff --git a/bsp/ra6m4-cpk/drivers/Kconfig b/bsp/renesas/ra6m4-cpk/drivers/Kconfig similarity index 100% rename from bsp/ra6m4-cpk/drivers/Kconfig rename to bsp/renesas/ra6m4-cpk/drivers/Kconfig diff --git a/bsp/ra6m4-cpk/drivers/SConscript b/bsp/renesas/ra6m4-cpk/drivers/SConscript similarity index 100% rename from bsp/ra6m4-cpk/drivers/SConscript rename to bsp/renesas/ra6m4-cpk/drivers/SConscript diff --git a/bsp/ra6m4-cpk/drivers/board.h b/bsp/renesas/ra6m4-cpk/drivers/board.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/board.h rename to bsp/renesas/ra6m4-cpk/drivers/board.h diff --git a/bsp/ra6m4-cpk/drivers/config/drv_config.h b/bsp/renesas/ra6m4-cpk/drivers/config/drv_config.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/config/drv_config.h rename to bsp/renesas/ra6m4-cpk/drivers/config/drv_config.h diff --git a/bsp/ra6m4-cpk/drivers/config/ra6m4/adc_config.h b/bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/adc_config.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/config/ra6m4/adc_config.h rename to bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/adc_config.h diff --git a/bsp/ra6m4-cpk/drivers/config/ra6m4/can_config.h b/bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/can_config.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/config/ra6m4/can_config.h rename to bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/can_config.h diff --git a/bsp/ra6m4-cpk/drivers/config/ra6m4/dac_config.h b/bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/dac_config.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/config/ra6m4/dac_config.h rename to bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/dac_config.h diff --git a/bsp/ra6m4-cpk/drivers/config/ra6m4/pwm_config.h b/bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/pwm_config.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/config/ra6m4/pwm_config.h rename to bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/pwm_config.h diff --git a/bsp/ra6m4-cpk/drivers/config/ra6m4/uart_config.h b/bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/uart_config.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/config/ra6m4/uart_config.h rename to bsp/renesas/ra6m4-cpk/drivers/config/ra6m4/uart_config.h diff --git a/bsp/ra6m4-cpk/drivers/drv_adc.c b/bsp/renesas/ra6m4-cpk/drivers/drv_adc.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_adc.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_adc.c diff --git a/bsp/ra6m4-cpk/drivers/drv_can.c b/bsp/renesas/ra6m4-cpk/drivers/drv_can.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_can.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_can.c diff --git a/bsp/ra6m4-cpk/drivers/drv_can.h b/bsp/renesas/ra6m4-cpk/drivers/drv_can.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_can.h rename to bsp/renesas/ra6m4-cpk/drivers/drv_can.h diff --git a/bsp/ra6m4-cpk/drivers/drv_common.c b/bsp/renesas/ra6m4-cpk/drivers/drv_common.c similarity index 64% rename from bsp/ra6m4-cpk/drivers/drv_common.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_common.c index aeb5017485..4dadc8d4cb 100644 --- a/bsp/ra6m4-cpk/drivers/drv_common.c +++ b/bsp/renesas/ra6m4-cpk/drivers/drv_common.c @@ -140,3 +140,46 @@ RT_WEAK void rt_hw_board_init() #endif } +FSP_CPP_HEADER +void R_BSP_WarmStart(bsp_warm_start_event_t event); +FSP_CPP_FOOTER + +/*******************************************************************************************************************//** + * This function is called at various points during the startup process. This implementation uses the event that is + * called right before main() to set up the pins. + * + * @param[in] event Where at in the start up process the code is currently at + **********************************************************************************************************************/ +void R_BSP_WarmStart (bsp_warm_start_event_t event) +{ + if (BSP_WARM_START_RESET == event) + { +#if BSP_FEATURE_FLASH_LP_VERSION != 0 + + /* Enable reading from data flash. */ + R_FACI_LP->DFLCTL = 1U; + + /* Would normally have to wait tDSTOP(6us) for data flash recovery. Placing the enable here, before clock and + * C runtime initialization, should negate the need for a delay since the initialization will typically take more than 6us. */ +#endif + } + + if (BSP_WARM_START_POST_C == event) + { + /* C runtime environment and system clocks are setup. */ + + /* Configure pins. */ + R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg); + } +} + +#if BSP_TZ_SECURE_BUILD + +BSP_CMSE_NONSECURE_ENTRY void template_nonsecure_callable (); + +/* Trustzone Secure Projects require at least one nonsecure callable function in order to build (Remove this if it is not required to build). */ +BSP_CMSE_NONSECURE_ENTRY void template_nonsecure_callable () +{ + +} +#endif \ No newline at end of file diff --git a/bsp/ra6m4-cpk/drivers/drv_common.h b/bsp/renesas/ra6m4-cpk/drivers/drv_common.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_common.h rename to bsp/renesas/ra6m4-cpk/drivers/drv_common.h diff --git a/bsp/ra6m4-cpk/drivers/drv_dac.c b/bsp/renesas/ra6m4-cpk/drivers/drv_dac.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_dac.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_dac.c diff --git a/bsp/ra6m4-cpk/drivers/drv_flash.c b/bsp/renesas/ra6m4-cpk/drivers/drv_flash.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_flash.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_flash.c diff --git a/bsp/ra6m4-cpk/drivers/drv_flash.h b/bsp/renesas/ra6m4-cpk/drivers/drv_flash.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_flash.h rename to bsp/renesas/ra6m4-cpk/drivers/drv_flash.h diff --git a/bsp/ra6m4-cpk/drivers/drv_gpio.c b/bsp/renesas/ra6m4-cpk/drivers/drv_gpio.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_gpio.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_gpio.c diff --git a/bsp/ra6m4-cpk/drivers/drv_gpio.h b/bsp/renesas/ra6m4-cpk/drivers/drv_gpio.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_gpio.h rename to bsp/renesas/ra6m4-cpk/drivers/drv_gpio.h diff --git a/bsp/ra6m4-cpk/drivers/drv_pwm.c b/bsp/renesas/ra6m4-cpk/drivers/drv_pwm.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_pwm.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_pwm.c diff --git a/bsp/ra6m4-cpk/drivers/drv_pwm.h b/bsp/renesas/ra6m4-cpk/drivers/drv_pwm.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_pwm.h rename to bsp/renesas/ra6m4-cpk/drivers/drv_pwm.h diff --git a/bsp/ra6m4-cpk/drivers/drv_rtc.c b/bsp/renesas/ra6m4-cpk/drivers/drv_rtc.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_rtc.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_rtc.c diff --git a/bsp/ra6m4-cpk/drivers/drv_soft_i2c.c b/bsp/renesas/ra6m4-cpk/drivers/drv_soft_i2c.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_soft_i2c.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_soft_i2c.c diff --git a/bsp/ra6m4-cpk/drivers/drv_soft_i2c.h b/bsp/renesas/ra6m4-cpk/drivers/drv_soft_i2c.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_soft_i2c.h rename to bsp/renesas/ra6m4-cpk/drivers/drv_soft_i2c.h diff --git a/bsp/ra6m4-cpk/drivers/drv_spi.c b/bsp/renesas/ra6m4-cpk/drivers/drv_spi.c similarity index 92% rename from bsp/ra6m4-cpk/drivers/drv_spi.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_spi.c index 104134f7a6..c57b7048f6 100644 --- a/bsp/ra6m4-cpk/drivers/drv_spi.c +++ b/bsp/renesas/ra6m4-cpk/drivers/drv_spi.c @@ -83,6 +83,19 @@ static rt_err_t ra_wait_complete(rt_event_t event, const char bus_name[RT_NAME_M return -RT_EINVAL; } +static spi_bit_width_t ra_width_shift(rt_uint8_t data_width) +{ + spi_bit_width_t bit_width = SPI_BIT_WIDTH_8_BITS; + if(data_width == 1) + bit_width = SPI_BIT_WIDTH_8_BITS; + else if(data_width == 2) + bit_width = SPI_BIT_WIDTH_16_BITS; + else if(data_width == 4) + bit_width = SPI_BIT_WIDTH_32_BITS; + + return bit_width; +} + static rt_err_t ra_write_message(struct rt_spi_device *device, const void *send_buf, const rt_size_t len) { RT_ASSERT(device != NULL); @@ -92,8 +105,9 @@ static rt_err_t ra_write_message(struct rt_spi_device *device, const void *send_ rt_err_t err = RT_EOK; struct ra_spi *spi_dev = rt_container_of(device->bus, struct ra_spi, bus); + spi_bit_width_t bit_width = ra_width_shift(spi_dev->rt_spi_cfg_t->data_width); /**< send msessage */ - err = R_SPI_Write((spi_ctrl_t *)spi_dev->ra_spi_handle_t->spi_ctrl_t, send_buf, len, spi_dev->rt_spi_cfg_t->data_width); + err = R_SPI_Write((spi_ctrl_t *)spi_dev->ra_spi_handle_t->spi_ctrl_t, send_buf, len, bit_width); if (RT_EOK != err) { LOG_E("%s write failed.", spi_dev->ra_spi_handle_t->bus_name); @@ -113,8 +127,9 @@ static rt_err_t ra_read_message(struct rt_spi_device *device, void *recv_buf, co rt_err_t err = RT_EOK; struct ra_spi *spi_dev = rt_container_of(device->bus, struct ra_spi, bus); + spi_bit_width_t bit_width = ra_width_shift(spi_dev->rt_spi_cfg_t->data_width); /**< receive message */ - err = R_SPI_Read((spi_ctrl_t *)spi_dev->ra_spi_handle_t->spi_ctrl_t, recv_buf, len, spi_dev->rt_spi_cfg_t->data_width); + err = R_SPI_Read((spi_ctrl_t *)spi_dev->ra_spi_handle_t->spi_ctrl_t, recv_buf, len, bit_width); if (RT_EOK != err) { LOG_E("\n%s write failed.\n", spi_dev->ra_spi_handle_t->bus_name); @@ -133,8 +148,9 @@ static rt_err_t ra_write_read_message(struct rt_spi_device *device, struct rt_sp rt_err_t err = RT_EOK; struct ra_spi *spi_dev = rt_container_of(device->bus, struct ra_spi, bus); + spi_bit_width_t bit_width = ra_width_shift(spi_dev->rt_spi_cfg_t->data_width); /**< write and receive message */ - err = R_SPI_WriteRead((spi_ctrl_t *)spi_dev->ra_spi_handle_t->spi_ctrl_t, message->send_buf, message->recv_buf, message->length, spi_dev->rt_spi_cfg_t->data_width); + err = R_SPI_WriteRead((spi_ctrl_t *)spi_dev->ra_spi_handle_t->spi_ctrl_t, message->send_buf, message->recv_buf, message->length, bit_width); if (RT_EOK != err) { LOG_E("%s write and read failed.", spi_dev->ra_spi_handle_t->bus_name); diff --git a/bsp/ra6m4-cpk/drivers/drv_spi.h b/bsp/renesas/ra6m4-cpk/drivers/drv_spi.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_spi.h rename to bsp/renesas/ra6m4-cpk/drivers/drv_spi.h diff --git a/bsp/ra6m4-cpk/drivers/drv_usart_v2.c b/bsp/renesas/ra6m4-cpk/drivers/drv_usart_v2.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_usart_v2.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_usart_v2.c diff --git a/bsp/ra6m4-cpk/drivers/drv_usart_v2.h b/bsp/renesas/ra6m4-cpk/drivers/drv_usart_v2.h similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_usart_v2.h rename to bsp/renesas/ra6m4-cpk/drivers/drv_usart_v2.h diff --git a/bsp/ra6m4-cpk/drivers/drv_wdt.c b/bsp/renesas/ra6m4-cpk/drivers/drv_wdt.c similarity index 100% rename from bsp/ra6m4-cpk/drivers/drv_wdt.c rename to bsp/renesas/ra6m4-cpk/drivers/drv_wdt.c diff --git a/bsp/ra6m4-cpk/ports/SConscript b/bsp/renesas/ra6m4-cpk/ports/SConscript similarity index 100% rename from bsp/ra6m4-cpk/ports/SConscript rename to bsp/renesas/ra6m4-cpk/ports/SConscript diff --git a/bsp/ra6m4-cpk/ports/fal/SConscript b/bsp/renesas/ra6m4-cpk/ports/fal/SConscript similarity index 100% rename from bsp/ra6m4-cpk/ports/fal/SConscript rename to bsp/renesas/ra6m4-cpk/ports/fal/SConscript diff --git a/bsp/ra6m4-cpk/ports/fal/fal_cfg.h b/bsp/renesas/ra6m4-cpk/ports/fal/fal_cfg.h similarity index 100% rename from bsp/ra6m4-cpk/ports/fal/fal_cfg.h rename to bsp/renesas/ra6m4-cpk/ports/fal/fal_cfg.h diff --git a/bsp/ra6m4-cpk/ports/rw007/SConscript b/bsp/renesas/ra6m4-cpk/ports/rw007/SConscript similarity index 100% rename from bsp/ra6m4-cpk/ports/rw007/SConscript rename to bsp/renesas/ra6m4-cpk/ports/rw007/SConscript diff --git a/bsp/ra6m4-cpk/ports/rw007/drv_rw007.c b/bsp/renesas/ra6m4-cpk/ports/rw007/drv_rw007.c similarity index 100% rename from bsp/ra6m4-cpk/ports/rw007/drv_rw007.c rename to bsp/renesas/ra6m4-cpk/ports/rw007/drv_rw007.c diff --git a/bsp/ra6m4-cpk/project.uvoptx b/bsp/renesas/ra6m4-cpk/project.uvoptx similarity index 84% rename from bsp/ra6m4-cpk/project.uvoptx rename to bsp/renesas/ra6m4-cpk/project.uvoptx index 5454093561..9d8de1e521 100644 --- a/bsp/ra6m4-cpk/project.uvoptx +++ b/bsp/renesas/ra6m4-cpk/project.uvoptx @@ -117,10 +117,25 @@ Segger\JL2CM3.dll + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + d + 0 JL2CM3 - -U-O78 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C-1 -JU1 -JI127.0.0.1 -JP0 -RST0 -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD0 -FC800 -FN0 + -U-O78 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD0 -FC800 -FN0 @@ -130,12 +145,12 @@ 0 1 - 0 + 1 0 0 0 0 - 0 + 1 0 0 0 @@ -182,7 +197,7 @@ 0 0 0 - ..\..\libcpu\arm\common\backtrace.c + ..\..\..\libcpu\arm\common\backtrace.c backtrace.c 0 0 @@ -194,8 +209,8 @@ 0 0 0 - ..\..\libcpu\arm\common\div0.c - div0.c + ..\..\..\libcpu\arm\common\showmem.c + showmem.c 0 0 @@ -206,8 +221,8 @@ 0 0 0 - ..\..\libcpu\arm\common\showmem.c - showmem.c + ..\..\..\libcpu\arm\common\div0.c + div0.c 0 0 @@ -218,7 +233,7 @@ 0 0 0 - ..\..\libcpu\arm\cortex-m4\cpuport.c + ..\..\..\libcpu\arm\cortex-m4\cpuport.c cpuport.c 0 0 @@ -230,7 +245,7 @@ 0 0 0 - ..\..\libcpu\arm\cortex-m4\context_rvds.S + ..\..\..\libcpu\arm\cortex-m4\context_rvds.S context_rvds.S 0 0 @@ -250,7 +265,7 @@ 0 0 0 - ..\..\components\drivers\misc\pin.c + ..\..\..\components\drivers\misc\pin.c pin.c 0 0 @@ -262,7 +277,7 @@ 0 0 0 - ..\..\components\drivers\serial\serial_v2.c + ..\..\..\components\drivers\serial\serial_v2.c serial_v2.c 0 0 @@ -274,8 +289,8 @@ 0 0 0 - ..\..\components\drivers\src\waitqueue.c - waitqueue.c + ..\..\..\components\drivers\src\ringbuffer.c + ringbuffer.c 0 0 @@ -286,8 +301,8 @@ 0 0 0 - ..\..\components\drivers\src\dataqueue.c - dataqueue.c + ..\..\..\components\drivers\src\pipe.c + pipe.c 0 0 @@ -298,8 +313,8 @@ 0 0 0 - ..\..\components\drivers\src\ringblk_buf.c - ringblk_buf.c + ..\..\..\components\drivers\src\waitqueue.c + waitqueue.c 0 0 @@ -310,8 +325,8 @@ 0 0 0 - ..\..\components\drivers\src\pipe.c - pipe.c + ..\..\..\components\drivers\src\completion.c + completion.c 0 0 @@ -322,8 +337,8 @@ 0 0 0 - ..\..\components\drivers\src\ringbuffer.c - ringbuffer.c + ..\..\..\components\drivers\src\workqueue.c + workqueue.c 0 0 @@ -334,8 +349,8 @@ 0 0 0 - ..\..\components\drivers\src\workqueue.c - workqueue.c + ..\..\..\components\drivers\src\dataqueue.c + dataqueue.c 0 0 @@ -346,8 +361,8 @@ 0 0 0 - ..\..\components\drivers\src\completion.c - completion.c + ..\..\..\components\drivers\src\ringblk_buf.c + ringblk_buf.c 0 0 @@ -410,7 +425,7 @@ 0 0 0 - ..\..\components\finsh\shell.c + ..\..\..\components\finsh\shell.c shell.c 0 0 @@ -422,7 +437,7 @@ 0 0 0 - ..\..\components\finsh\msh.c + ..\..\..\components\finsh\msh.c msh.c 0 0 @@ -434,7 +449,7 @@ 0 0 0 - ..\..\components\finsh\cmd.c + ..\..\..\components\finsh\cmd.c cmd.c 0 0 @@ -454,8 +469,8 @@ 0 0 0 - ..\..\src\components.c - components.c + ..\..\..\src\idle.c + idle.c 0 0 @@ -466,8 +481,8 @@ 0 0 0 - ..\..\src\irq.c - irq.c + ..\..\..\src\components.c + components.c 0 0 @@ -478,7 +493,7 @@ 0 0 0 - ..\..\src\object.c + ..\..\..\src\object.c object.c 0 0 @@ -490,8 +505,8 @@ 0 0 0 - ..\..\src\idle.c - idle.c + ..\..\..\src\timer.c + timer.c 0 0 @@ -502,8 +517,8 @@ 0 0 0 - ..\..\src\kservice.c - kservice.c + ..\..\..\src\ipc.c + ipc.c 0 0 @@ -514,8 +529,8 @@ 0 0 0 - ..\..\src\clock.c - clock.c + ..\..\..\src\device.c + device.c 0 0 @@ -526,8 +541,8 @@ 0 0 0 - ..\..\src\device.c - device.c + ..\..\..\src\thread.c + thread.c 0 0 @@ -538,8 +553,8 @@ 0 0 0 - ..\..\src\scheduler.c - scheduler.c + ..\..\..\src\kservice.c + kservice.c 0 0 @@ -550,8 +565,8 @@ 0 0 0 - ..\..\src\thread.c - thread.c + ..\..\..\src\mem.c + mem.c 0 0 @@ -562,8 +577,8 @@ 0 0 0 - ..\..\src\mem.c - mem.c + ..\..\..\src\irq.c + irq.c 0 0 @@ -574,8 +589,8 @@ 0 0 0 - ..\..\src\ipc.c - ipc.c + ..\..\..\src\scheduler.c + scheduler.c 0 0 @@ -586,8 +601,8 @@ 0 0 0 - ..\..\src\timer.c - timer.c + ..\..\..\src\clock.c + clock.c 0 0 @@ -606,7 +621,7 @@ 0 0 0 - ..\..\components\libc\compilers\common\time.c + ..\..\..\components\libc\compilers\common\time.c time.c 0 0 @@ -615,7 +630,7 @@ :Renesas RA Smart Configurator:Common Sources - 1 + 0 0 0 0 diff --git a/bsp/ra6m4-cpk/project.uvprojx b/bsp/renesas/ra6m4-cpk/project.uvprojx similarity index 85% rename from bsp/ra6m4-cpk/project.uvprojx rename to bsp/renesas/ra6m4-cpk/project.uvprojx index 9c8734f244..8029e0d36a 100644 --- a/bsp/ra6m4-cpk/project.uvprojx +++ b/bsp/renesas/ra6m4-cpk/project.uvprojx @@ -14,11 +14,11 @@ 1 - R7FA6M4AF + R7FA6M4AF3CFB Renesas Renesas.RA_DFP.3.1.0 https://www2.renesas.eu/Keil_MDK_Packs/ - CPUTYPE("Cortex-M33") FPU2 CLOCK(12000000) ELITTLE + CPUTYPE("Cortex-M33") FPU3(SFPU) DSP TZ CLOCK(12000000) ELITTLE @@ -33,7 +33,7 @@ - $$Device:R7FA6M4AF$SVD\R7FA6M4AF.svd + $$Device:R7FA6M4AF3CFB$SVD\R7FA6M4AF.svd 0 0 @@ -49,7 +49,7 @@ 1 .\Objects\ - ra6m4 + ra6m4_cpk 1 0 1 @@ -82,11 +82,11 @@ 0 0 - + cmd /c "start "Renesas" /w cmd /c ""$Slauncher\rasc_launcher.bat" "3.5.0" --gensecurebundle --compiler ARMv6 "$Pconfiguration.xml" "$L%L" 2> "%%TEMP%%\rasc_stderr.out""" 0 0 - 0 + 2 0 0 @@ -109,10 +109,10 @@ 1 - SARMCM3.DLL - -MPU - DCM.DLL - -pCM4 + + + + SARMCM3.DLL -MPU TCM.DLL @@ -130,7 +130,7 @@ 0 - 0 + 1 0 0 1 @@ -339,7 +339,7 @@ -Wno-license-management -Wuninitialized -Wall -Wmissing-declarations -Wpointer-arith -Waggregate-return -Wfloat-equal SOC_R7FA6M4AF, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND - ..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m4;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;drivers;drivers\config;..\..\components\finsh;.;..\..\include;..\..\components\libc\compilers\common;..\..\components\libc\compilers\common\nogcc;..\..\examples\utest\testcases\kernel + ..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;drivers;drivers\config;..\..\..\components\finsh;.;..\..\..\include;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\nogcc;..\..\..\components\libc\posix\io\poll;..\..\..\examples\utest\testcases\kernel @@ -386,27 +386,27 @@ backtrace.c 1 - ..\..\libcpu\arm\common\backtrace.c - - - div0.c - 1 - ..\..\libcpu\arm\common\div0.c + ..\..\..\libcpu\arm\common\backtrace.c showmem.c 1 - ..\..\libcpu\arm\common\showmem.c + ..\..\..\libcpu\arm\common\showmem.c + + + div0.c + 1 + ..\..\..\libcpu\arm\common\div0.c cpuport.c 1 - ..\..\libcpu\arm\cortex-m4\cpuport.c + ..\..\..\libcpu\arm\cortex-m4\cpuport.c context_rvds.S 2 - ..\..\libcpu\arm\cortex-m4\context_rvds.S + ..\..\..\libcpu\arm\cortex-m4\context_rvds.S @@ -416,47 +416,47 @@ pin.c 1 - ..\..\components\drivers\misc\pin.c + ..\..\..\components\drivers\misc\pin.c serial_v2.c 1 - ..\..\components\drivers\serial\serial_v2.c - - - waitqueue.c - 1 - ..\..\components\drivers\src\waitqueue.c - - - dataqueue.c - 1 - ..\..\components\drivers\src\dataqueue.c - - - ringblk_buf.c - 1 - ..\..\components\drivers\src\ringblk_buf.c - - - pipe.c - 1 - ..\..\components\drivers\src\pipe.c + ..\..\..\components\drivers\serial\serial_v2.c ringbuffer.c 1 - ..\..\components\drivers\src\ringbuffer.c + ..\..\..\components\drivers\src\ringbuffer.c - workqueue.c + pipe.c 1 - ..\..\components\drivers\src\workqueue.c + ..\..\..\components\drivers\src\pipe.c + + + waitqueue.c + 1 + ..\..\..\components\drivers\src\waitqueue.c completion.c 1 - ..\..\components\drivers\src\completion.c + ..\..\..\components\drivers\src\completion.c + + + workqueue.c + 1 + ..\..\..\components\drivers\src\workqueue.c + + + dataqueue.c + 1 + ..\..\..\components\drivers\src\dataqueue.c + + + ringblk_buf.c + 1 + ..\..\..\components\drivers\src\ringblk_buf.c @@ -486,17 +486,17 @@ shell.c 1 - ..\..\components\finsh\shell.c + ..\..\..\components\finsh\shell.c msh.c 1 - ..\..\components\finsh\msh.c + ..\..\..\components\finsh\msh.c cmd.c 1 - ..\..\components\finsh\cmd.c + ..\..\..\components\finsh\cmd.c @@ -504,64 +504,64 @@ Kernel - components.c + idle.c 1 - ..\..\src\components.c + ..\..\..\src\idle.c - irq.c + components.c 1 - ..\..\src\irq.c + ..\..\..\src\components.c object.c 1 - ..\..\src\object.c - - - idle.c - 1 - ..\..\src\idle.c - - - kservice.c - 1 - ..\..\src\kservice.c - - - clock.c - 1 - ..\..\src\clock.c - - - device.c - 1 - ..\..\src\device.c - - - scheduler.c - 1 - ..\..\src\scheduler.c - - - thread.c - 1 - ..\..\src\thread.c - - - mem.c - 1 - ..\..\src\mem.c - - - ipc.c - 1 - ..\..\src\ipc.c + ..\..\..\src\object.c timer.c 1 - ..\..\src\timer.c + ..\..\..\src\timer.c + + + ipc.c + 1 + ..\..\..\src\ipc.c + + + device.c + 1 + ..\..\..\src\device.c + + + thread.c + 1 + ..\..\..\src\thread.c + + + kservice.c + 1 + ..\..\..\src\kservice.c + + + mem.c + 1 + ..\..\..\src\mem.c + + + irq.c + 1 + ..\..\..\src\irq.c + + + scheduler.c + 1 + ..\..\..\src\scheduler.c + + + clock.c + 1 + ..\..\..\src\clock.c @@ -571,7 +571,7 @@ time.c 1 - ..\..\components\libc\compilers\common\time.c + ..\..\..\components\libc\compilers\common\time.c diff --git a/bsp/ra6m4-cpk/ra/SConscript b/bsp/renesas/ra6m4-cpk/ra/SConscript similarity index 100% rename from bsp/ra6m4-cpk/ra/SConscript rename to bsp/renesas/ra6m4-cpk/ra/SConscript diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h similarity index 95% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h index d2c3e2291f..abebc95f94 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h @@ -1,11 +1,11 @@ /****************************************************************************** * @file cachel1_armv7.h * @brief CMSIS Level 1 Cache API for Armv7-M and later - * @version V1.0.0 - * @date 03. March 2020 + * @version V1.0.1 + * @date 19. April 2021 ******************************************************************************/ /* - * Copyright (c) 2020 Arm Limited. All rights reserved. + * Copyright (c) 2020-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -48,7 +48,7 @@ #ifndef __SCB_ICACHE_LINE_SIZE #define __SCB_ICACHE_LINE_SIZE 32U /*!< Cortex-M7 cache line size is fixed to 32 bytes (8 words). See also register SCB_CCSIDR */ -#endif +#endif /** \brief Enable I-Cache @@ -112,7 +112,7 @@ __STATIC_FORCEINLINE void SCB_InvalidateICache (void) \param[in] addr address \param[in] isize size of memory block (in number of bytes) */ -__STATIC_FORCEINLINE void SCB_InvalidateICache_by_Addr (void *addr, int32_t isize) +__STATIC_FORCEINLINE void SCB_InvalidateICache_by_Addr (volatile void *addr, int32_t isize) { #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U) if ( isize > 0 ) { @@ -325,13 +325,13 @@ __STATIC_FORCEINLINE void SCB_CleanInvalidateDCache (void) \param[in] addr address \param[in] dsize size of memory block (in number of bytes) */ -__STATIC_FORCEINLINE void SCB_InvalidateDCache_by_Addr (void *addr, int32_t dsize) +__STATIC_FORCEINLINE void SCB_InvalidateDCache_by_Addr (volatile void *addr, int32_t dsize) { #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) - if ( dsize > 0 ) { + if ( dsize > 0 ) { int32_t op_size = dsize + (((uint32_t)addr) & (__SCB_DCACHE_LINE_SIZE - 1U)); uint32_t op_addr = (uint32_t)addr /* & ~(__SCB_DCACHE_LINE_SIZE - 1U) */; - + __DSB(); do { @@ -355,13 +355,13 @@ __STATIC_FORCEINLINE void SCB_InvalidateDCache_by_Addr (void *addr, int32_t dsiz \param[in] addr address \param[in] dsize size of memory block (in number of bytes) */ -__STATIC_FORCEINLINE void SCB_CleanDCache_by_Addr (uint32_t *addr, int32_t dsize) +__STATIC_FORCEINLINE void SCB_CleanDCache_by_Addr (volatile void *addr, int32_t dsize) { #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) - if ( dsize > 0 ) { + if ( dsize > 0 ) { int32_t op_size = dsize + (((uint32_t)addr) & (__SCB_DCACHE_LINE_SIZE - 1U)); uint32_t op_addr = (uint32_t)addr /* & ~(__SCB_DCACHE_LINE_SIZE - 1U) */; - + __DSB(); do { @@ -385,13 +385,13 @@ __STATIC_FORCEINLINE void SCB_CleanDCache_by_Addr (uint32_t *addr, int32_t dsize \param[in] addr address (aligned to 32-byte boundary) \param[in] dsize size of memory block (in number of bytes) */ -__STATIC_FORCEINLINE void SCB_CleanInvalidateDCache_by_Addr (uint32_t *addr, int32_t dsize) +__STATIC_FORCEINLINE void SCB_CleanInvalidateDCache_by_Addr (volatile void *addr, int32_t dsize) { #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) - if ( dsize > 0 ) { + if ( dsize > 0 ) { int32_t op_size = dsize + (((uint32_t)addr) & (__SCB_DCACHE_LINE_SIZE - 1U)); uint32_t op_addr = (uint32_t)addr /* & ~(__SCB_DCACHE_LINE_SIZE - 1U) */; - + __DSB(); do { diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h similarity index 98% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h index 237ff6ec3e..a955d47139 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file cmsis_armcc.h * @brief CMSIS compiler ARMCC (Arm Compiler 5) header file - * @version V5.2.1 - * @date 26. March 2020 + * @version V5.3.2 + * @date 27. May 2021 ******************************************************************************/ /* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. + * Copyright (c) 2009-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -63,9 +63,9 @@ #ifndef __STATIC_INLINE #define __STATIC_INLINE static __inline #endif -#ifndef __STATIC_FORCEINLINE +#ifndef __STATIC_FORCEINLINE #define __STATIC_FORCEINLINE static __forceinline -#endif +#endif #ifndef __NO_RETURN #define __NO_RETURN __declspec(noreturn) #endif @@ -131,279 +131,6 @@ #define __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section("RESET"))) #endif -/* ########################### Core Function Access ########################### */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions - @{ - */ - -/** - \brief Enable IRQ Interrupts - \details Enables IRQ interrupts by clearing the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -/* intrinsic void __enable_irq(); */ - - -/** - \brief Disable IRQ Interrupts - \details Disables IRQ interrupts by setting the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -/* intrinsic void __disable_irq(); */ - -/** - \brief Get Control Register - \details Returns the content of the Control Register. - \return Control Register value - */ -__STATIC_INLINE uint32_t __get_CONTROL(void) -{ - register uint32_t __regControl __ASM("control"); - return(__regControl); -} - - -/** - \brief Set Control Register - \details Writes the given value to the Control Register. - \param [in] control Control Register value to set - */ -__STATIC_INLINE void __set_CONTROL(uint32_t control) -{ - register uint32_t __regControl __ASM("control"); - __regControl = control; -} - - -/** - \brief Get IPSR Register - \details Returns the content of the IPSR Register. - \return IPSR Register value - */ -__STATIC_INLINE uint32_t __get_IPSR(void) -{ - register uint32_t __regIPSR __ASM("ipsr"); - return(__regIPSR); -} - - -/** - \brief Get APSR Register - \details Returns the content of the APSR Register. - \return APSR Register value - */ -__STATIC_INLINE uint32_t __get_APSR(void) -{ - register uint32_t __regAPSR __ASM("apsr"); - return(__regAPSR); -} - - -/** - \brief Get xPSR Register - \details Returns the content of the xPSR Register. - \return xPSR Register value - */ -__STATIC_INLINE uint32_t __get_xPSR(void) -{ - register uint32_t __regXPSR __ASM("xpsr"); - return(__regXPSR); -} - - -/** - \brief Get Process Stack Pointer - \details Returns the current value of the Process Stack Pointer (PSP). - \return PSP Register value - */ -__STATIC_INLINE uint32_t __get_PSP(void) -{ - register uint32_t __regProcessStackPointer __ASM("psp"); - return(__regProcessStackPointer); -} - - -/** - \brief Set Process Stack Pointer - \details Assigns the given value to the Process Stack Pointer (PSP). - \param [in] topOfProcStack Process Stack Pointer value to set - */ -__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack) -{ - register uint32_t __regProcessStackPointer __ASM("psp"); - __regProcessStackPointer = topOfProcStack; -} - - -/** - \brief Get Main Stack Pointer - \details Returns the current value of the Main Stack Pointer (MSP). - \return MSP Register value - */ -__STATIC_INLINE uint32_t __get_MSP(void) -{ - register uint32_t __regMainStackPointer __ASM("msp"); - return(__regMainStackPointer); -} - - -/** - \brief Set Main Stack Pointer - \details Assigns the given value to the Main Stack Pointer (MSP). - \param [in] topOfMainStack Main Stack Pointer value to set - */ -__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack) -{ - register uint32_t __regMainStackPointer __ASM("msp"); - __regMainStackPointer = topOfMainStack; -} - - -/** - \brief Get Priority Mask - \details Returns the current state of the priority mask bit from the Priority Mask Register. - \return Priority Mask value - */ -__STATIC_INLINE uint32_t __get_PRIMASK(void) -{ - register uint32_t __regPriMask __ASM("primask"); - return(__regPriMask); -} - - -/** - \brief Set Priority Mask - \details Assigns the given value to the Priority Mask Register. - \param [in] priMask Priority Mask - */ -__STATIC_INLINE void __set_PRIMASK(uint32_t priMask) -{ - register uint32_t __regPriMask __ASM("primask"); - __regPriMask = (priMask); -} - - -#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) - -/** - \brief Enable FIQ - \details Enables FIQ interrupts by clearing the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __enable_fault_irq __enable_fiq - - -/** - \brief Disable FIQ - \details Disables FIQ interrupts by setting the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __disable_fault_irq __disable_fiq - - -/** - \brief Get Base Priority - \details Returns the current value of the Base Priority register. - \return Base Priority register value - */ -__STATIC_INLINE uint32_t __get_BASEPRI(void) -{ - register uint32_t __regBasePri __ASM("basepri"); - return(__regBasePri); -} - - -/** - \brief Set Base Priority - \details Assigns the given value to the Base Priority register. - \param [in] basePri Base Priority value to set - */ -__STATIC_INLINE void __set_BASEPRI(uint32_t basePri) -{ - register uint32_t __regBasePri __ASM("basepri"); - __regBasePri = (basePri & 0xFFU); -} - - -/** - \brief Set Base Priority with condition - \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, - or the new value increases the BASEPRI priority level. - \param [in] basePri Base Priority value to set - */ -__STATIC_INLINE void __set_BASEPRI_MAX(uint32_t basePri) -{ - register uint32_t __regBasePriMax __ASM("basepri_max"); - __regBasePriMax = (basePri & 0xFFU); -} - - -/** - \brief Get Fault Mask - \details Returns the current value of the Fault Mask register. - \return Fault Mask register value - */ -__STATIC_INLINE uint32_t __get_FAULTMASK(void) -{ - register uint32_t __regFaultMask __ASM("faultmask"); - return(__regFaultMask); -} - - -/** - \brief Set Fault Mask - \details Assigns the given value to the Fault Mask register. - \param [in] faultMask Fault Mask value to set - */ -__STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask) -{ - register uint32_t __regFaultMask __ASM("faultmask"); - __regFaultMask = (faultMask & (uint32_t)1U); -} - -#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ - - -/** - \brief Get FPSCR - \details Returns the current value of the Floating Point Status/Control register. - \return Floating Point Status/Control register value - */ -__STATIC_INLINE uint32_t __get_FPSCR(void) -{ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) - register uint32_t __regfpscr __ASM("fpscr"); - return(__regfpscr); -#else - return(0U); -#endif -} - - -/** - \brief Set FPSCR - \details Assigns the given value to the Floating Point Status/Control register. - \param [in] fpscr Floating Point Status/Control value to set - */ -__STATIC_INLINE void __set_FPSCR(uint32_t fpscr) -{ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) - register uint32_t __regfpscr __ASM("fpscr"); - __regfpscr = (fpscr); -#else - (void)fpscr; -#endif -} - - -/*@} end of CMSIS_Core_RegAccFunctions */ - - /* ########################## Core Instruction Access ######################### */ /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface Access to dedicated instructions @@ -461,7 +188,7 @@ __STATIC_INLINE void __set_FPSCR(uint32_t fpscr) */ #define __DMB() __dmb(0xF) - + /** \brief Reverse byte order (32 bit) \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. @@ -799,6 +526,280 @@ __attribute__((always_inline)) __STATIC_INLINE uint32_t __USAT(int32_t val, uint /*@}*/ /* end of group CMSIS_Core_InstructionInterface */ +/* ########################### Core Function Access ########################### */ +/** \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions + @{ + */ + +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by clearing special-purpose register PRIMASK. + Can only be executed in Privileged modes. + */ +/* intrinsic void __enable_irq(); */ + + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by setting special-purpose register PRIMASK. + Can only be executed in Privileged modes. + */ +/* intrinsic void __disable_irq(); */ + +/** + \brief Get Control Register + \details Returns the content of the Control Register. + \return Control Register value + */ +__STATIC_INLINE uint32_t __get_CONTROL(void) +{ + register uint32_t __regControl __ASM("control"); + return(__regControl); +} + + +/** + \brief Set Control Register + \details Writes the given value to the Control Register. + \param [in] control Control Register value to set + */ +__STATIC_INLINE void __set_CONTROL(uint32_t control) +{ + register uint32_t __regControl __ASM("control"); + __regControl = control; + __ISB(); +} + + +/** + \brief Get IPSR Register + \details Returns the content of the IPSR Register. + \return IPSR Register value + */ +__STATIC_INLINE uint32_t __get_IPSR(void) +{ + register uint32_t __regIPSR __ASM("ipsr"); + return(__regIPSR); +} + + +/** + \brief Get APSR Register + \details Returns the content of the APSR Register. + \return APSR Register value + */ +__STATIC_INLINE uint32_t __get_APSR(void) +{ + register uint32_t __regAPSR __ASM("apsr"); + return(__regAPSR); +} + + +/** + \brief Get xPSR Register + \details Returns the content of the xPSR Register. + \return xPSR Register value + */ +__STATIC_INLINE uint32_t __get_xPSR(void) +{ + register uint32_t __regXPSR __ASM("xpsr"); + return(__regXPSR); +} + + +/** + \brief Get Process Stack Pointer + \details Returns the current value of the Process Stack Pointer (PSP). + \return PSP Register value + */ +__STATIC_INLINE uint32_t __get_PSP(void) +{ + register uint32_t __regProcessStackPointer __ASM("psp"); + return(__regProcessStackPointer); +} + + +/** + \brief Set Process Stack Pointer + \details Assigns the given value to the Process Stack Pointer (PSP). + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack) +{ + register uint32_t __regProcessStackPointer __ASM("psp"); + __regProcessStackPointer = topOfProcStack; +} + + +/** + \brief Get Main Stack Pointer + \details Returns the current value of the Main Stack Pointer (MSP). + \return MSP Register value + */ +__STATIC_INLINE uint32_t __get_MSP(void) +{ + register uint32_t __regMainStackPointer __ASM("msp"); + return(__regMainStackPointer); +} + + +/** + \brief Set Main Stack Pointer + \details Assigns the given value to the Main Stack Pointer (MSP). + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack) +{ + register uint32_t __regMainStackPointer __ASM("msp"); + __regMainStackPointer = topOfMainStack; +} + + +/** + \brief Get Priority Mask + \details Returns the current state of the priority mask bit from the Priority Mask Register. + \return Priority Mask value + */ +__STATIC_INLINE uint32_t __get_PRIMASK(void) +{ + register uint32_t __regPriMask __ASM("primask"); + return(__regPriMask); +} + + +/** + \brief Set Priority Mask + \details Assigns the given value to the Priority Mask Register. + \param [in] priMask Priority Mask + */ +__STATIC_INLINE void __set_PRIMASK(uint32_t priMask) +{ + register uint32_t __regPriMask __ASM("primask"); + __regPriMask = (priMask); +} + + +#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) + +/** + \brief Enable FIQ + \details Enables FIQ interrupts by clearing special-purpose register FAULTMASK. + Can only be executed in Privileged modes. + */ +#define __enable_fault_irq __enable_fiq + + +/** + \brief Disable FIQ + \details Disables FIQ interrupts by setting special-purpose register FAULTMASK. + Can only be executed in Privileged modes. + */ +#define __disable_fault_irq __disable_fiq + + +/** + \brief Get Base Priority + \details Returns the current value of the Base Priority register. + \return Base Priority register value + */ +__STATIC_INLINE uint32_t __get_BASEPRI(void) +{ + register uint32_t __regBasePri __ASM("basepri"); + return(__regBasePri); +} + + +/** + \brief Set Base Priority + \details Assigns the given value to the Base Priority register. + \param [in] basePri Base Priority value to set + */ +__STATIC_INLINE void __set_BASEPRI(uint32_t basePri) +{ + register uint32_t __regBasePri __ASM("basepri"); + __regBasePri = (basePri & 0xFFU); +} + + +/** + \brief Set Base Priority with condition + \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, + or the new value increases the BASEPRI priority level. + \param [in] basePri Base Priority value to set + */ +__STATIC_INLINE void __set_BASEPRI_MAX(uint32_t basePri) +{ + register uint32_t __regBasePriMax __ASM("basepri_max"); + __regBasePriMax = (basePri & 0xFFU); +} + + +/** + \brief Get Fault Mask + \details Returns the current value of the Fault Mask register. + \return Fault Mask register value + */ +__STATIC_INLINE uint32_t __get_FAULTMASK(void) +{ + register uint32_t __regFaultMask __ASM("faultmask"); + return(__regFaultMask); +} + + +/** + \brief Set Fault Mask + \details Assigns the given value to the Fault Mask register. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask) +{ + register uint32_t __regFaultMask __ASM("faultmask"); + __regFaultMask = (faultMask & (uint32_t)1U); +} + +#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ + + +/** + \brief Get FPSCR + \details Returns the current value of the Floating Point Status/Control register. + \return Floating Point Status/Control register value + */ +__STATIC_INLINE uint32_t __get_FPSCR(void) +{ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) + register uint32_t __regfpscr __ASM("fpscr"); + return(__regfpscr); +#else + return(0U); +#endif +} + + +/** + \brief Set FPSCR + \details Assigns the given value to the Floating Point Status/Control register. + \param [in] fpscr Floating Point Status/Control value to set + */ +__STATIC_INLINE void __set_FPSCR(uint32_t fpscr) +{ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) + register uint32_t __regfpscr __ASM("fpscr"); + __regfpscr = (fpscr); +#else + (void)fpscr; +#endif +} + + +/*@} end of CMSIS_Core_RegAccFunctions */ + + /* ################### Compiler specific Intrinsics ########################### */ /** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics Access to dedicated SIMD instructions @@ -878,6 +879,8 @@ __attribute__((always_inline)) __STATIC_INLINE uint32_t __USAT(int32_t val, uint #define __SXTB16_RORn(ARG1, ARG2) __SXTB16(__ROR(ARG1, ARG2)) +#define __SXTAB16_RORn(ARG1, ARG2, ARG3) __SXTAB16(ARG1, __ROR(ARG2, ARG3)) + #endif /* ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */ /*@} end of group CMSIS_SIMD_intrinsics */ diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h similarity index 97% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h index 90de9dbf8f..6911417747 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file cmsis_armclang.h * @brief CMSIS compiler armclang (Arm Compiler 6) header file - * @version V5.3.1 - * @date 26. March 2020 + * @version V5.4.3 + * @date 27. May 2021 ******************************************************************************/ /* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. + * Copyright (c) 2009-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -29,10 +29,6 @@ #pragma clang system_header /* treat file as system include file */ -#ifndef __ARM_COMPAT_H -#include /* Compatibility header for Arm Compiler 5 intrinsics */ -#endif - /* CMSIS compiler specific defines */ #ifndef __ASM #define __ASM __asm @@ -136,676 +132,26 @@ #define __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section("RESET"))) #endif -/* ########################### Core Function Access ########################### */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions - @{ - */ +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +#ifndef __STACK_SEAL +#define __STACK_SEAL Image$$STACKSEAL$$ZI$$Base +#endif -/** - \brief Enable IRQ Interrupts - \details Enables IRQ interrupts by clearing the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -/* intrinsic void __enable_irq(); see arm_compat.h */ +#ifndef __TZ_STACK_SEAL_SIZE +#define __TZ_STACK_SEAL_SIZE 8U +#endif - -/** - \brief Disable IRQ Interrupts - \details Disables IRQ interrupts by setting the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -/* intrinsic void __disable_irq(); see arm_compat.h */ - - -/** - \brief Get Control Register - \details Returns the content of the Control Register. - \return Control Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CONTROL(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, control" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Control Register (non-secure) - \details Returns the content of the non-secure Control Register when in secure mode. - \return non-secure Control Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); - return(result); -} +#ifndef __TZ_STACK_SEAL_VALUE +#define __TZ_STACK_SEAL_VALUE 0xFEF5EDA5FEF5EDA5ULL #endif -/** - \brief Set Control Register - \details Writes the given value to the Control Register. - \param [in] control Control Register value to set - */ -__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) -{ - __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Control Register (non-secure) - \details Writes the given value to the non-secure Control Register when in secure state. - \param [in] control Control Register value to set - */ -__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) -{ - __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); +__STATIC_FORCEINLINE void __TZ_set_STACKSEAL_S (uint32_t* stackTop) { + *((uint64_t *)stackTop) = __TZ_STACK_SEAL_VALUE; } #endif -/** - \brief Get IPSR Register - \details Returns the content of the IPSR Register. - \return IPSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_IPSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); - return(result); -} - - -/** - \brief Get APSR Register - \details Returns the content of the APSR Register. - \return APSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_APSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, apsr" : "=r" (result) ); - return(result); -} - - -/** - \brief Get xPSR Register - \details Returns the content of the xPSR Register. - \return xPSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_xPSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); - return(result); -} - - -/** - \brief Get Process Stack Pointer - \details Returns the current value of the Process Stack Pointer (PSP). - \return PSP Register value - */ -__STATIC_FORCEINLINE uint32_t __get_PSP(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, psp" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Process Stack Pointer (non-secure) - \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state. - \return PSP Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Process Stack Pointer - \details Assigns the given value to the Process Stack Pointer (PSP). - \param [in] topOfProcStack Process Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) -{ - __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Process Stack Pointer (non-secure) - \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state. - \param [in] topOfProcStack Process Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) -{ - __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); -} -#endif - - -/** - \brief Get Main Stack Pointer - \details Returns the current value of the Main Stack Pointer (MSP). - \return MSP Register value - */ -__STATIC_FORCEINLINE uint32_t __get_MSP(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, msp" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Main Stack Pointer (non-secure) - \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state. - \return MSP Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Main Stack Pointer - \details Assigns the given value to the Main Stack Pointer (MSP). - \param [in] topOfMainStack Main Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) -{ - __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Main Stack Pointer (non-secure) - \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. - \param [in] topOfMainStack Main Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) -{ - __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); -} -#endif - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Stack Pointer (non-secure) - \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. - \return SP Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); - return(result); -} - - -/** - \brief Set Stack Pointer (non-secure) - \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. - \param [in] topOfStack Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) -{ - __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); -} -#endif - - -/** - \brief Get Priority Mask - \details Returns the current state of the priority mask bit from the Priority Mask Register. - \return Priority Mask value - */ -__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, primask" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Priority Mask (non-secure) - \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state. - \return Priority Mask value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, primask_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Priority Mask - \details Assigns the given value to the Priority Mask Register. - \param [in] priMask Priority Mask - */ -__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) -{ - __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Priority Mask (non-secure) - \details Assigns the given value to the non-secure Priority Mask Register when in secure state. - \param [in] priMask Priority Mask - */ -__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) -{ - __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); -} -#endif - - -#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_8_1M_MAIN__) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) -/** - \brief Enable FIQ - \details Enables FIQ interrupts by clearing the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __enable_fault_irq __enable_fiq /* see arm_compat.h */ - - -/** - \brief Disable FIQ - \details Disables FIQ interrupts by setting the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __disable_fault_irq __disable_fiq /* see arm_compat.h */ - - -/** - \brief Get Base Priority - \details Returns the current value of the Base Priority register. - \return Base Priority register value - */ -__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, basepri" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Base Priority (non-secure) - \details Returns the current value of the non-secure Base Priority register when in secure state. - \return Base Priority register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Base Priority - \details Assigns the given value to the Base Priority register. - \param [in] basePri Base Priority value to set - */ -__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) -{ - __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Base Priority (non-secure) - \details Assigns the given value to the non-secure Base Priority register when in secure state. - \param [in] basePri Base Priority value to set - */ -__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) -{ - __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); -} -#endif - - -/** - \brief Set Base Priority with condition - \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, - or the new value increases the BASEPRI priority level. - \param [in] basePri Base Priority value to set - */ -__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) -{ - __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); -} - - -/** - \brief Get Fault Mask - \details Returns the current value of the Fault Mask register. - \return Fault Mask register value - */ -__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Fault Mask (non-secure) - \details Returns the current value of the non-secure Fault Mask register when in secure state. - \return Fault Mask register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Fault Mask - \details Assigns the given value to the Fault Mask register. - \param [in] faultMask Fault Mask value to set - */ -__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) -{ - __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Fault Mask (non-secure) - \details Assigns the given value to the non-secure Fault Mask register when in secure state. - \param [in] faultMask Fault Mask value to set - */ -__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) -{ - __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); -} -#endif - -#endif /* ((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_8_1M_MAIN__) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) */ - - -#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) - -/** - \brief Get Process Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always in non-secure - mode. - - \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). - \return PSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) -{ -#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, psplim" : "=r" (result) ); - return result; -#endif -} - -#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Process Stack Pointer Limit (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always in non-secure - mode. - - \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. - \return PSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) -{ -#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) ) - // without main extensions, the non-secure PSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); - return result; -#endif -} -#endif - - -/** - \brief Set Process Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored in non-secure - mode. - - \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). - \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set - */ -__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) -{ -#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - (void)ProcStackPtrLimit; -#else - __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); -#endif -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Process Stack Pointer (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored in non-secure - mode. - - \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. - \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set - */ -__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) -{ -#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) ) - // without main extensions, the non-secure PSPLIM is RAZ/WI - (void)ProcStackPtrLimit; -#else - __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); -#endif -} -#endif - - -/** - \brief Get Main Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always. - - \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). - \return MSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) -{ -#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, msplim" : "=r" (result) ); - return result; -#endif -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Main Stack Pointer Limit (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always. - - \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state. - \return MSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) -{ -#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) ) - // without main extensions, the non-secure MSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); - return result; -#endif -} -#endif - - -/** - \brief Set Main Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored. - - \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). - \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set - */ -__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) -{ -#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - (void)MainStackPtrLimit; -#else - __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); -#endif -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Main Stack Pointer Limit (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored. - - \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state. - \param [in] MainStackPtrLimit Main Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) -{ -#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) ) - // without main extensions, the non-secure MSPLIM is RAZ/WI - (void)MainStackPtrLimit; -#else - __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); -#endif -} -#endif - -#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) */ - -/** - \brief Get FPSCR - \details Returns the current value of the Floating Point Status/Control register. - \return Floating Point Status/Control register value - */ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) -#define __get_FPSCR (uint32_t)__builtin_arm_get_fpscr -#else -#define __get_FPSCR() ((uint32_t)0U) -#endif - -/** - \brief Set FPSCR - \details Assigns the given value to the Floating Point Status/Control register. - \param [in] fpscr Floating Point Status/Control value to set - */ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) -#define __set_FPSCR __builtin_arm_set_fpscr -#else -#define __set_FPSCR(x) ((void)(x)) -#endif - - -/*@} end of CMSIS_Core_RegAccFunctions */ - - /* ########################## Core Instruction Access ######################### */ /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface Access to dedicated instructions @@ -1228,7 +574,7 @@ __STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat) #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) || \ (defined (__ARM_ARCH_8_1M_MAIN__) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) - + /** \brief Load-Acquire (8 bit) \details Executes a LDAB instruction for 8 bit value. @@ -1376,6 +722,694 @@ __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr) /*@}*/ /* end of group CMSIS_Core_InstructionInterface */ +/* ########################### Core Function Access ########################### */ +/** \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions + @{ + */ + +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by clearing special-purpose register PRIMASK. + Can only be executed in Privileged modes. + */ +#ifndef __ARM_COMPAT_H +__STATIC_FORCEINLINE void __enable_irq(void) +{ + __ASM volatile ("cpsie i" : : : "memory"); +} +#endif + + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by setting special-purpose register PRIMASK. + Can only be executed in Privileged modes. + */ +#ifndef __ARM_COMPAT_H +__STATIC_FORCEINLINE void __disable_irq(void) +{ + __ASM volatile ("cpsid i" : : : "memory"); +} +#endif + + +/** + \brief Get Control Register + \details Returns the content of the Control Register. + \return Control Register value + */ +__STATIC_FORCEINLINE uint32_t __get_CONTROL(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Control Register (non-secure) + \details Returns the content of the non-secure Control Register when in secure mode. + \return non-secure Control Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Control Register + \details Writes the given value to the Control Register. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) +{ + __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); + __ISB(); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Control Register (non-secure) + \details Writes the given value to the non-secure Control Register when in secure state. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) +{ + __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); + __ISB(); +} +#endif + + +/** + \brief Get IPSR Register + \details Returns the content of the IPSR Register. + \return IPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_IPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get APSR Register + \details Returns the content of the APSR Register. + \return APSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_APSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, apsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get xPSR Register + \details Returns the content of the xPSR Register. + \return xPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_xPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get Process Stack Pointer + \details Returns the current value of the Process Stack Pointer (PSP). + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer (non-secure) + \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state. + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Process Stack Pointer + \details Assigns the given value to the Process Stack Pointer (PSP). + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state. + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); +} +#endif + + +/** + \brief Get Main Stack Pointer + \details Returns the current value of the Main Stack Pointer (MSP). + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer (non-secure) + \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state. + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Main Stack Pointer + \details Assigns the given value to the Main Stack Pointer (MSP). + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); +} +#endif + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Stack Pointer (non-secure) + \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. + \return SP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); + return(result); +} + + +/** + \brief Set Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. + \param [in] topOfStack Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) +{ + __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); +} +#endif + + +/** + \brief Get Priority Mask + \details Returns the current state of the priority mask bit from the Priority Mask Register. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Priority Mask (non-secure) + \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Priority Mask + \details Assigns the given value to the Priority Mask Register. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) +{ + __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Priority Mask (non-secure) + \details Assigns the given value to the non-secure Priority Mask Register when in secure state. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) +{ + __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); +} +#endif + + +#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_8_1M_MAIN__) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) +/** + \brief Enable FIQ + \details Enables FIQ interrupts by clearing special-purpose register FAULTMASK. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __enable_fault_irq(void) +{ + __ASM volatile ("cpsie f" : : : "memory"); +} + + +/** + \brief Disable FIQ + \details Disables FIQ interrupts by setting special-purpose register FAULTMASK. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __disable_fault_irq(void) +{ + __ASM volatile ("cpsid f" : : : "memory"); +} + + +/** + \brief Get Base Priority + \details Returns the current value of the Base Priority register. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Base Priority (non-secure) + \details Returns the current value of the non-secure Base Priority register when in secure state. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Base Priority + \details Assigns the given value to the Base Priority register. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) +{ + __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Base Priority (non-secure) + \details Assigns the given value to the non-secure Base Priority register when in secure state. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); +} +#endif + + +/** + \brief Set Base Priority with condition + \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, + or the new value increases the BASEPRI priority level. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); +} + + +/** + \brief Get Fault Mask + \details Returns the current value of the Fault Mask register. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Fault Mask (non-secure) + \details Returns the current value of the non-secure Fault Mask register when in secure state. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Fault Mask + \details Assigns the given value to the Fault Mask register. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Fault Mask (non-secure) + \details Assigns the given value to the non-secure Fault Mask register when in secure state. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); +} +#endif + +#endif /* ((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_8_1M_MAIN__) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) */ + + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) + +/** + \brief Get Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) +{ +#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim" : "=r" (result) ); + return result; +#endif +} + +#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) +{ +#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) ) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) +{ +#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) +{ +#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) ) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); +#endif +} +#endif + + +/** + \brief Get Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) +{ +#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim" : "=r" (result) ); + return result; +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state. + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) +{ +#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) ) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). + \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) +{ +#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state. + \param [in] MainStackPtrLimit Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) +{ +#if (!((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) ) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); +#endif +} +#endif + +#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) || \ + (defined (__ARM_ARCH_8_1M_MAIN__) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) */ + +/** + \brief Get FPSCR + \details Returns the current value of the Floating Point Status/Control register. + \return Floating Point Status/Control register value + */ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#define __get_FPSCR (uint32_t)__builtin_arm_get_fpscr +#else +#define __get_FPSCR() ((uint32_t)0U) +#endif + +/** + \brief Set FPSCR + \details Assigns the given value to the Floating Point Status/Control register. + \param [in] fpscr Floating Point Status/Control value to set + */ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#define __set_FPSCR __builtin_arm_set_fpscr +#else +#define __set_FPSCR(x) ((void)(x)) +#endif + + +/*@} end of CMSIS_Core_RegAccFunctions */ + + /* ################### Compiler specific Intrinsics ########################### */ /** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics Access to dedicated SIMD instructions @@ -1452,6 +1486,8 @@ __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr) #define __SXTB16_RORn(ARG1, ARG2) __SXTB16(__ROR(ARG1, ARG2)) +#define __SXTAB16_RORn(ARG1, ARG2, ARG3) __SXTAB16(ARG1, __ROR(ARG2, ARG3)) + __STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3) { int32_t result; diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h similarity index 97% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h index 0e5c7349d3..1e255d5907 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file cmsis_armclang_ltm.h * @brief CMSIS compiler armclang (Arm Compiler 6) header file - * @version V1.3.0 - * @date 26. March 2020 + * @version V1.5.3 + * @date 27. May 2021 ******************************************************************************/ /* - * Copyright (c) 2018-2020 Arm Limited. All rights reserved. + * Copyright (c) 2018-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -29,10 +29,6 @@ #pragma clang system_header /* treat file as system include file */ -#ifndef __ARM_COMPAT_H -#include /* Compatibility header for Arm Compiler 5 intrinsics */ -#endif - /* CMSIS compiler specific defines */ #ifndef __ASM #define __ASM __asm @@ -136,665 +132,26 @@ #define __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section("RESET"))) #endif +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +#ifndef __STACK_SEAL +#define __STACK_SEAL Image$$STACKSEAL$$ZI$$Base +#endif -/* ########################### Core Function Access ########################### */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions - @{ - */ +#ifndef __TZ_STACK_SEAL_SIZE +#define __TZ_STACK_SEAL_SIZE 8U +#endif -/** - \brief Enable IRQ Interrupts - \details Enables IRQ interrupts by clearing the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -/* intrinsic void __enable_irq(); see arm_compat.h */ - - -/** - \brief Disable IRQ Interrupts - \details Disables IRQ interrupts by setting the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -/* intrinsic void __disable_irq(); see arm_compat.h */ - - -/** - \brief Get Control Register - \details Returns the content of the Control Register. - \return Control Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CONTROL(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, control" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Control Register (non-secure) - \details Returns the content of the non-secure Control Register when in secure mode. - \return non-secure Control Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); - return(result); -} +#ifndef __TZ_STACK_SEAL_VALUE +#define __TZ_STACK_SEAL_VALUE 0xFEF5EDA5FEF5EDA5ULL #endif -/** - \brief Set Control Register - \details Writes the given value to the Control Register. - \param [in] control Control Register value to set - */ -__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) -{ - __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Control Register (non-secure) - \details Writes the given value to the non-secure Control Register when in secure state. - \param [in] control Control Register value to set - */ -__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) -{ - __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); +__STATIC_FORCEINLINE void __TZ_set_STACKSEAL_S (uint32_t* stackTop) { + *((uint64_t *)stackTop) = __TZ_STACK_SEAL_VALUE; } #endif -/** - \brief Get IPSR Register - \details Returns the content of the IPSR Register. - \return IPSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_IPSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); - return(result); -} - - -/** - \brief Get APSR Register - \details Returns the content of the APSR Register. - \return APSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_APSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, apsr" : "=r" (result) ); - return(result); -} - - -/** - \brief Get xPSR Register - \details Returns the content of the xPSR Register. - \return xPSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_xPSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); - return(result); -} - - -/** - \brief Get Process Stack Pointer - \details Returns the current value of the Process Stack Pointer (PSP). - \return PSP Register value - */ -__STATIC_FORCEINLINE uint32_t __get_PSP(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, psp" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Process Stack Pointer (non-secure) - \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state. - \return PSP Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Process Stack Pointer - \details Assigns the given value to the Process Stack Pointer (PSP). - \param [in] topOfProcStack Process Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) -{ - __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Process Stack Pointer (non-secure) - \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state. - \param [in] topOfProcStack Process Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) -{ - __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); -} -#endif - - -/** - \brief Get Main Stack Pointer - \details Returns the current value of the Main Stack Pointer (MSP). - \return MSP Register value - */ -__STATIC_FORCEINLINE uint32_t __get_MSP(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, msp" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Main Stack Pointer (non-secure) - \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state. - \return MSP Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Main Stack Pointer - \details Assigns the given value to the Main Stack Pointer (MSP). - \param [in] topOfMainStack Main Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) -{ - __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Main Stack Pointer (non-secure) - \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. - \param [in] topOfMainStack Main Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) -{ - __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); -} -#endif - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Stack Pointer (non-secure) - \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. - \return SP Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); - return(result); -} - - -/** - \brief Set Stack Pointer (non-secure) - \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. - \param [in] topOfStack Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) -{ - __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); -} -#endif - - -/** - \brief Get Priority Mask - \details Returns the current state of the priority mask bit from the Priority Mask Register. - \return Priority Mask value - */ -__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, primask" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Priority Mask (non-secure) - \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state. - \return Priority Mask value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, primask_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Priority Mask - \details Assigns the given value to the Priority Mask Register. - \param [in] priMask Priority Mask - */ -__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) -{ - __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Priority Mask (non-secure) - \details Assigns the given value to the non-secure Priority Mask Register when in secure state. - \param [in] priMask Priority Mask - */ -__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) -{ - __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); -} -#endif - - -#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)) ) -/** - \brief Enable FIQ - \details Enables FIQ interrupts by clearing the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __enable_fault_irq __enable_fiq /* see arm_compat.h */ - - -/** - \brief Disable FIQ - \details Disables FIQ interrupts by setting the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __disable_fault_irq __disable_fiq /* see arm_compat.h */ - - -/** - \brief Get Base Priority - \details Returns the current value of the Base Priority register. - \return Base Priority register value - */ -__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, basepri" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Base Priority (non-secure) - \details Returns the current value of the non-secure Base Priority register when in secure state. - \return Base Priority register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Base Priority - \details Assigns the given value to the Base Priority register. - \param [in] basePri Base Priority value to set - */ -__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) -{ - __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Base Priority (non-secure) - \details Assigns the given value to the non-secure Base Priority register when in secure state. - \param [in] basePri Base Priority value to set - */ -__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) -{ - __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); -} -#endif - - -/** - \brief Set Base Priority with condition - \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, - or the new value increases the BASEPRI priority level. - \param [in] basePri Base Priority value to set - */ -__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) -{ - __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); -} - - -/** - \brief Get Fault Mask - \details Returns the current value of the Fault Mask register. - \return Fault Mask register value - */ -__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Fault Mask (non-secure) - \details Returns the current value of the non-secure Fault Mask register when in secure state. - \return Fault Mask register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Fault Mask - \details Assigns the given value to the Fault Mask register. - \param [in] faultMask Fault Mask value to set - */ -__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) -{ - __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Fault Mask (non-secure) - \details Assigns the given value to the non-secure Fault Mask register when in secure state. - \param [in] faultMask Fault Mask value to set - */ -__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) -{ - __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); -} -#endif - -#endif /* ((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)) ) */ - - -#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - -/** - \brief Get Process Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always in non-secure - mode. - - \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). - \return PSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, psplim" : "=r" (result) ); - return result; -#endif -} - -#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Process Stack Pointer Limit (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always in non-secure - mode. - - \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. - \return PSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); - return result; -#endif -} -#endif - - -/** - \brief Set Process Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored in non-secure - mode. - - \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). - \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set - */ -__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - (void)ProcStackPtrLimit; -#else - __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); -#endif -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Process Stack Pointer (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored in non-secure - mode. - - \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. - \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set - */ -__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - (void)ProcStackPtrLimit; -#else - __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); -#endif -} -#endif - - -/** - \brief Get Main Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always. - - \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). - \return MSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, msplim" : "=r" (result) ); - return result; -#endif -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Main Stack Pointer Limit (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always. - - \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state. - \return MSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); - return result; -#endif -} -#endif - - -/** - \brief Set Main Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored. - - \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). - \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set - */ -__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - (void)MainStackPtrLimit; -#else - __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); -#endif -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Main Stack Pointer Limit (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored. - - \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state. - \param [in] MainStackPtrLimit Main Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - (void)MainStackPtrLimit; -#else - __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); -#endif -} -#endif - -#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ - -/** - \brief Get FPSCR - \details Returns the current value of the Floating Point Status/Control register. - \return Floating Point Status/Control register value - */ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) -#define __get_FPSCR (uint32_t)__builtin_arm_get_fpscr -#else -#define __get_FPSCR() ((uint32_t)0U) -#endif - -/** - \brief Set FPSCR - \details Assigns the given value to the Floating Point Status/Control register. - \param [in] fpscr Floating Point Status/Control value to set - */ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) -#define __set_FPSCR __builtin_arm_set_fpscr -#else -#define __set_FPSCR(x) ((void)(x)) -#endif - - -/*@} end of CMSIS_Core_RegAccFunctions */ - - /* ########################## Core Instruction Access ######################### */ /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface Access to dedicated instructions @@ -1354,6 +711,682 @@ __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr) /*@}*/ /* end of group CMSIS_Core_InstructionInterface */ +/* ########################### Core Function Access ########################### */ +/** \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions + @{ + */ + +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by clearing special-purpose register PRIMASK. + Can only be executed in Privileged modes. + */ +#ifndef __ARM_COMPAT_H +__STATIC_FORCEINLINE void __enable_irq(void) +{ + __ASM volatile ("cpsie i" : : : "memory"); +} +#endif + + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by setting special-purpose register PRIMASK. + Can only be executed in Privileged modes. + */ +#ifndef __ARM_COMPAT_H +__STATIC_FORCEINLINE void __disable_irq(void) +{ + __ASM volatile ("cpsid i" : : : "memory"); +} +#endif + + +/** + \brief Get Control Register + \details Returns the content of the Control Register. + \return Control Register value + */ +__STATIC_FORCEINLINE uint32_t __get_CONTROL(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Control Register (non-secure) + \details Returns the content of the non-secure Control Register when in secure mode. + \return non-secure Control Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Control Register + \details Writes the given value to the Control Register. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) +{ + __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); + __ISB(); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Control Register (non-secure) + \details Writes the given value to the non-secure Control Register when in secure state. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) +{ + __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); + __ISB(); +} +#endif + + +/** + \brief Get IPSR Register + \details Returns the content of the IPSR Register. + \return IPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_IPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get APSR Register + \details Returns the content of the APSR Register. + \return APSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_APSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, apsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get xPSR Register + \details Returns the content of the xPSR Register. + \return xPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_xPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get Process Stack Pointer + \details Returns the current value of the Process Stack Pointer (PSP). + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer (non-secure) + \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state. + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Process Stack Pointer + \details Assigns the given value to the Process Stack Pointer (PSP). + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state. + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); +} +#endif + + +/** + \brief Get Main Stack Pointer + \details Returns the current value of the Main Stack Pointer (MSP). + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer (non-secure) + \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state. + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Main Stack Pointer + \details Assigns the given value to the Main Stack Pointer (MSP). + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); +} +#endif + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Stack Pointer (non-secure) + \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. + \return SP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); + return(result); +} + + +/** + \brief Set Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. + \param [in] topOfStack Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) +{ + __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); +} +#endif + + +/** + \brief Get Priority Mask + \details Returns the current state of the priority mask bit from the Priority Mask Register. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Priority Mask (non-secure) + \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Priority Mask + \details Assigns the given value to the Priority Mask Register. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) +{ + __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Priority Mask (non-secure) + \details Assigns the given value to the non-secure Priority Mask Register when in secure state. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) +{ + __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); +} +#endif + + +#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)) ) +/** + \brief Enable FIQ + \details Enables FIQ interrupts by clearing special-purpose register FAULTMASK. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __enable_fault_irq(void) +{ + __ASM volatile ("cpsie f" : : : "memory"); +} + + +/** + \brief Disable FIQ + \details Disables FIQ interrupts by setting special-purpose register FAULTMASK. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __disable_fault_irq(void) +{ + __ASM volatile ("cpsid f" : : : "memory"); +} + + +/** + \brief Get Base Priority + \details Returns the current value of the Base Priority register. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Base Priority (non-secure) + \details Returns the current value of the non-secure Base Priority register when in secure state. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Base Priority + \details Assigns the given value to the Base Priority register. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) +{ + __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Base Priority (non-secure) + \details Assigns the given value to the non-secure Base Priority register when in secure state. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); +} +#endif + + +/** + \brief Set Base Priority with condition + \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, + or the new value increases the BASEPRI priority level. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); +} + + +/** + \brief Get Fault Mask + \details Returns the current value of the Fault Mask register. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Fault Mask (non-secure) + \details Returns the current value of the non-secure Fault Mask register when in secure state. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Fault Mask + \details Assigns the given value to the Fault Mask register. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Fault Mask (non-secure) + \details Assigns the given value to the non-secure Fault Mask register when in secure state. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); +} +#endif + +#endif /* ((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)) ) */ + + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) + +/** + \brief Get Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim" : "=r" (result) ); + return result; +#endif +} + +#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); +#endif +} +#endif + + +/** + \brief Get Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim" : "=r" (result) ); + return result; +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state. + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). + \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state. + \param [in] MainStackPtrLimit Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); +#endif +} +#endif + +#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + +/** + \brief Get FPSCR + \details Returns the current value of the Floating Point Status/Control register. + \return Floating Point Status/Control register value + */ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#define __get_FPSCR (uint32_t)__builtin_arm_get_fpscr +#else +#define __get_FPSCR() ((uint32_t)0U) +#endif + +/** + \brief Set FPSCR + \details Assigns the given value to the Floating Point Status/Control register. + \param [in] fpscr Floating Point Status/Control value to set + */ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#define __set_FPSCR __builtin_arm_set_fpscr +#else +#define __set_FPSCR(x) ((void)(x)) +#endif + + +/*@} end of CMSIS_Core_RegAccFunctions */ + + /* ################### Compiler specific Intrinsics ########################### */ /** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics Access to dedicated SIMD instructions @@ -1878,6 +1911,8 @@ __STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2) #define __SXTB16_RORn(ARG1, ARG2) __SXTB16(__ROR(ARG1, ARG2)) +#define __SXTAB16_RORn(ARG1, ARG2, ARG3) __SXTAB16(ARG1, __ROR(ARG2, ARG3)) + __STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3) { int32_t result; diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h similarity index 97% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h index a2778f58e8..67bda4ef3c 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file cmsis_gcc.h * @brief CMSIS compiler GCC header file - * @version V5.3.0 - * @date 26. March 2020 + * @version V5.4.1 + * @date 27. May 2021 ******************************************************************************/ /* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. + * Copyright (c) 2009-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -46,9 +46,9 @@ #ifndef __STATIC_INLINE #define __STATIC_INLINE static inline #endif -#ifndef __STATIC_FORCEINLINE +#ifndef __STATIC_FORCEINLINE #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline -#endif +#endif #ifndef __NO_RETURN #define __NO_RETURN __attribute__((__noreturn__)) #endif @@ -126,23 +126,23 @@ \details This default implementations initialized all data and additional bss sections relying on .copy.table and .zero.table specified properly in the used linker script. - + */ __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void) { extern void _start(void) __NO_RETURN; - + typedef struct { uint32_t const* src; uint32_t* dest; uint32_t wlen; } __copy_table_t; - + typedef struct { uint32_t* dest; uint32_t wlen; } __zero_table_t; - + extern const __copy_table_t __copy_table_start__; extern const __copy_table_t __copy_table_end__; extern const __zero_table_t __zero_table_start__; @@ -153,16 +153,16 @@ __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void) pTable->dest[i] = pTable->src[i]; } } - + for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable) { for(uint32_t i=0u; iwlen; ++i) { pTable->dest[i] = 0u; } } - + _start(); } - + #define __PROGRAM_START __cmsis_start #endif @@ -182,701 +182,26 @@ __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void) #define __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section(".vectors"))) #endif -/* ########################### Core Function Access ########################### */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions - @{ - */ +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +#ifndef __STACK_SEAL +#define __STACK_SEAL __StackSeal +#endif -/** - \brief Enable IRQ Interrupts - \details Enables IRQ interrupts by clearing the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __enable_irq(void) -{ - __ASM volatile ("cpsie i" : : : "memory"); -} +#ifndef __TZ_STACK_SEAL_SIZE +#define __TZ_STACK_SEAL_SIZE 8U +#endif - -/** - \brief Disable IRQ Interrupts - \details Disables IRQ interrupts by setting the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __disable_irq(void) -{ - __ASM volatile ("cpsid i" : : : "memory"); -} - - -/** - \brief Get Control Register - \details Returns the content of the Control Register. - \return Control Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CONTROL(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, control" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Control Register (non-secure) - \details Returns the content of the non-secure Control Register when in secure mode. - \return non-secure Control Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); - return(result); -} +#ifndef __TZ_STACK_SEAL_VALUE +#define __TZ_STACK_SEAL_VALUE 0xFEF5EDA5FEF5EDA5ULL #endif -/** - \brief Set Control Register - \details Writes the given value to the Control Register. - \param [in] control Control Register value to set - */ -__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) -{ - __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Control Register (non-secure) - \details Writes the given value to the non-secure Control Register when in secure state. - \param [in] control Control Register value to set - */ -__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) -{ - __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); +__STATIC_FORCEINLINE void __TZ_set_STACKSEAL_S (uint32_t* stackTop) { + *((uint64_t *)stackTop) = __TZ_STACK_SEAL_VALUE; } #endif -/** - \brief Get IPSR Register - \details Returns the content of the IPSR Register. - \return IPSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_IPSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); - return(result); -} - - -/** - \brief Get APSR Register - \details Returns the content of the APSR Register. - \return APSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_APSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, apsr" : "=r" (result) ); - return(result); -} - - -/** - \brief Get xPSR Register - \details Returns the content of the xPSR Register. - \return xPSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_xPSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); - return(result); -} - - -/** - \brief Get Process Stack Pointer - \details Returns the current value of the Process Stack Pointer (PSP). - \return PSP Register value - */ -__STATIC_FORCEINLINE uint32_t __get_PSP(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, psp" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Process Stack Pointer (non-secure) - \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state. - \return PSP Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Process Stack Pointer - \details Assigns the given value to the Process Stack Pointer (PSP). - \param [in] topOfProcStack Process Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) -{ - __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Process Stack Pointer (non-secure) - \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state. - \param [in] topOfProcStack Process Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) -{ - __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); -} -#endif - - -/** - \brief Get Main Stack Pointer - \details Returns the current value of the Main Stack Pointer (MSP). - \return MSP Register value - */ -__STATIC_FORCEINLINE uint32_t __get_MSP(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, msp" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Main Stack Pointer (non-secure) - \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state. - \return MSP Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Main Stack Pointer - \details Assigns the given value to the Main Stack Pointer (MSP). - \param [in] topOfMainStack Main Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) -{ - __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Main Stack Pointer (non-secure) - \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. - \param [in] topOfMainStack Main Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) -{ - __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); -} -#endif - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Stack Pointer (non-secure) - \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. - \return SP Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); - return(result); -} - - -/** - \brief Set Stack Pointer (non-secure) - \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. - \param [in] topOfStack Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) -{ - __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); -} -#endif - - -/** - \brief Get Priority Mask - \details Returns the current state of the priority mask bit from the Priority Mask Register. - \return Priority Mask value - */ -__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, primask" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Priority Mask (non-secure) - \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state. - \return Priority Mask value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, primask_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Priority Mask - \details Assigns the given value to the Priority Mask Register. - \param [in] priMask Priority Mask - */ -__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) -{ - __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Priority Mask (non-secure) - \details Assigns the given value to the non-secure Priority Mask Register when in secure state. - \param [in] priMask Priority Mask - */ -__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) -{ - __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); -} -#endif - - -#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)) ) -/** - \brief Enable FIQ - \details Enables FIQ interrupts by clearing the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __enable_fault_irq(void) -{ - __ASM volatile ("cpsie f" : : : "memory"); -} - - -/** - \brief Disable FIQ - \details Disables FIQ interrupts by setting the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __disable_fault_irq(void) -{ - __ASM volatile ("cpsid f" : : : "memory"); -} - - -/** - \brief Get Base Priority - \details Returns the current value of the Base Priority register. - \return Base Priority register value - */ -__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, basepri" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Base Priority (non-secure) - \details Returns the current value of the non-secure Base Priority register when in secure state. - \return Base Priority register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Base Priority - \details Assigns the given value to the Base Priority register. - \param [in] basePri Base Priority value to set - */ -__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) -{ - __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Base Priority (non-secure) - \details Assigns the given value to the non-secure Base Priority register when in secure state. - \param [in] basePri Base Priority value to set - */ -__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) -{ - __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); -} -#endif - - -/** - \brief Set Base Priority with condition - \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, - or the new value increases the BASEPRI priority level. - \param [in] basePri Base Priority value to set - */ -__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) -{ - __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); -} - - -/** - \brief Get Fault Mask - \details Returns the current value of the Fault Mask register. - \return Fault Mask register value - */ -__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); - return(result); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Fault Mask (non-secure) - \details Returns the current value of the non-secure Fault Mask register when in secure state. - \return Fault Mask register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); - return(result); -} -#endif - - -/** - \brief Set Fault Mask - \details Assigns the given value to the Fault Mask register. - \param [in] faultMask Fault Mask value to set - */ -__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) -{ - __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Fault Mask (non-secure) - \details Assigns the given value to the non-secure Fault Mask register when in secure state. - \param [in] faultMask Fault Mask value to set - */ -__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) -{ - __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); -} -#endif - -#endif /* ((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)) ) */ - - -#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - -/** - \brief Get Process Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always in non-secure - mode. - - \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). - \return PSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, psplim" : "=r" (result) ); - return result; -#endif -} - -#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Process Stack Pointer Limit (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always. - - \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. - \return PSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); - return result; -#endif -} -#endif - - -/** - \brief Set Process Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored in non-secure - mode. - - \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). - \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set - */ -__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - (void)ProcStackPtrLimit; -#else - __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); -#endif -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Process Stack Pointer (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored. - - \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. - \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set - */ -__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - // without main extensions, the non-secure PSPLIM is RAZ/WI - (void)ProcStackPtrLimit; -#else - __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); -#endif -} -#endif - - -/** - \brief Get Main Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always in non-secure - mode. - - \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). - \return MSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, msplim" : "=r" (result) ); - return result; -#endif -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Get Main Stack Pointer Limit (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence zero is returned always. - - \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state. - \return MSPLIM Register value - */ -__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - return 0U; -#else - uint32_t result; - __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); - return result; -#endif -} -#endif - - -/** - \brief Set Main Stack Pointer Limit - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored in non-secure - mode. - - \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). - \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set - */ -__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - (void)MainStackPtrLimit; -#else - __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); -#endif -} - - -#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) -/** - \brief Set Main Stack Pointer Limit (non-secure) - Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure - Stack Pointer Limit register hence the write is silently ignored. - - \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state. - \param [in] MainStackPtrLimit Main Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) -{ -#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) - // without main extensions, the non-secure MSPLIM is RAZ/WI - (void)MainStackPtrLimit; -#else - __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); -#endif -} -#endif - -#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ - - -/** - \brief Get FPSCR - \details Returns the current value of the Floating Point Status/Control register. - \return Floating Point Status/Control register value - */ -__STATIC_FORCEINLINE uint32_t __get_FPSCR(void) -{ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) -#if __has_builtin(__builtin_arm_get_fpscr) -// Re-enable using built-in when GCC has been fixed -// || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) - /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ - return __builtin_arm_get_fpscr(); -#else - uint32_t result; - - __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); - return(result); -#endif -#else - return(0U); -#endif -} - - -/** - \brief Set FPSCR - \details Assigns the given value to the Floating Point Status/Control register. - \param [in] fpscr Floating Point Status/Control value to set - */ -__STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr) -{ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) -#if __has_builtin(__builtin_arm_set_fpscr) -// Re-enable using built-in when GCC has been fixed -// || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) - /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ - __builtin_arm_set_fpscr(fpscr); -#else - __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory"); -#endif -#else - (void)fpscr; -#endif -} - - -/*@} end of CMSIS_Core_RegAccFunctions */ - - /* ########################## Core Instruction Access ######################### */ /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface Access to dedicated instructions @@ -1250,7 +575,7 @@ __extension__ \ \return Saturated value */ #define __USAT(ARG1, ARG2) \ - __extension__ \ +__extension__ \ ({ \ uint32_t __RES, __ARG1 = (ARG1); \ __ASM volatile ("usat %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) : "cc" ); \ @@ -1610,6 +935,703 @@ __STATIC_FORCEINLINE uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr) /*@}*/ /* end of group CMSIS_Core_InstructionInterface */ +/* ########################### Core Function Access ########################### */ +/** \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions + @{ + */ + +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by clearing special-purpose register PRIMASK. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __enable_irq(void) +{ + __ASM volatile ("cpsie i" : : : "memory"); +} + + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by setting special-purpose register PRIMASK. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __disable_irq(void) +{ + __ASM volatile ("cpsid i" : : : "memory"); +} + + +/** + \brief Get Control Register + \details Returns the content of the Control Register. + \return Control Register value + */ +__STATIC_FORCEINLINE uint32_t __get_CONTROL(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Control Register (non-secure) + \details Returns the content of the non-secure Control Register when in secure mode. + \return non-secure Control Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Control Register + \details Writes the given value to the Control Register. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) +{ + __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); + __ISB(); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Control Register (non-secure) + \details Writes the given value to the non-secure Control Register when in secure state. + \param [in] control Control Register value to set + */ +__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) +{ + __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); + __ISB(); +} +#endif + + +/** + \brief Get IPSR Register + \details Returns the content of the IPSR Register. + \return IPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_IPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get APSR Register + \details Returns the content of the APSR Register. + \return APSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_APSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, apsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get xPSR Register + \details Returns the content of the xPSR Register. + \return xPSR Register value + */ +__STATIC_FORCEINLINE uint32_t __get_xPSR(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); + return(result); +} + + +/** + \brief Get Process Stack Pointer + \details Returns the current value of the Process Stack Pointer (PSP). + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer (non-secure) + \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state. + \return PSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Process Stack Pointer + \details Assigns the given value to the Process Stack Pointer (PSP). + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state. + \param [in] topOfProcStack Process Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) +{ + __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); +} +#endif + + +/** + \brief Get Main Stack Pointer + \details Returns the current value of the Main Stack Pointer (MSP). + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSP(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer (non-secure) + \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state. + \return MSP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Main Stack Pointer + \details Assigns the given value to the Main Stack Pointer (MSP). + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. + \param [in] topOfMainStack Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) +{ + __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); +} +#endif + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Stack Pointer (non-secure) + \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. + \return SP Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); + return(result); +} + + +/** + \brief Set Stack Pointer (non-secure) + \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. + \param [in] topOfStack Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) +{ + __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); +} +#endif + + +/** + \brief Get Priority Mask + \details Returns the current state of the priority mask bit from the Priority Mask Register. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Priority Mask (non-secure) + \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state. + \return Priority Mask value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, primask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Priority Mask + \details Assigns the given value to the Priority Mask Register. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) +{ + __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Priority Mask (non-secure) + \details Assigns the given value to the non-secure Priority Mask Register when in secure state. + \param [in] priMask Priority Mask + */ +__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) +{ + __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); +} +#endif + + +#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)) ) +/** + \brief Enable FIQ + \details Enables FIQ interrupts by clearing special-purpose register FAULTMASK. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __enable_fault_irq(void) +{ + __ASM volatile ("cpsie f" : : : "memory"); +} + + +/** + \brief Disable FIQ + \details Disables FIQ interrupts by setting special-purpose register FAULTMASK. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __disable_fault_irq(void) +{ + __ASM volatile ("cpsid f" : : : "memory"); +} + + +/** + \brief Get Base Priority + \details Returns the current value of the Base Priority register. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Base Priority (non-secure) + \details Returns the current value of the non-secure Base Priority register when in secure state. + \return Base Priority register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Base Priority + \details Assigns the given value to the Base Priority register. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) +{ + __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Base Priority (non-secure) + \details Assigns the given value to the non-secure Base Priority register when in secure state. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); +} +#endif + + +/** + \brief Set Base Priority with condition + \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled, + or the new value increases the BASEPRI priority level. + \param [in] basePri Base Priority value to set + */ +__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) +{ + __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); +} + + +/** + \brief Get Fault Mask + \details Returns the current value of the Fault Mask register. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); + return(result); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Fault Mask (non-secure) + \details Returns the current value of the non-secure Fault Mask register when in secure state. + \return Fault Mask register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) +{ + uint32_t result; + + __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); + return(result); +} +#endif + + +/** + \brief Set Fault Mask + \details Assigns the given value to the Fault Mask register. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Fault Mask (non-secure) + \details Assigns the given value to the non-secure Fault Mask register when in secure state. + \param [in] faultMask Fault Mask value to set + */ +__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) +{ + __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); +} +#endif + +#endif /* ((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)) ) */ + + +#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) + +/** + \brief Get Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim" : "=r" (result) ); + return result; +#endif +} + +#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Process Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \return PSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Process Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Process Stack Pointer (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state. + \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure PSPLIM is RAZ/WI + (void)ProcStackPtrLimit; +#else + __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); +#endif +} +#endif + + +/** + \brief Get Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always in non-secure + mode. + + \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim" : "=r" (result) ); + return result; +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Get Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence zero is returned always. + + \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state. + \return MSPLIM Register value + */ +__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + return 0U; +#else + uint32_t result; + __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); + return result; +#endif +} +#endif + + +/** + \brief Set Main Stack Pointer Limit + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored in non-secure + mode. + + \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). + \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set + */ +__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ + (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); +#endif +} + + +#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) +/** + \brief Set Main Stack Pointer Limit (non-secure) + Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure + Stack Pointer Limit register hence the write is silently ignored. + + \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state. + \param [in] MainStackPtrLimit Main Stack Pointer value to set + */ +__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) +{ +#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) + // without main extensions, the non-secure MSPLIM is RAZ/WI + (void)MainStackPtrLimit; +#else + __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); +#endif +} +#endif + +#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ + + +/** + \brief Get FPSCR + \details Returns the current value of the Floating Point Status/Control register. + \return Floating Point Status/Control register value + */ +__STATIC_FORCEINLINE uint32_t __get_FPSCR(void) +{ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#if __has_builtin(__builtin_arm_get_fpscr) +// Re-enable using built-in when GCC has been fixed +// || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) + /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ + return __builtin_arm_get_fpscr(); +#else + uint32_t result; + + __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); + return(result); +#endif +#else + return(0U); +#endif +} + + +/** + \brief Set FPSCR + \details Assigns the given value to the Floating Point Status/Control register. + \param [in] fpscr Floating Point Status/Control value to set + */ +__STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr) +{ +#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ + (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) +#if __has_builtin(__builtin_arm_set_fpscr) +// Re-enable using built-in when GCC has been fixed +// || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) + /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ + __builtin_arm_set_fpscr(fpscr); +#else + __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory"); +#endif +#else + (void)fpscr; +#endif +} + + +/*@} end of CMSIS_Core_RegAccFunctions */ + + /* ################### Compiler specific Intrinsics ########################### */ /** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics Access to dedicated SIMD instructions @@ -1925,6 +1947,7 @@ __STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint32_t op3) } #define __SSAT16(ARG1, ARG2) \ +__extension__ \ ({ \ int32_t __RES, __ARG1 = (ARG1); \ __ASM volatile ("ssat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) : "cc" ); \ @@ -1932,6 +1955,7 @@ __STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint32_t op3) }) #define __USAT16(ARG1, ARG2) \ +__extension__ \ ({ \ uint32_t __RES, __ARG1 = (ARG1); \ __ASM volatile ("usat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) : "cc" ); \ @@ -1965,9 +1989,11 @@ __STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1) __STATIC_FORCEINLINE uint32_t __SXTB16_RORn(uint32_t op1, uint32_t rotate) { uint32_t result; - - __ASM ("sxtb16 %0, %1, ROR %2" : "=r" (result) : "r" (op1), "i" (rotate) ); - + if (__builtin_constant_p(rotate) && ((rotate == 8U) || (rotate == 16U) || (rotate == 24U))) { + __ASM volatile ("sxtb16 %0, %1, ROR %2" : "=r" (result) : "r" (op1), "i" (rotate) ); + } else { + result = __SXTB16(__ROR(op1, rotate)) ; + } return result; } @@ -1979,6 +2005,18 @@ __STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2) return(result); } +__STATIC_FORCEINLINE uint32_t __SXTAB16_RORn(uint32_t op1, uint32_t op2, uint32_t rotate) +{ + uint32_t result; + if (__builtin_constant_p(rotate) && ((rotate == 8U) || (rotate == 16U) || (rotate == 24U))) { + __ASM volatile ("sxtab16 %0, %1, %2, ROR %3" : "=r" (result) : "r" (op1) , "r" (op2) , "i" (rotate)); + } else { + result = __SXTAB16(op1, __ROR(op2, rotate)); + } + return result; +} + + __STATIC_FORCEINLINE uint32_t __SMUAD (uint32_t op1, uint32_t op2) { uint32_t result; @@ -2135,8 +2173,9 @@ __STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2) return(result); } -#if 0 + #define __PKHBT(ARG1,ARG2,ARG3) \ +__extension__ \ ({ \ uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \ __ASM ("pkhbt %0, %1, %2, lsl %3" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2), "I" (ARG3) ); \ @@ -2144,6 +2183,7 @@ __STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2) }) #define __PKHTB(ARG1,ARG2,ARG3) \ +__extension__ \ ({ \ uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \ if (ARG3 == 0) \ @@ -2152,13 +2192,7 @@ __STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2) __ASM ("pkhtb %0, %1, %2, asr %3" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2), "I" (ARG3) ); \ __RES; \ }) -#endif -#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \ - ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) ) - -#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \ - ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) ) __STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3) { diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h similarity index 96% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h index 7eeffca5c7..65b824b009 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h @@ -1,14 +1,14 @@ /**************************************************************************//** * @file cmsis_iccarm.h * @brief CMSIS compiler ICCARM (IAR Compiler for Arm) header file - * @version V5.2.0 - * @date 28. January 2020 + * @version V5.3.0 + * @date 14. April 2021 ******************************************************************************/ //------------------------------------------------------------------------------ // -// Copyright (c) 2017-2019 IAR Systems -// Copyright (c) 2017-2019 Arm Limited. All rights reserved. +// Copyright (c) 2017-2021 IAR Systems +// Copyright (c) 2017-2021 Arm Limited. All rights reserved. // // SPDX-License-Identifier: Apache-2.0 // @@ -238,6 +238,7 @@ __packed struct __iar_u32 { uint32_t v; }; #endif #endif +#undef __WEAK /* undo the definition from DLib_Defaults.h */ #ifndef __WEAK #if __ICCARM_V8 #define __WEAK __attribute__((weak)) @@ -266,6 +267,24 @@ __packed struct __iar_u32 { uint32_t v; }; #define __VECTOR_TABLE_ATTRIBUTE @".intvec" #endif +#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) +#ifndef __STACK_SEAL +#define __STACK_SEAL STACKSEAL$$Base +#endif + +#ifndef __TZ_STACK_SEAL_SIZE +#define __TZ_STACK_SEAL_SIZE 8U +#endif + +#ifndef __TZ_STACK_SEAL_VALUE +#define __TZ_STACK_SEAL_VALUE 0xFEF5EDA5FEF5EDA5ULL +#endif + +__STATIC_FORCEINLINE void __TZ_set_STACKSEAL_S (uint32_t* stackTop) { + *((uint64_t *)stackTop) = __TZ_STACK_SEAL_VALUE; +} +#endif + #ifndef __ICCARM_INTRINSICS_VERSION__ #define __ICCARM_INTRINSICS_VERSION__ 0 #endif @@ -336,7 +355,13 @@ __packed struct __iar_u32 { uint32_t v; }; #define __set_BASEPRI(VALUE) (__arm_wsr("BASEPRI", (VALUE))) #define __set_BASEPRI_MAX(VALUE) (__arm_wsr("BASEPRI_MAX", (VALUE))) - #define __set_CONTROL(VALUE) (__arm_wsr("CONTROL", (VALUE))) + +__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) +{ + __arm_wsr("CONTROL", control); + __iar_builtin_ISB(); +} + #define __set_FAULTMASK(VALUE) (__arm_wsr("FAULTMASK", (VALUE))) #define __set_MSP(VALUE) (__arm_wsr("MSP", (VALUE))) @@ -358,7 +383,13 @@ __packed struct __iar_u32 { uint32_t v; }; #endif #define __TZ_get_CONTROL_NS() (__arm_rsr("CONTROL_NS")) - #define __TZ_set_CONTROL_NS(VALUE) (__arm_wsr("CONTROL_NS", (VALUE))) + +__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) +{ + __arm_wsr("CONTROL_NS", control); + __iar_builtin_ISB(); +} + #define __TZ_get_PSP_NS() (__arm_rsr("PSP_NS")) #define __TZ_set_PSP_NS(VALUE) (__arm_wsr("PSP_NS", (VALUE))) #define __TZ_get_MSP_NS() (__arm_rsr("MSP_NS")) @@ -680,6 +711,7 @@ __packed struct __iar_u32 { uint32_t v; }; __IAR_FT void __TZ_set_CONTROL_NS(uint32_t value) { __asm volatile("MSR CONTROL_NS,%0" :: "r" (value)); + __iar_builtin_ISB(); } __IAR_FT uint32_t __TZ_get_PSP_NS(void) @@ -965,4 +997,6 @@ __packed struct __iar_u32 { uint32_t v; }; #define __SXTB16_RORn(ARG1, ARG2) __SXTB16(__ROR(ARG1, ARG2)) +#define __SXTAB16_RORn(ARG1, ARG2, ARG3) __SXTAB16(ARG1, __ROR(ARG2, ARG3)) + #endif /* __CMSIS_ICCARM_H__ */ diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h similarity index 98% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h index 1ad19e215a..33df455436 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file core_armv81mml.h * @brief CMSIS Armv8.1-M Mainline Core Peripheral Access Layer Header File - * @version V1.3.1 - * @date 27. March 2020 + * @version V1.4.1 + * @date 04. June 2021 ******************************************************************************/ /* - * Copyright (c) 2018-2020 Arm Limited. All rights reserved. + * Copyright (c) 2018-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -210,14 +210,14 @@ #define __FPU_PRESENT 0U #warning "__FPU_PRESENT not defined in device header file; using default!" #endif - + #if __FPU_PRESENT != 0U #ifndef __FPU_DP #define __FPU_DP 0U #warning "__FPU_DP not defined in device header file; using default!" #endif #endif - + #ifndef __MPU_PRESENT #define __MPU_PRESENT 0U #warning "__MPU_PRESENT not defined in device header file; using default!" @@ -232,7 +232,7 @@ #define __DCACHE_PRESENT 0U #warning "__DCACHE_PRESENT not defined in device header file; using default!" #endif - + #ifndef __PMU_PRESENT #define __PMU_PRESENT 0U #warning "__PMU_PRESENT not defined in device header file; using default!" @@ -261,7 +261,7 @@ #define __VTOR_PRESENT 1U #warning "__VTOR_PRESENT not defined in device header file; using default!" #endif - + #ifndef __NVIC_PRIO_BITS #define __NVIC_PRIO_BITS 3U #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" @@ -766,22 +766,22 @@ typedef struct #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ -#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ -#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ -#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ -#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ -#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ -#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ @@ -1508,12 +1508,12 @@ typedef struct /** \brief PMU Event Counter Registers (0-30) Definitions */ #define PMU_EVCNTR_CNT_Pos 0U /*!< PMU EVCNTR: Counter Position */ -#define PMU_EVCNTR_CNT_Msk (16UL /*<< PMU_EVCNTRx_CNT_Pos*/) /*!< PMU EVCNTR: Counter Mask */ +#define PMU_EVCNTR_CNT_Msk (0xFFFFUL /*<< PMU_EVCNTRx_CNT_Pos*/) /*!< PMU EVCNTR: Counter Mask */ /** \brief PMU Event Type and Filter Registers (0-30) Definitions */ #define PMU_EVTYPER_EVENTTOCNT_Pos 0U /*!< PMU EVTYPER: Event to Count Position */ -#define PMU_EVTYPER_EVENTTOCNT_Msk (16UL /*<< EVTYPERx_EVENTTOCNT_Pos*/) /*!< PMU EVTYPER: Event to Count Mask */ +#define PMU_EVTYPER_EVENTTOCNT_Msk (0xFFFFUL /*<< EVTYPERx_EVENTTOCNT_Pos*/) /*!< PMU EVTYPER: Event to Count Mask */ /** \brief PMU Count Enable Set Register Definitions */ @@ -2221,10 +2221,10 @@ typedef struct /** \brief PMU Type Register Definitions */ #define PMU_TYPE_NUM_CNTS_Pos 0U /*!< PMU TYPE: Number of Counters Position */ -#define PMU_TYPE_NUM_CNTS_Msk (8UL /*<< PMU_TYPE_NUM_CNTS_Pos*/) /*!< PMU TYPE: Number of Counters Mask */ +#define PMU_TYPE_NUM_CNTS_Msk (0xFFUL /*<< PMU_TYPE_NUM_CNTS_Pos*/) /*!< PMU TYPE: Number of Counters Mask */ #define PMU_TYPE_SIZE_CNTS_Pos 8U /*!< PMU TYPE: Size of Counters Position */ -#define PMU_TYPE_SIZE_CNTS_Msk (6UL << PMU_TYPE_SIZE_CNTS_Pos) /*!< PMU TYPE: Size of Counters Mask */ +#define PMU_TYPE_SIZE_CNTS_Msk (0x3FUL << PMU_TYPE_SIZE_CNTS_Pos) /*!< PMU TYPE: Size of Counters Mask */ #define PMU_TYPE_CYCCNT_PRESENT_Pos 14U /*!< PMU TYPE: Cycle Counter Present Position */ #define PMU_TYPE_CYCCNT_PRESENT_Msk (1UL << PMU_TYPE_CYCCNT_PRESENT_Pos) /*!< PMU TYPE: Cycle Counter Present Mask */ @@ -2235,6 +2235,32 @@ typedef struct #define PMU_TYPE_TRACE_ON_OV_SUPPORT_Pos 23U /*!< PMU TYPE: Trace-on-overflow Support Position */ #define PMU_TYPE_TRACE_ON_OV_SUPPORT_Msk (1UL << PMU_TYPE_FRZ_OV_SUPPORT_Pos) /*!< PMU TYPE: Trace-on-overflow Support Mask */ +/** \brief PMU Authentication Status Register Definitions */ + +#define PMU_AUTHSTATUS_NSID_Pos 0U /*!< PMU AUTHSTATUS: Non-secure Invasive Debug Position */ +#define PMU_AUTHSTATUS_NSID_Msk (0x3UL /*<< PMU_AUTHSTATUS_NSID_Pos*/) /*!< PMU AUTHSTATUS: Non-secure Invasive Debug Mask */ + +#define PMU_AUTHSTATUS_NSNID_Pos 2U /*!< PMU AUTHSTATUS: Non-secure Non-invasive Debug Position */ +#define PMU_AUTHSTATUS_NSNID_Msk (0x3UL << PMU_AUTHSTATUS_NSNID_Pos) /*!< PMU AUTHSTATUS: Non-secure Non-invasive Debug Mask */ + +#define PMU_AUTHSTATUS_SID_Pos 4U /*!< PMU AUTHSTATUS: Secure Invasive Debug Position */ +#define PMU_AUTHSTATUS_SID_Msk (0x3UL << PMU_AUTHSTATUS_SID_Pos) /*!< PMU AUTHSTATUS: Secure Invasive Debug Mask */ + +#define PMU_AUTHSTATUS_SNID_Pos 6U /*!< PMU AUTHSTATUS: Secure Non-invasive Debug Position */ +#define PMU_AUTHSTATUS_SNID_Msk (0x3UL << PMU_AUTHSTATUS_SNID_Pos) /*!< PMU AUTHSTATUS: Secure Non-invasive Debug Mask */ + +#define PMU_AUTHSTATUS_NSUID_Pos 16U /*!< PMU AUTHSTATUS: Non-secure Unprivileged Invasive Debug Position */ +#define PMU_AUTHSTATUS_NSUID_Msk (0x3UL << PMU_AUTHSTATUS_NSUID_Pos) /*!< PMU AUTHSTATUS: Non-secure Unprivileged Invasive Debug Mask */ + +#define PMU_AUTHSTATUS_NSUNID_Pos 18U /*!< PMU AUTHSTATUS: Non-secure Unprivileged Non-invasive Debug Position */ +#define PMU_AUTHSTATUS_NSUNID_Msk (0x3UL << PMU_AUTHSTATUS_NSUNID_Pos) /*!< PMU AUTHSTATUS: Non-secure Unprivileged Non-invasive Debug Mask */ + +#define PMU_AUTHSTATUS_SUID_Pos 20U /*!< PMU AUTHSTATUS: Secure Unprivileged Invasive Debug Position */ +#define PMU_AUTHSTATUS_SUID_Msk (0x3UL << PMU_AUTHSTATUS_SUID_Pos) /*!< PMU AUTHSTATUS: Secure Unprivileged Invasive Debug Mask */ + +#define PMU_AUTHSTATUS_SUNID_Pos 22U /*!< PMU AUTHSTATUS: Secure Unprivileged Non-invasive Debug Position */ +#define PMU_AUTHSTATUS_SUNID_Msk (0x3UL << PMU_AUTHSTATUS_SUNID_Pos) /*!< PMU AUTHSTATUS: Secure Unprivileged Non-invasive Debug Mask */ + /*@} end of group CMSIS_PMU */ #endif diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h similarity index 99% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h index 71f000bcad..2bd9e76064 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file core_armv8mml.h * @brief CMSIS Armv8-M Mainline Core Peripheral Access Layer Header File - * @version V5.2.0 - * @date 27. March 2020 + * @version V5.2.2 + * @date 04. June 2021 ******************************************************************************/ /* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. + * Copyright (c) 2009-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -254,7 +254,7 @@ #define __VTOR_PRESENT 1U #warning "__VTOR_PRESENT not defined in device header file; using default!" #endif - + #ifndef __NVIC_PRIO_BITS #define __NVIC_PRIO_BITS 3U #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" @@ -545,6 +545,7 @@ typedef struct __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ + __OM uint32_t BPIALL; /*!< Offset: 0x278 ( /W) Branch Predictor Invalidate All */ } SCB_Type; /* SCB CPUID Register Definitions */ @@ -745,22 +746,22 @@ typedef struct #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ -#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ -#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ -#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ -#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ -#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ -#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ @@ -2939,7 +2940,7 @@ __STATIC_INLINE void TZ_SAU_Disable(void) @{ */ - + /** \brief Set Debug Authentication Control Register \details writes to Debug Authentication Control register. @@ -3006,7 +3007,7 @@ __STATIC_INLINE uint32_t TZ_DCB_GetAuthCtrl_NS(void) @{ */ - + /** \brief Get Debug Authentication Status Register \details Reads Debug Authentication Status register. diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h similarity index 99% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h index 24453a8863..74fb87e5c5 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file core_cm3.h * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File - * @version V5.1.1 - * @date 27. March 2020 + * @version V5.1.2 + * @date 04. June 2021 ******************************************************************************/ /* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. + * Copyright (c) 2009-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -146,7 +146,7 @@ #define __VTOR_PRESENT 1U #warning "__VTOR_PRESENT not defined in device header file; using default!" #endif - + #ifndef __NVIC_PRIO_BITS #define __NVIC_PRIO_BITS 3U #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" @@ -565,19 +565,19 @@ typedef struct #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ -#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ -#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ -#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ -#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ -#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h similarity index 99% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h index 13359be3ed..f9cf6ab183 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file core_cm33.h * @brief CMSIS Cortex-M33 Core Peripheral Access Layer Header File - * @version V5.2.0 - * @date 27. March 2020 + * @version V5.2.2 + * @date 04. June 2021 ******************************************************************************/ /* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. + * Copyright (c) 2009-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -254,7 +254,7 @@ #define __VTOR_PRESENT 1U #warning "__VTOR_PRESENT not defined in device header file; using default!" #endif - + #ifndef __NVIC_PRIO_BITS #define __NVIC_PRIO_BITS 3U #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" @@ -545,6 +545,7 @@ typedef struct __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ + __OM uint32_t BPIALL; /*!< Offset: 0x278 ( /W) Branch Predictor Invalidate All */ } SCB_Type; /* SCB CPUID Register Definitions */ @@ -745,22 +746,22 @@ typedef struct #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ -#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ -#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ -#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ -#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ -#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ -#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ @@ -3007,7 +3008,7 @@ __STATIC_INLINE void TZ_SAU_Disable(void) @{ */ - + /** \brief Set Debug Authentication Control Register \details writes to Debug Authentication Control register. @@ -3074,7 +3075,7 @@ __STATIC_INLINE uint32_t TZ_DCB_GetAuthCtrl_NS(void) @{ */ - + /** \brief Get Debug Authentication Status Register \details Reads Debug Authentication Status register. diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h similarity index 99% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h index 6a5f6ad147..552c29464d 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file core_cm35p.h * @brief CMSIS Cortex-M35P Core Peripheral Access Layer Header File - * @version V1.1.0 - * @date 27. March 2020 + * @version V1.1.2 + * @date 04. June 2021 ******************************************************************************/ /* - * Copyright (c) 2018-2020 Arm Limited. All rights reserved. + * Copyright (c) 2018-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -249,12 +249,12 @@ #define __DSP_PRESENT 0U #warning "__DSP_PRESENT not defined in device header file; using default!" #endif - + #ifndef __VTOR_PRESENT #define __VTOR_PRESENT 1U #warning "__VTOR_PRESENT not defined in device header file; using default!" #endif - + #ifndef __NVIC_PRIO_BITS #define __NVIC_PRIO_BITS 3U #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" @@ -545,6 +545,7 @@ typedef struct __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ + __OM uint32_t BPIALL; /*!< Offset: 0x278 ( /W) Branch Predictor Invalidate All */ } SCB_Type; /* SCB CPUID Register Definitions */ @@ -745,22 +746,22 @@ typedef struct #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ -#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ -#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ -#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ -#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ -#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ -#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ @@ -3007,7 +3008,7 @@ __STATIC_INLINE void TZ_SAU_Disable(void) @{ */ - + /** \brief Set Debug Authentication Control Register \details writes to Debug Authentication Control register. @@ -3074,7 +3075,7 @@ __STATIC_INLINE uint32_t TZ_DCB_GetAuthCtrl_NS(void) @{ */ - + /** \brief Get Debug Authentication Status Register \details Reads Debug Authentication Status register. diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h similarity index 99% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h index 4e0e886697..e21cd14925 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h @@ -1,8 +1,8 @@ /**************************************************************************//** * @file core_cm4.h * @brief CMSIS Cortex-M4 Core Peripheral Access Layer Header File - * @version V5.1.1 - * @date 27. March 2020 + * @version V5.1.2 + * @date 04. June 2021 ******************************************************************************/ /* * Copyright (c) 2009-2020 Arm Limited. All rights reserved. @@ -198,7 +198,7 @@ #define __VTOR_PRESENT 1U #warning "__VTOR_PRESENT not defined in device header file; using default!" #endif - + #ifndef __NVIC_PRIO_BITS #define __NVIC_PRIO_BITS 3U #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" @@ -623,22 +623,22 @@ typedef struct #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ -#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ -#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ -#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ -#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ -#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ -#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h similarity index 97% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h index 6efaa3f842..ecee4e0afb 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file core_cm55.h * @brief CMSIS Cortex-M55 Core Peripheral Access Layer Header File - * @version V1.0.0 - * @date 27. March 2020 + * @version V1.2.1 + * @date 04. June 2021 ******************************************************************************/ /* - * Copyright (c) 2018-2020 Arm Limited. All rights reserved. + * Copyright (c) 2018-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -210,7 +210,7 @@ #define __FPU_PRESENT 0U #warning "__FPU_PRESENT not defined in device header file; using default!" #endif - + #if __FPU_PRESENT != 0U #ifndef __FPU_DP #define __FPU_DP 0U @@ -232,12 +232,12 @@ #define __DCACHE_PRESENT 0U #warning "__DCACHE_PRESENT not defined in device header file; using default!" #endif - + #ifndef __VTOR_PRESENT #define __VTOR_PRESENT 1U #warning "__VTOR_PRESENT not defined in device header file; using default!" #endif - + #ifndef __PMU_PRESENT #define __PMU_PRESENT 0U #warning "__PMU_PRESENT not defined in device header file; using default!" @@ -766,22 +766,22 @@ typedef struct #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ -#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ -#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ -#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ -#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ -#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ -#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ @@ -1349,6 +1349,40 @@ typedef struct /*@}*/ /* end of group CMSIS_DWT */ +/** + \ingroup CMSIS_core_register + \defgroup PwrModCtl_Type Power Mode Control Registers + \brief Type definitions for the Power Mode Control Registers (PWRMODCTL) + @{ + */ + +/** + \brief Structure type to access the Power Mode Control Registers (PWRMODCTL). + */ +typedef struct +{ + __IOM uint32_t CPDLPSTATE; + __IOM uint32_t DPDLPSTATE; +} PwrModCtl_Type; + + +/* PWRMODCTL Core Power Domain Low Power State (CPDLPSTATE) Register Definitions */ +#define PWRMODCTL_CPDLPSTATE_CLPSTATE_Pos 0U /*!< PWRMODCTL CPDLPSTATE CLPSTATE Position */ +#define PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk 3UL /*!< PWRMODCTL CPDLPSTATE CLPSTATE Mask */ + +#define PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos 4U /*!< PWRMODCTL CPDLPSTATE ELPSTATE Position */ +#define PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk 3UL /*!< PWRMODCTL CPDLPSTATE ELPSTATE Mask */ + +#define PWRMODCTL_CPDLPSTATE_RLPSTATE_Pos 8U /*!< PWRMODCTL CPDLPSTATE RLPSTATE Position */ +#define PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk 3UL /*!< PWRMODCTL CPDLPSTATE RLPSTATE Mask */ + +/* PWRMODCTL Debug Power Domain Low Power State (DPDLPSTATE) Register Definitions */ +#define PWRMODCTL_DPDLPSTATE_DLPSTATE_Pos 0U /*!< PWRMODCTL DPDLPSTATE DLPSTATE Position */ +#define PWRMODCTL_DPDLPSTATE_DLPSTATE_Msk 3UL /*!< PWRMODCTL DPDLPSTATE DLPSTATE Mask */ + +/*@}*/ /* end of group CMSIS_PWRMODCTL */ + + /** \ingroup CMSIS_core_register \defgroup CMSIS_TPI Trace Port Interface (TPI) @@ -1508,12 +1542,12 @@ typedef struct /** \brief PMU Event Counter Registers (0-30) Definitions */ #define PMU_EVCNTR_CNT_Pos 0U /*!< PMU EVCNTR: Counter Position */ -#define PMU_EVCNTR_CNT_Msk (16UL /*<< PMU_EVCNTRx_CNT_Pos*/) /*!< PMU EVCNTR: Counter Mask */ +#define PMU_EVCNTR_CNT_Msk (0xFFFFUL /*<< PMU_EVCNTRx_CNT_Pos*/) /*!< PMU EVCNTR: Counter Mask */ /** \brief PMU Event Type and Filter Registers (0-30) Definitions */ #define PMU_EVTYPER_EVENTTOCNT_Pos 0U /*!< PMU EVTYPER: Event to Count Position */ -#define PMU_EVTYPER_EVENTTOCNT_Msk (16UL /*<< EVTYPERx_EVENTTOCNT_Pos*/) /*!< PMU EVTYPER: Event to Count Mask */ +#define PMU_EVTYPER_EVENTTOCNT_Msk (0xFFFFUL /*<< EVTYPERx_EVENTTOCNT_Pos*/) /*!< PMU EVTYPER: Event to Count Mask */ /** \brief PMU Count Enable Set Register Definitions */ @@ -2221,10 +2255,10 @@ typedef struct /** \brief PMU Type Register Definitions */ #define PMU_TYPE_NUM_CNTS_Pos 0U /*!< PMU TYPE: Number of Counters Position */ -#define PMU_TYPE_NUM_CNTS_Msk (8UL /*<< PMU_TYPE_NUM_CNTS_Pos*/) /*!< PMU TYPE: Number of Counters Mask */ +#define PMU_TYPE_NUM_CNTS_Msk (0xFFUL /*<< PMU_TYPE_NUM_CNTS_Pos*/) /*!< PMU TYPE: Number of Counters Mask */ #define PMU_TYPE_SIZE_CNTS_Pos 8U /*!< PMU TYPE: Size of Counters Position */ -#define PMU_TYPE_SIZE_CNTS_Msk (6UL << PMU_TYPE_SIZE_CNTS_Pos) /*!< PMU TYPE: Size of Counters Mask */ +#define PMU_TYPE_SIZE_CNTS_Msk (0x3FUL << PMU_TYPE_SIZE_CNTS_Pos) /*!< PMU TYPE: Size of Counters Mask */ #define PMU_TYPE_CYCCNT_PRESENT_Pos 14U /*!< PMU TYPE: Cycle Counter Present Position */ #define PMU_TYPE_CYCCNT_PRESENT_Msk (1UL << PMU_TYPE_CYCCNT_PRESENT_Pos) /*!< PMU TYPE: Cycle Counter Present Mask */ @@ -2235,6 +2269,33 @@ typedef struct #define PMU_TYPE_TRACE_ON_OV_SUPPORT_Pos 23U /*!< PMU TYPE: Trace-on-overflow Support Position */ #define PMU_TYPE_TRACE_ON_OV_SUPPORT_Msk (1UL << PMU_TYPE_FRZ_OV_SUPPORT_Pos) /*!< PMU TYPE: Trace-on-overflow Support Mask */ +/** \brief PMU Authentication Status Register Definitions */ + +#define PMU_AUTHSTATUS_NSID_Pos 0U /*!< PMU AUTHSTATUS: Non-secure Invasive Debug Position */ +#define PMU_AUTHSTATUS_NSID_Msk (0x3UL /*<< PMU_AUTHSTATUS_NSID_Pos*/) /*!< PMU AUTHSTATUS: Non-secure Invasive Debug Mask */ + +#define PMU_AUTHSTATUS_NSNID_Pos 2U /*!< PMU AUTHSTATUS: Non-secure Non-invasive Debug Position */ +#define PMU_AUTHSTATUS_NSNID_Msk (0x3UL << PMU_AUTHSTATUS_NSNID_Pos) /*!< PMU AUTHSTATUS: Non-secure Non-invasive Debug Mask */ + +#define PMU_AUTHSTATUS_SID_Pos 4U /*!< PMU AUTHSTATUS: Secure Invasive Debug Position */ +#define PMU_AUTHSTATUS_SID_Msk (0x3UL << PMU_AUTHSTATUS_SID_Pos) /*!< PMU AUTHSTATUS: Secure Invasive Debug Mask */ + +#define PMU_AUTHSTATUS_SNID_Pos 6U /*!< PMU AUTHSTATUS: Secure Non-invasive Debug Position */ +#define PMU_AUTHSTATUS_SNID_Msk (0x3UL << PMU_AUTHSTATUS_SNID_Pos) /*!< PMU AUTHSTATUS: Secure Non-invasive Debug Mask */ + +#define PMU_AUTHSTATUS_NSUID_Pos 16U /*!< PMU AUTHSTATUS: Non-secure Unprivileged Invasive Debug Position */ +#define PMU_AUTHSTATUS_NSUID_Msk (0x3UL << PMU_AUTHSTATUS_NSUID_Pos) /*!< PMU AUTHSTATUS: Non-secure Unprivileged Invasive Debug Mask */ + +#define PMU_AUTHSTATUS_NSUNID_Pos 18U /*!< PMU AUTHSTATUS: Non-secure Unprivileged Non-invasive Debug Position */ +#define PMU_AUTHSTATUS_NSUNID_Msk (0x3UL << PMU_AUTHSTATUS_NSUNID_Pos) /*!< PMU AUTHSTATUS: Non-secure Unprivileged Non-invasive Debug Mask */ + +#define PMU_AUTHSTATUS_SUID_Pos 20U /*!< PMU AUTHSTATUS: Secure Unprivileged Invasive Debug Position */ +#define PMU_AUTHSTATUS_SUID_Msk (0x3UL << PMU_AUTHSTATUS_SUID_Pos) /*!< PMU AUTHSTATUS: Secure Unprivileged Invasive Debug Mask */ + +#define PMU_AUTHSTATUS_SUNID_Pos 22U /*!< PMU AUTHSTATUS: Secure Unprivileged Non-invasive Debug Position */ +#define PMU_AUTHSTATUS_SUNID_Msk (0x3UL << PMU_AUTHSTATUS_SUNID_Pos) /*!< PMU AUTHSTATUS: Secure Unprivileged Non-invasive Debug Mask */ + + /*@} end of group CMSIS_PMU */ #endif @@ -3066,6 +3127,7 @@ typedef struct #define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ #define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ #define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ + #define PWRMODCTL_BASE (0xE001E300UL) /*!< Power Mode Control Base Address */ #define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ #define CoreDebug_BASE (0xE000EDF0UL) /*!< \deprecated Core Debug Base Address */ #define DCB_BASE (0xE000EDF0UL) /*!< DCB Base Address */ @@ -3081,6 +3143,7 @@ typedef struct #define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ #define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ #define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ + #define PWRMODCTL ((PwrModCtl_Type *) PWRMODCTL_BASE ) /*!< Power Mode Control configuration struct */ #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE ) /*!< \deprecated Core Debug configuration struct */ #define DCB ((DCB_Type *) DCB_BASE ) /*!< DCB configuration struct */ #define DIB ((DIB_Type *) DIB_BASE ) /*!< DIB configuration struct */ diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h similarity index 98% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h index e1c31c275d..010506e9fa 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file core_cm7.h * @brief CMSIS Cortex-M7 Core Peripheral Access Layer Header File - * @version V5.1.2 - * @date 27. March 2020 + * @version V5.1.6 + * @date 04. June 2021 ******************************************************************************/ /* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. + * Copyright (c) 2009-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -213,7 +213,7 @@ #define __VTOR_PRESENT 1U #warning "__VTOR_PRESENT not defined in device header file; using default!" #endif - + #ifndef __NVIC_PRIO_BITS #define __NVIC_PRIO_BITS 3U #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" @@ -501,7 +501,8 @@ typedef struct __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ - uint32_t RESERVED7[6U]; + __OM uint32_t BPIALL; /*!< Offset: 0x278 ( /W) Branch Predictor Invalidate All */ + uint32_t RESERVED7[5U]; __IOM uint32_t ITCMCR; /*!< Offset: 0x290 (R/W) Instruction Tightly-Coupled Memory Control Register */ __IOM uint32_t DTCMCR; /*!< Offset: 0x294 (R/W) Data Tightly-Coupled Memory Control Registers */ __IOM uint32_t AHBPCR; /*!< Offset: 0x298 (R/W) AHBP Control Register */ @@ -676,22 +677,22 @@ typedef struct #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ -#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ -#define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ +#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U) /*!< SCB CFSR (MMFSR): MLSPERR Position */ #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB CFSR (MMFSR): MLSPERR Mask */ -#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ -#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ -#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ -#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ @@ -875,21 +876,24 @@ typedef struct #define SCB_CACR_FORCEWT_Pos 2U /*!< SCB CACR: FORCEWT Position */ #define SCB_CACR_FORCEWT_Msk (1UL << SCB_CACR_FORCEWT_Pos) /*!< SCB CACR: FORCEWT Mask */ -#define SCB_CACR_ECCEN_Pos 1U /*!< SCB CACR: ECCEN Position */ -#define SCB_CACR_ECCEN_Msk (1UL << SCB_CACR_ECCEN_Pos) /*!< SCB CACR: ECCEN Mask */ +#define SCB_CACR_ECCEN_Pos 1U /*!< \deprecated SCB CACR: ECCEN Position */ +#define SCB_CACR_ECCEN_Msk (1UL << SCB_CACR_ECCEN_Pos) /*!< \deprecated SCB CACR: ECCEN Mask */ + +#define SCB_CACR_ECCDIS_Pos 1U /*!< SCB CACR: ECCDIS Position */ +#define SCB_CACR_ECCDIS_Msk (1UL << SCB_CACR_ECCDIS_Pos) /*!< SCB CACR: ECCDIS Mask */ #define SCB_CACR_SIWT_Pos 0U /*!< SCB CACR: SIWT Position */ #define SCB_CACR_SIWT_Msk (1UL /*<< SCB_CACR_SIWT_Pos*/) /*!< SCB CACR: SIWT Mask */ /* AHBS Control Register Definitions */ #define SCB_AHBSCR_INITCOUNT_Pos 11U /*!< SCB AHBSCR: INITCOUNT Position */ -#define SCB_AHBSCR_INITCOUNT_Msk (0x1FUL << SCB_AHBPCR_INITCOUNT_Pos) /*!< SCB AHBSCR: INITCOUNT Mask */ +#define SCB_AHBSCR_INITCOUNT_Msk (0x1FUL << SCB_AHBSCR_INITCOUNT_Pos) /*!< SCB AHBSCR: INITCOUNT Mask */ #define SCB_AHBSCR_TPRI_Pos 2U /*!< SCB AHBSCR: TPRI Position */ -#define SCB_AHBSCR_TPRI_Msk (0x1FFUL << SCB_AHBPCR_TPRI_Pos) /*!< SCB AHBSCR: TPRI Mask */ +#define SCB_AHBSCR_TPRI_Msk (0x1FFUL << SCB_AHBSCR_TPRI_Pos) /*!< SCB AHBSCR: TPRI Mask */ #define SCB_AHBSCR_CTL_Pos 0U /*!< SCB AHBSCR: CTL Position*/ -#define SCB_AHBSCR_CTL_Msk (3UL /*<< SCB_AHBPCR_CTL_Pos*/) /*!< SCB AHBSCR: CTL Mask */ +#define SCB_AHBSCR_CTL_Msk (3UL /*<< SCB_AHBSCR_CTL_Pos*/) /*!< SCB AHBSCR: CTL Mask */ /* Auxiliary Bus Fault Status Register Definitions */ #define SCB_ABFSR_AXIMTYPE_Pos 8U /*!< SCB ABFSR: AXIMTYPE Position*/ diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h similarity index 99% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h index e8914ba601..d66621031e 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h @@ -1,11 +1,11 @@ /**************************************************************************//** * @file core_sc300.h * @brief CMSIS SC300 Core Peripheral Access Layer Header File - * @version V5.0.9 - * @date 27. March 2020 + * @version V5.0.10 + * @date 04. June 2021 ******************************************************************************/ /* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. + * Copyright (c) 2009-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -562,19 +562,19 @@ typedef struct #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ -#define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ +#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U) /*!< SCB CFSR (MMFSR): MMARVALID Position */ #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB CFSR (MMFSR): MMARVALID Mask */ -#define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ +#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U) /*!< SCB CFSR (MMFSR): MSTKERR Position */ #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB CFSR (MMFSR): MSTKERR Mask */ -#define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ +#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U) /*!< SCB CFSR (MMFSR): MUNSTKERR Position */ #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB CFSR (MMFSR): MUNSTKERR Mask */ -#define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ +#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U) /*!< SCB CFSR (MMFSR): DACCVIOL Position */ #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB CFSR (MMFSR): DACCVIOL Mask */ -#define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ +#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U) /*!< SCB CFSR (MMFSR): IACCVIOL Position */ #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB CFSR (MMFSR): IACCVIOL Mask */ /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h similarity index 98% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h index 791a8dae65..d9eedf81a6 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h @@ -1,8 +1,8 @@ /****************************************************************************** * @file mpu_armv7.h * @brief CMSIS MPU API for Armv7-M MPU - * @version V5.1.1 - * @date 10. February 2020 + * @version V5.1.2 + * @date 25. May 2020 ******************************************************************************/ /* * Copyright (c) 2017-2020 Arm Limited. All rights reserved. @@ -223,7 +223,7 @@ __STATIC_INLINE void ARM_MPU_ClrRegion(uint32_t rnr) /** Configure an MPU region. * \param rbar Value for RBAR register. -* \param rsar Value for RSAR register. +* \param rasr Value for RASR register. */ __STATIC_INLINE void ARM_MPU_SetRegion(uint32_t rbar, uint32_t rasr) { @@ -234,7 +234,7 @@ __STATIC_INLINE void ARM_MPU_SetRegion(uint32_t rbar, uint32_t rasr) /** Configure the given MPU region. * \param rnr Region number to be configured. * \param rbar Value for RBAR register. -* \param rsar Value for RSAR register. +* \param rasr Value for RASR register. */ __STATIC_INLINE void ARM_MPU_SetRegionEx(uint32_t rnr, uint32_t rbar, uint32_t rasr) { @@ -243,7 +243,7 @@ __STATIC_INLINE void ARM_MPU_SetRegionEx(uint32_t rnr, uint32_t rbar, uint32_t r MPU->RASR = rasr; } -/** Memcopy with strictly ordered memory access, e.g. for register targets. +/** Memcpy with strictly ordered memory access, e.g. used by code in ARM_MPU_Load(). * \param dst Destination data is copied to. * \param src Source data is copied from. * \param len Amount of data words to be copied. diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h similarity index 98% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h index ef44ad01df..3de16efc86 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h @@ -1,11 +1,11 @@ /****************************************************************************** * @file mpu_armv8.h * @brief CMSIS MPU API for Armv8-M and Armv8.1-M MPU - * @version V5.1.2 - * @date 10. February 2020 + * @version V5.1.3 + * @date 03. February 2021 ******************************************************************************/ /* - * Copyright (c) 2017-2020 Arm Limited. All rights reserved. + * Copyright (c) 2017-2021 Arm Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * @@ -281,7 +281,7 @@ __STATIC_INLINE void ARM_MPU_SetRegion_NS(uint32_t rnr, uint32_t rbar, uint32_t } #endif -/** Memcopy with strictly ordered memory access, e.g. for register targets. +/** Memcpy with strictly ordered memory access, e.g. used by code in ARM_MPU_LoadEx() * \param dst Destination data is copied to. * \param src Source data is copied from. * \param len Amount of data words to be copied. diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h similarity index 99% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h index dbd39d20c7..f8f3d8935b 100644 --- a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h +++ b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h @@ -1,8 +1,8 @@ /****************************************************************************** * @file pmu_armv8.h * @brief CMSIS PMU API for Armv8.1-M PMU - * @version V1.0.0 - * @date 24. March 2020 + * @version V1.0.1 + * @date 15. April 2020 ******************************************************************************/ /* * Copyright (c) 2020 Arm Limited. All rights reserved. @@ -274,7 +274,7 @@ __STATIC_INLINE uint32_t ARM_PMU_Get_CCNTR(void) */ __STATIC_INLINE uint32_t ARM_PMU_Get_EVCNTR(uint32_t num) { - return PMU->EVCNTR[num]; + return PMU_EVCNTR_CNT_Msk & PMU->EVCNTR[num]; } /** diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h diff --git a/bsp/ra6m4-cpk/ra/arm/CMSIS_5/LICENSE.txt b/bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/LICENSE.txt similarity index 100% rename from bsp/ra6m4-cpk/ra/arm/CMSIS_5/LICENSE.txt rename to bsp/renesas/ra6m4-cpk/ra/arm/CMSIS_5/LICENSE.txt diff --git a/bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board.h b/bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board.h similarity index 100% rename from bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board.h rename to bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board.h diff --git a/bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_ethernet_phy.h b/bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_ethernet_phy.h similarity index 99% rename from bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_ethernet_phy.h rename to bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_ethernet_phy.h index e0e57f9919..52efc903c9 100644 --- a/bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_ethernet_phy.h +++ b/bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_ethernet_phy.h @@ -30,7 +30,7 @@ #ifndef BSP_ETHERNET_PHY_H #define BSP_ETHERNET_PHY_H -#include + /** Common macro for FSP header files. There is also a corresponding FSP_FOOTER macro at the end of this file. */ FSP_HEADER diff --git a/bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.c b/bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.c similarity index 100% rename from bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.c rename to bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.c diff --git a/bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.h b/bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.h similarity index 100% rename from bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.h rename to bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_init.h diff --git a/bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.c b/bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.c similarity index 100% rename from bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.c rename to bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.c diff --git a/bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.h b/bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.h similarity index 98% rename from bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.h rename to bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.h index f050cdf675..10a644f212 100644 --- a/bsp/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.h +++ b/bsp/renesas/ra6m4-cpk/ra/board/ra6m4_cpk/board_leds.h @@ -57,7 +57,7 @@ typedef struct st_bsp_leds * found in the bsp_leds_t structure. */ typedef enum e_bsp_led { - BSP_LED_LED1 = 0, ///< TB LED - Red + BSP_LED_LED3 = 0, ///< TB LED - Red } bsp_led_t; /*********************************************************************************************************************** diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/api/bsp_api.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/bsp_api.h similarity index 97% rename from bsp/ra6m4-cpk/ra/fsp/inc/api/bsp_api.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/bsp_api.h index 88786d5620..c3fd642f1e 100644 --- a/bsp/ra6m4-cpk/ra/fsp/inc/api/bsp_api.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/bsp_api.h @@ -40,6 +40,7 @@ #endif /* Vector information for this project. This is generated by the tooling. */ +#include "../../src/bsp/mcu/all/bsp_arm_exceptions.h" #include "vector_data.h" /* CMSIS-CORE Renesas Device Files. Must come after bsp_feature.h, which is included in bsp_cfg.h. */ @@ -71,6 +72,11 @@ #include "../../src/bsp/mcu/all/bsp_delay.h" #include "../../src/bsp/mcu/all/bsp_mcu_api.h" +/* BSP TFU Includes. */ +#if BSP_FEATURE_TFU_SUPPORTED + #include "../../src/bsp/mcu/all/bsp_tfu.h" +#endif + /** Common macro for FSP header files. There is also a corresponding FSP_FOOTER macro at the end of this file. */ FSP_HEADER diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/api/r_external_irq_api.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_external_irq_api.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/inc/api/r_external_irq_api.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_external_irq_api.h diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/api/r_ioport_api.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_ioport_api.h similarity index 93% rename from bsp/ra6m4-cpk/ra/fsp/inc/api/r_ioport_api.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_ioport_api.h index 85a2a7dade..5983dcba0f 100644 --- a/bsp/ra6m4-cpk/ra/fsp/inc/api/r_ioport_api.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_ioport_api.h @@ -104,12 +104,21 @@ typedef enum e_ioport_peripheral /** Pin will function as a CTSU peripheral pin */ IOPORT_PERIPHERAL_CTSU = (0x0CUL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as a CMPHS peripheral pin */ + IOPORT_PERIPHERAL_ACMPHS = (0x0CUL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as a segment LCD peripheral pin */ IOPORT_PERIPHERAL_LCDC = (0x0DUL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as an SCI peripheral DEn pin */ + IOPORT_PERIPHERAL_DE_SCI1_3_5_7_9 = (0x0DUL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as a DALI peripheral pin */ IOPORT_PERIPHERAL_DALI = (0x0EUL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as an SCI DEn peripheral pin */ + IOPORT_PERIPHERAL_DE_SCI0_2_4_6_8 = (0x0EUL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as a CAN peripheral pin */ IOPORT_PERIPHERAL_CAN = (0x10UL << IOPORT_PRV_PFS_PSEL_OFFSET), @@ -125,12 +134,21 @@ typedef enum e_ioport_peripheral /** Pin will function as a USB high speed peripheral pin */ IOPORT_PERIPHERAL_USB_HS = (0x14UL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as a GPT peripheral pin */ + IOPORT_PERIPHERAL_GPT2 = (0x14UL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as an SD/MMC peripheral pin */ IOPORT_PERIPHERAL_SDHI_MMC = (0x15UL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as a GPT peripheral pin */ + IOPORT_PERIPHERAL_GPT3 = (0x15UL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as an Ethernet MMI peripheral pin */ IOPORT_PERIPHERAL_ETHER_MII = (0x16UL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as a GPT peripheral pin */ + IOPORT_PERIPHERAL_GPT4 = (0x16UL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as an Ethernet RMMI peripheral pin */ IOPORT_PERIPHERAL_ETHER_RMII = (0x17UL << IOPORT_PRV_PFS_PSEL_OFFSET), @@ -140,6 +158,9 @@ typedef enum e_ioport_peripheral /** Pin will function as a graphics LCD peripheral pin */ IOPORT_PERIPHERAL_LCD_GRAPHICS = (0x19UL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as a CAC peripheral pin */ + IOPORT_PERIPHERAL_CAC = (0x19UL << IOPORT_PRV_PFS_PSEL_OFFSET), + /** Pin will function as a debug trace peripheral pin */ IOPORT_PERIPHERAL_TRACE = (0x1AUL << IOPORT_PRV_PFS_PSEL_OFFSET), @@ -148,9 +169,15 @@ typedef enum e_ioport_peripheral /** Pin will function as a CEC peripheral pin */ IOPORT_PERIPHERAL_CEC = (0x1DUL << IOPORT_PRV_PFS_PSEL_OFFSET), + + /** Pin will function as a PGAOUT peripheral pin */ + IOPORT_PERIPHERAL_PGAOUT0 = (0x1DUL << IOPORT_PRV_PFS_PSEL_OFFSET), + + /** Pin will function as a PGAOUT peripheral pin */ + IOPORT_PERIPHERAL_PGAOUT1 = (0x1EUL << IOPORT_PRV_PFS_PSEL_OFFSET), } ioport_peripheral_t; -/** Superset of Ethernet channels. */ +/* DEPRECATED Superset of Ethernet channels. */ typedef enum e_ioport_eth_ch { IOPORT_ETHERNET_CHANNEL_0 = 0x10, ///< Used to select Ethernet channel 0 @@ -158,7 +185,7 @@ typedef enum e_ioport_eth_ch IOPORT_ETHERNET_CHANNEL_END ///< Marks end of enum - used by parameter checking } ioport_ethernet_channel_t; -/** Superset of Ethernet PHY modes. */ +/* DEPRECATED Superset of Ethernet PHY modes. */ typedef enum e_ioport_eth_mode { IOPORT_ETHERNET_MODE_RMII = 0x00, ///< Ethernet PHY mode set to MII @@ -267,7 +294,7 @@ typedef struct st_ioport_api */ fsp_err_t (* pinEventOutputWrite)(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, bsp_io_level_t pin_value); - /** Configure the PHY mode of the Ethernet channels. + /* DEPRECATED Configure the PHY mode of the Ethernet channels. * @par Implemented as * - @ref R_IOPORT_EthernetModeCfg() * @param[in] channel Channel configuration will be set for. diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/api/r_transfer_api.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_transfer_api.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/inc/api/r_transfer_api.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_transfer_api.h diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/api/r_uart_api.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_uart_api.h similarity index 93% rename from bsp/ra6m4-cpk/ra/fsp/inc/api/r_uart_api.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_uart_api.h index dd56a1fb7c..14e7ee445c 100644 --- a/bsp/ra6m4-cpk/ra/fsp/inc/api/r_uart_api.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/api/r_uart_api.h @@ -34,6 +34,7 @@ * * Implemented by: * - @ref SCI_UART + * - @ref SCI_B_UART * * @{ **********************************************************************************************************************/ @@ -76,9 +77,9 @@ typedef enum e_sf_event /** UART Data bit length definition */ typedef enum e_uart_data_bits { - UART_DATA_BITS_8, ///< Data bits 8-bit - UART_DATA_BITS_7, ///< Data bits 7-bit - UART_DATA_BITS_9 ///< Data bits 9-bit + UART_DATA_BITS_9 = 0U, ///< Data bits 9-bit + UART_DATA_BITS_8 = 2U, ///< Data bits 8-bit + UART_DATA_BITS_7 = 3U, ///< Data bits 7-bit } uart_data_bits_t; /** UART Parity definition */ @@ -171,6 +172,7 @@ typedef struct st_uart_api /** Open UART device. * @par Implemented as * - @ref R_SCI_UART_Open() + * - @ref R_SCI_B_UART_Open() * * @param[in,out] p_ctrl Pointer to the UART control block. Must be declared by user. Value set here. * @param[in] uart_cfg_t Pointer to UART configuration structure. All elements of this structure must be set by @@ -184,6 +186,7 @@ typedef struct st_uart_api * The maximum transfer size is reported by infoGet(). * @par Implemented as * - @ref R_SCI_UART_Read() + * - @ref R_SCI_B_UART_Read() * * @param[in] p_ctrl Pointer to the UART control block for the channel. * @param[in] p_dest Destination address to read data from. @@ -197,6 +200,7 @@ typedef struct st_uart_api * The maximum transfer size is reported by infoGet(). * @par Implemented as * - @ref R_SCI_UART_Write() + * - @ref R_SCI_B_UART_Write() * * @param[in] p_ctrl Pointer to the UART control block. * @param[in] p_src Source address to write data to. @@ -210,6 +214,7 @@ typedef struct st_uart_api * * @par Implemented as * - @ref R_SCI_UART_BaudSet() + * - @ref R_SCI_B_UART_BaudSet() * * @param[in] p_ctrl Pointer to the UART control block. * @param[in] p_baudrate_info Pointer to module specific information for configuring baud rate. @@ -219,6 +224,7 @@ typedef struct st_uart_api /** Get the driver specific information. * @par Implemented as * - @ref R_SCI_UART_InfoGet() + * - @ref R_SCI_B_UART_InfoGet() * * @param[in] p_ctrl Pointer to the UART control block. * @param[in] baudrate Baud rate in bps. @@ -229,6 +235,7 @@ typedef struct st_uart_api * Abort ongoing transfer. * @par Implemented as * - @ref R_SCI_UART_Abort() + * - @ref R_SCI_B_UART_Abort() * * @param[in] p_ctrl Pointer to the UART control block. * @param[in] communication_to_abort Type of abort request. @@ -239,6 +246,7 @@ typedef struct st_uart_api * Specify callback function and optional context pointer and working memory pointer. * @par Implemented as * - R_SCI_Uart_CallbackSet() + * - R_SCI_B_Uart_CallbackSet() * * @param[in] p_ctrl Pointer to the UART control block. * @param[in] p_callback Callback function @@ -252,10 +260,21 @@ typedef struct st_uart_api /** Close UART device. * @par Implemented as * - @ref R_SCI_UART_Close() + * - @ref R_SCI_B_UART_Close() * * @param[in] p_ctrl Pointer to the UART control block. */ fsp_err_t (* close)(uart_ctrl_t * const p_ctrl); + + /** Stop ongoing read and return the number of bytes remaining in the read. + * @par Implemented as + * - @ref R_SCI_UART_ReadStop() + * - @ref R_SCI_B_UART_ReadStop() + * + * @param[in] p_ctrl Pointer to the UART control block. + * @param[in,out] remaining_bytes Pointer to location to store remaining bytes for read. + */ + fsp_err_t (* readStop)(uart_ctrl_t * const p_ctrl, uint32_t * remaining_bytes); } uart_api_t; /** This structure encompasses everything that is needed to use an instance of this interface. */ diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/fsp_common_api.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/fsp_common_api.h similarity index 97% rename from bsp/ra6m4-cpk/ra/fsp/inc/fsp_common_api.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/fsp_common_api.h index 79ae8e5ba9..478b41a5f3 100644 --- a/bsp/ra6m4-cpk/ra/fsp/inc/fsp_common_api.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/fsp_common_api.h @@ -108,6 +108,7 @@ typedef enum e_fsp_err FSP_ERR_NOT_FOUND = 34, ///< The requested item could not be found FSP_ERR_NO_CALLBACK_MEMORY = 35, ///< Non-secure callback memory not provided for non-secure callback FSP_ERR_BUFFER_EMPTY = 36, ///< No data available in buffer + FSP_ERR_INVALID_DATA = 37, ///< Accuracy of data is not guaranteed /* Start of RTOS only error codes */ FSP_ERR_INTERNAL = 100, ///< Internal error @@ -276,14 +277,16 @@ typedef enum e_fsp_err FSP_ERR_CAN_RECEIVE_MAILBOX = 60004, ///< Mailbox is setup as a receive mailbox. FSP_ERR_CAN_TRANSMIT_MAILBOX = 60005, ///< Mailbox is setup as a transmit mailbox. FSP_ERR_CAN_MESSAGE_LOST = 60006, ///< Receive message has been overwritten or overrun. + FSP_ERR_CAN_TRANSMIT_FIFO_FULL = 60007, ///< Transmit FIFO is full. /* Start of SF_WIFI Specific */ - FSP_ERR_WIFI_CONFIG_FAILED = 70000, ///< WiFi module Configuration failed. - FSP_ERR_WIFI_INIT_FAILED = 70001, ///< WiFi module initialization failed. - FSP_ERR_WIFI_TRANSMIT_FAILED = 70002, ///< Transmission failed - FSP_ERR_WIFI_INVALID_MODE = 70003, ///< API called when provisioned in client mode - FSP_ERR_WIFI_FAILED = 70004, ///< WiFi Failed. - FSP_ERR_WIFI_SCAN_COMPLETE = 70005, ///< Wifi scan has completed. + FSP_ERR_WIFI_CONFIG_FAILED = 70000, ///< WiFi module Configuration failed. + FSP_ERR_WIFI_INIT_FAILED = 70001, ///< WiFi module initialization failed. + FSP_ERR_WIFI_TRANSMIT_FAILED = 70002, ///< Transmission failed + FSP_ERR_WIFI_INVALID_MODE = 70003, ///< API called when provisioned in client mode + FSP_ERR_WIFI_FAILED = 70004, ///< WiFi Failed. + FSP_ERR_WIFI_SCAN_COMPLETE = 70005, ///< Wifi scan has completed. + FSP_ERR_WIFI_AP_NOT_CONNECTED = 70006, ///< WiFi module is not connected to access point /* Start of SF_CELLULAR Specific */ FSP_ERR_CELLULAR_CONFIG_FAILED = 80000, ///< Cellular module Configuration failed. diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/fsp_features.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/fsp_features.h similarity index 97% rename from bsp/ra6m4-cpk/ra/fsp/inc/fsp_features.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/fsp_features.h index 9687250b89..09bd6b7f3e 100644 --- a/bsp/ra6m4-cpk/ra/fsp/inc/fsp_features.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/fsp_features.h @@ -115,6 +115,9 @@ typedef enum e_fsp_ip FSP_IP_USBHS = 71, ///< USB High Speed FSP_IP_OSPI = 72, ///< Octa Serial Peripheral Interface FSP_IP_CEC = 73, ///< HDMI CEC + FSP_IP_TFU = 74, ///< Trigonometric Function Unit + FSP_IP_IIRFA = 75, ///< IIR Filter Accelerator + FSP_IP_CANFD = 76, ///< CAN-FD } fsp_ip_t; /** Signals that can be mapped to an interrupt. */ @@ -221,6 +224,10 @@ typedef enum e_fsp_signal FSP_SIGNAL_IOPORT_EVENT_2, ///< IOPORT EVENT 2 FSP_SIGNAL_IOPORT_EVENT_3, ///< IOPORT EVENT 3 FSP_SIGNAL_IOPORT_EVENT_4, ///< IOPORT EVENT 4 + FSP_SIGNAL_IOPORT_EVENT_B = 0, ///< IOPORT EVENT B + FSP_SIGNAL_IOPORT_EVENT_C, ///< IOPORT EVENT C + FSP_SIGNAL_IOPORT_EVENT_D, ///< IOPORT EVENT D + FSP_SIGNAL_IOPORT_EVENT_E, ///< IOPORT EVENT E FSP_SIGNAL_IWDT_UNDERFLOW = 0, ///< IWDT UNDERFLOW FSP_SIGNAL_JPEG_JDTI = 0, ///< JPEG JDTI FSP_SIGNAL_JPEG_JEDI, ///< JPEG JEDI diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/fsp_version.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/fsp_version.h similarity index 97% rename from bsp/ra6m4-cpk/ra/fsp/inc/fsp_version.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/fsp_version.h index d7bce2829b..e8b2bfc502 100644 --- a/bsp/ra6m4-cpk/ra/fsp/inc/fsp_version.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/fsp_version.h @@ -41,7 +41,7 @@ #define FSP_VERSION_MAJOR (3U) /** FSP pack minor version. */ -#define FSP_VERSION_MINOR (1U) +#define FSP_VERSION_MINOR (5U) /** FSP pack patch version. */ #define FSP_VERSION_PATCH (0U) @@ -50,10 +50,10 @@ #define FSP_VERSION_BUILD (0U) /** Public FSP version name. */ -#define FSP_VERSION_STRING ("3.1.0") +#define FSP_VERSION_STRING ("3.5.0") /** Unique FSP version ID. */ -#define FSP_VERSION_BUILD_STRING ("Built with Renesas Advanced Flexible Software Package version 3.1.0") +#define FSP_VERSION_BUILD_STRING ("Built with Renesas Advanced Flexible Software Package version 3.5.0") /********************************************************************************************************************** * Typedef definitions diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/instances/r_icu.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/instances/r_icu.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/inc/instances/r_icu.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/instances/r_icu.h diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/instances/r_ioport.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/instances/r_ioport.h similarity index 86% rename from bsp/ra6m4-cpk/ra/fsp/inc/instances/r_ioport.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/instances/r_ioport.h index 26e1aede25..9e1861cde8 100644 --- a/bsp/ra6m4-cpk/ra/fsp/inc/instances/r_ioport.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/instances/r_ioport.h @@ -259,6 +259,57 @@ typedef enum e_ioport_port_pin_t IOPORT_PORT_11_PIN_13 = 0x0B0D, ///< IO port 11 pin 13 IOPORT_PORT_11_PIN_14 = 0x0B0E, ///< IO port 11 pin 14 IOPORT_PORT_11_PIN_15 = 0x0B0F, ///< IO port 11 pin 15 + + IOPORT_PORT_12_PIN_00 = 0x0C00, ///< IO port 12 pin 0 + IOPORT_PORT_12_PIN_01 = 0x0C01, ///< IO port 12 pin 1 + IOPORT_PORT_12_PIN_02 = 0x0C02, ///< IO port 12 pin 2 + IOPORT_PORT_12_PIN_03 = 0x0C03, ///< IO port 12 pin 3 + IOPORT_PORT_12_PIN_04 = 0x0C04, ///< IO port 12 pin 4 + IOPORT_PORT_12_PIN_05 = 0x0C05, ///< IO port 12 pin 5 + IOPORT_PORT_12_PIN_06 = 0x0C06, ///< IO port 12 pin 6 + IOPORT_PORT_12_PIN_07 = 0x0C07, ///< IO port 12 pin 7 + IOPORT_PORT_12_PIN_08 = 0x0C08, ///< IO port 12 pin 8 + IOPORT_PORT_12_PIN_09 = 0x0C09, ///< IO port 12 pin 9 + IOPORT_PORT_12_PIN_10 = 0x0C0A, ///< IO port 12 pin 10 + IOPORT_PORT_12_PIN_11 = 0x0C0B, ///< IO port 12 pin 11 + IOPORT_PORT_12_PIN_12 = 0x0C0C, ///< IO port 12 pin 12 + IOPORT_PORT_12_PIN_13 = 0x0C0D, ///< IO port 12 pin 13 + IOPORT_PORT_12_PIN_14 = 0x0C0E, ///< IO port 12 pin 14 + IOPORT_PORT_12_PIN_15 = 0x0C0F, ///< IO port 12 pin 15 + + IOPORT_PORT_13_PIN_00 = 0x0D00, ///< IO port 13 pin 0 + IOPORT_PORT_13_PIN_01 = 0x0D01, ///< IO port 13 pin 1 + IOPORT_PORT_13_PIN_02 = 0x0D02, ///< IO port 13 pin 2 + IOPORT_PORT_13_PIN_03 = 0x0D03, ///< IO port 13 pin 3 + IOPORT_PORT_13_PIN_04 = 0x0D04, ///< IO port 13 pin 4 + IOPORT_PORT_13_PIN_05 = 0x0D05, ///< IO port 13 pin 5 + IOPORT_PORT_13_PIN_06 = 0x0D06, ///< IO port 13 pin 6 + IOPORT_PORT_13_PIN_07 = 0x0D07, ///< IO port 13 pin 7 + IOPORT_PORT_13_PIN_08 = 0x0D08, ///< IO port 13 pin 8 + IOPORT_PORT_13_PIN_09 = 0x0D09, ///< IO port 13 pin 9 + IOPORT_PORT_13_PIN_10 = 0x0D0A, ///< IO port 13 pin 10 + IOPORT_PORT_13_PIN_11 = 0x0D0B, ///< IO port 13 pin 11 + IOPORT_PORT_13_PIN_12 = 0x0D0C, ///< IO port 13 pin 12 + IOPORT_PORT_13_PIN_13 = 0x0D0D, ///< IO port 13 pin 13 + IOPORT_PORT_13_PIN_14 = 0x0D0E, ///< IO port 13 pin 14 + IOPORT_PORT_13_PIN_15 = 0x0D0F, ///< IO port 13 pin 15 + + IOPORT_PORT_14_PIN_00 = 0x0E00, ///< IO port 14 pin 0 + IOPORT_PORT_14_PIN_01 = 0x0E01, ///< IO port 14 pin 1 + IOPORT_PORT_14_PIN_02 = 0x0E02, ///< IO port 14 pin 2 + IOPORT_PORT_14_PIN_03 = 0x0E03, ///< IO port 14 pin 3 + IOPORT_PORT_14_PIN_04 = 0x0E04, ///< IO port 14 pin 4 + IOPORT_PORT_14_PIN_05 = 0x0E05, ///< IO port 14 pin 5 + IOPORT_PORT_14_PIN_06 = 0x0E06, ///< IO port 14 pin 6 + IOPORT_PORT_14_PIN_07 = 0x0E07, ///< IO port 14 pin 7 + IOPORT_PORT_14_PIN_08 = 0x0E08, ///< IO port 14 pin 8 + IOPORT_PORT_14_PIN_09 = 0x0E09, ///< IO port 14 pin 9 + IOPORT_PORT_14_PIN_10 = 0x0E0A, ///< IO port 14 pin 10 + IOPORT_PORT_14_PIN_11 = 0x0E0B, ///< IO port 14 pin 11 + IOPORT_PORT_14_PIN_12 = 0x0E0C, ///< IO port 14 pin 12 + IOPORT_PORT_14_PIN_13 = 0x0E0D, ///< IO port 14 pin 13 + IOPORT_PORT_14_PIN_14 = 0x0E0E, ///< IO port 14 pin 14 + IOPORT_PORT_14_PIN_15 = 0x0E0F, ///< IO port 14 pin 15 } ioport_port_pin_t; /********************************************************************************************************************** diff --git a/bsp/ra6m4-cpk/ra/fsp/inc/instances/r_sci_uart.h b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/instances/r_sci_uart.h similarity index 94% rename from bsp/ra6m4-cpk/ra/fsp/inc/instances/r_sci_uart.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/inc/instances/r_sci_uart.h index b9abdbbfc7..520240450a 100644 --- a/bsp/ra6m4-cpk/ra/fsp/inc/instances/r_sci_uart.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/inc/instances/r_sci_uart.h @@ -54,11 +54,12 @@ typedef enum e_sci_clk_src } sci_clk_src_t; /** UART flow control mode definition */ -typedef enum e_flow_control +typedef enum e_sci_uart_flow_control { - SCI_UART_FLOW_CONTROL_RTS = 0U, ///< Use SCI pin for RTS - SCI_UART_FLOW_CONTROL_CTS = 1U, ///< Use SCI pin for CTS - SCI_UART_FLOW_CONTROL_CTSRTS = 3U, ///< Use SCI pin for CTS, external pin for RTS + SCI_UART_FLOW_CONTROL_RTS = 0U, ///< Use SCI pin for RTS + SCI_UART_FLOW_CONTROL_CTS = 1U, ///< Use SCI pin for CTS + SCI_UART_FLOW_CONTROL_CTSRTS = 3U, ///< Use SCI pin for CTS, external pin for RTS + SCI_UART_FLOW_CONTROL_HARDWARE_CTSRTS = 8U, ///< Use CTSn_RTSn pin for RTS and CTSn pin for CTS. Available only for some channels on selected MCUs. See hardware manual for channel specific options } sci_uart_flow_control_t; /** UART instance control block. */ @@ -179,6 +180,7 @@ fsp_err_t R_SCI_UART_CallbackSet(uart_ctrl_t * const p_api_ctrl, void ( * p_callback)(uart_callback_args_t *), void const * const p_context, uart_callback_args_t * const p_callback_memory); +fsp_err_t R_SCI_UART_ReadStop(uart_ctrl_t * const p_api_ctrl, uint32_t * remaining_bytes); /*******************************************************************************************************************//** * @} (end addtogroup SCI_UART) diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h similarity index 65% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h index 8ef6175970..8542eaa843 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h @@ -11,6 +11,10 @@ * @{ */ + #define R_ACMPHS0_BASE 0x400F4000 + #define R_ACMPHS1_BASE 0x400F4100 + #define R_ACMPHS2_BASE 0x400F4200 + #define R_ACMPHS3_BASE 0x400F4300 #define R_MPU_BASE 0x40000000 #define R_TZF_BASE 0x40000E00 #define R_SRAM_BASE 0x40002000 @@ -33,15 +37,13 @@ #define R_SYSC_BASE 0x4001E000 #define R_TSN_CAL_BASE 0x407FB17C #define R_TSN_CTRL_BASE 0x400F3000 - #define R_PFS_BASE 0x40080800 #define R_ELC_BASE 0x40082000 #define R_TC_BASE 0x40083000 #define R_IWDT_BASE 0x40083200 #define R_WDT_BASE 0x40083400 #define R_CAC_BASE 0x40083600 - #define R_MSTP_BASE 0x40084004 - -// #define R_MSTP_BASE 0x40084000 + #define R_MSTP_BASE 0x40084000 + #define R_KINT_BASE 0x40085000 #define R_POEG_BASE 0x4008A000 #define R_USB_FS0_BASE 0x40090000 #define R_USB_HS0_BASE 0x40111000 @@ -63,6 +65,8 @@ #define R_AGT3_BASE 0x400E8300 #define R_AGT4_BASE 0x400E8400 #define R_AGT5_BASE 0x400E8500 + #define R_AGTW0_BASE 0x400E8000 + #define R_AGTW1_BASE 0x400E8100 #define R_TSN_CTRL_BASE 0x400F3000 #define R_CRC_BASE 0x40108000 #define R_DOC_BASE 0x40109000 @@ -80,6 +84,8 @@ #define R_SCI9_BASE 0x40118900 #define R_SPI0_BASE 0x4011A000 #define R_SPI1_BASE 0x4011A100 + #define R_SPI_B0_BASE 0x4011A000 + #define R_SPI_B1_BASE 0x4011A100 #define R_GPT320_BASE 0x40169000 #define R_GPT321_BASE 0x40169100 #define R_GPT322_BASE 0x40169200 @@ -91,30 +97,52 @@ #define R_GPT168_BASE 0x40169800 #define R_GPT169_BASE 0x40169900 #define R_GPT_OPS_BASE 0x40169A00 + #define R_GPT_ODC_BASE 0x4016A000 + #define R_GPT_GTCLK_BASE 0x40169B00 #define R_ADC120_BASE 0x40170000 #define R_ADC121_BASE 0x40170200 - #define R_DAC12_BASE 0x40171000 + +/* Not included in SVD */ + #if (BSP_FEATURE_DAC_MAX_CHANNELS > 2U) + #define R_DAC120_BASE 0x40172000 + #define R_DAC121_BASE 0x40172100 + #else + #define R_DAC12_BASE 0x40171000 + #endif #define R_FLAD_BASE 0x407FC000 #define R_FACI_HP_CMD_BASE 0x407E0000 #define R_FACI_HP_BASE 0x407FE000 #define R_QSPI_BASE 0x64000000 + #define R_TFU_BASE 0x40021000 /* Not included in SVD */ - #define R_PORT0_BASE 0x40080000 - #define R_PORT1_BASE 0x40080020 - #define R_PORT2_BASE 0x40080040 - #define R_PORT3_BASE 0x40080060 - #define R_PORT4_BASE 0x40080080 - #define R_PORT5_BASE 0x400800A0 - #define R_PORT6_BASE 0x400800C0 - #define R_PORT7_BASE 0x400800E0 - #define R_PORT8_BASE 0x40080100 - #define R_PORT9_BASE 0x40080120 - #define R_PORT10_BASE 0x40080140 - #define R_PORT11_BASE 0x40080160 - #define R_PFS_BASE 0x40080800 - #define R_PMISC_BASE 0x40080D00 // does not exist but FSP will not build without this - + #if (2U == BSP_FEATURE_IOPORT_VERSION) + #define R_PORT0_BASE 0x4001F000 + #define R_PORT1_BASE 0x4001F020 + #define R_PORT2_BASE 0x4001F040 + #define R_PORT10_BASE 0x4001F140 + #define R_PORT11_BASE 0x4001F160 + #define R_PORT12_BASE 0x4001F180 + #define R_PORT13_BASE 0x4001F1A0 + #define R_PORT14_BASE 0x4001F1C0 + #define R_PFS_BASE 0x4001F800 + #define R_PMISC_BASE 0x4001FD00 + #else + #define R_PORT0_BASE 0x40080000 + #define R_PORT1_BASE 0x40080020 + #define R_PORT2_BASE 0x40080040 + #define R_PORT3_BASE 0x40080060 + #define R_PORT4_BASE 0x40080080 + #define R_PORT5_BASE 0x400800A0 + #define R_PORT6_BASE 0x400800C0 + #define R_PORT7_BASE 0x400800E0 + #define R_PORT8_BASE 0x40080100 + #define R_PORT9_BASE 0x40080120 + #define R_PORT10_BASE 0x40080140 + #define R_PORT11_BASE 0x40080160 + #define R_PFS_BASE 0x40080800 + #define R_PMISC_BASE 0x40080D00 // does not exist but FSP will not build without this + #endif #define R_GPT_POEG0_BASE 0x4008A000 #define R_GPT_POEG1_BASE 0x4008A100 #define R_GPT_POEG2_BASE 0x4008A200 @@ -122,6 +150,9 @@ #define R_RTC_BASE 0x40083000 + #define R_I3C0_BASE 0x4011F000 + #define R_I3C1_BASE 0x4011F400 + /** @} */ /* End of group Device_Peripheral_peripheralAddr */ /* =========================================================================================================================== */ @@ -133,114 +164,167 @@ */ // #define R_MPU ((R_MPU_Type *) R_MPU_BASE) - #define R_TZF ((R_TZF_Type *) R_TZF_BASE) - #define R_SRAM ((R_SRAM_Type *) R_SRAM_BASE) - #define R_BUS ((R_BUS_Type *) R_BUS_BASE) - #define R_DMAC0 ((R_DMAC0_Type *) R_DMAC0_BASE) - #define R_DMAC1 ((R_DMAC0_Type *) R_DMAC1_BASE) - #define R_DMAC2 ((R_DMAC0_Type *) R_DMAC2_BASE) - #define R_DMAC3 ((R_DMAC0_Type *) R_DMAC3_BASE) - #define R_DMAC4 ((R_DMAC0_Type *) R_DMAC4_BASE) - #define R_DMAC5 ((R_DMAC0_Type *) R_DMAC5_BASE) - #define R_DMAC6 ((R_DMAC0_Type *) R_DMAC6_BASE) - #define R_DMAC7 ((R_DMAC0_Type *) R_DMAC7_BASE) - #define R_DMA ((R_DMA_Type *) R_DMA_BASE) - #define R_DTC ((R_DTC_Type *) R_DTC_BASE) - #define R_ICU ((R_ICU_Type *) R_ICU_BASE) - #define R_CACHE ((R_CACHE_Type *) R_CACHE_BASE) - #define R_CPSCU ((R_CPSCU_Type *) R_CPSCU_BASE) - #define R_DEBUG ((R_DEBUG_Type *) R_DBG_BASE) - #define R_FCACHE ((R_FCACHE_Type *) R_FCACHE_BASE) - #define R_SYSTEM ((R_SYSTEM_Type *) R_SYSC_BASE) - #define R_TSN_CAL ((R_TSN_CAL_Type *) R_TSN_CAL_BASE) - #define R_TSN_CTRL ((R_TSN_CTRL_Type *) R_TSN_CTRL_BASE) - #define R_PFS ((R_PFS_Type *) R_PFS_BASE) - #define R_ELC ((R_ELC_Type *) R_ELC_BASE) - #define R_TC ((R_TC_Type *) R_TC_BASE) - #define R_IWDT ((R_IWDT_Type *) R_IWDT_BASE) - #define R_WDT ((R_WDT_Type *) R_WDT_BASE) - #define R_CAC ((R_CAC_Type *) R_CAC_BASE) - #define R_MSTP ((R_MSTP_Type *) R_MSTP_BASE) - #define R_POEG ((R_POEG_Type *) R_POEG_BASE) - #define R_USB_FS0 ((R_USB_FS0_Type *) R_USB_FS0_BASE) - #define R_USB_HS0 ((R_USB_HS0_Type *) R_USB_HS0_BASE) - #define R_SDHI0 ((R_SDHI0_Type *) R_SDHI0_BASE) - #define R_SSI0 ((R_SSI0_Type *) R_SSI0_BASE) - #define R_IIC0 ((R_IIC0_Type *) R_IIC0_BASE) - #define R_IIC0WU ((R_IIC0WU_Type *) R_IIC0WU_BASE) - #define R_IIC1 ((R_IIC0_Type *) R_IIC1_BASE) - #define R_OSPI ((R_OSPI_Type *) R_OSPI_BASE) - #define R_CAN0 ((R_CAN0_Type *) R_CAN0_BASE) - #define R_CAN1 ((R_CAN0_Type *) R_CAN1_BASE) - #define R_CEC ((R_CEC_Type *) R_CEC_BASE) - #define R_CANFD ((R_CANFD_Type *) R_CANFD_BASE) - #define R_CTSU ((R_CTSU_Type *) R_CTSU_BASE) - #define R_PSCU ((R_PSCU_Type *) R_PSCU_BASE) - #define R_AGT0 ((R_AGT0_Type *) R_AGT0_BASE) - #define R_AGT1 ((R_AGT0_Type *) R_AGT1_BASE) - #define R_AGT2 ((R_AGT0_Type *) R_AGT2_BASE) - #define R_AGT3 ((R_AGT0_Type *) R_AGT3_BASE) - #define R_AGT4 ((R_AGT0_Type *) R_AGT4_BASE) - #define R_AGT5 ((R_AGT0_Type *) R_AGT5_BASE) - #define R_TSN_CTRL ((R_TSN_CTRL_Type *) R_TSN_CTRL_BASE) - #define R_CRC ((R_CRC_Type *) R_CRC_BASE) - #define R_DOC ((R_DOC_Type *) R_DOC_BASE) - #define R_ETHERC_EDMAC ((R_ETHERC_EDMAC_Type *) R_ETHERC_EDMAC_BASE) - #define R_ETHERC0 ((R_ETHERC0_Type *) R_ETHERC0_BASE) - #define R_SCI0 ((R_SCI0_Type *) R_SCI0_BASE) - #define R_SCI1 ((R_SCI0_Type *) R_SCI1_BASE) - #define R_SCI2 ((R_SCI0_Type *) R_SCI2_BASE) - #define R_SCI3 ((R_SCI0_Type *) R_SCI3_BASE) - #define R_SCI4 ((R_SCI0_Type *) R_SCI4_BASE) - #define R_SCI5 ((R_SCI0_Type *) R_SCI5_BASE) - #define R_SCI6 ((R_SCI0_Type *) R_SCI6_BASE) - #define R_SCI7 ((R_SCI0_Type *) R_SCI7_BASE) - #define R_SCI8 ((R_SCI0_Type *) R_SCI8_BASE) - #define R_SCI9 ((R_SCI0_Type *) R_SCI9_BASE) - #define R_SPI0 ((R_SPI0_Type *) R_SPI0_BASE) - #define R_SPI1 ((R_SPI0_Type *) R_SPI1_BASE) - #define R_GPT0 ((R_GPT0_Type *) R_GPT320_BASE) - #define R_GPT1 ((R_GPT0_Type *) R_GPT321_BASE) - #define R_GPT2 ((R_GPT0_Type *) R_GPT322_BASE) - #define R_GPT3 ((R_GPT0_Type *) R_GPT323_BASE) - #define R_GPT4 ((R_GPT0_Type *) R_GPT164_BASE) - #define R_GPT5 ((R_GPT0_Type *) R_GPT165_BASE) - #define R_GPT6 ((R_GPT0_Type *) R_GPT166_BASE) - #define R_GPT7 ((R_GPT0_Type *) R_GPT167_BASE) - #define R_GPT8 ((R_GPT0_Type *) R_GPT168_BASE) - #define R_GPT9 ((R_GPT0_Type *) R_GPT169_BASE) - #define R_GPT_OPS ((R_GPT_OPS_Type *) R_GPT_OPS_BASE) - #define R_ADC0 ((R_ADC0_Type *) R_ADC120_BASE) - #define R_ADC1 ((R_ADC0_Type *) R_ADC121_BASE) - #define R_DAC ((R_DAC_Type *) R_DAC12_BASE) - #define R_FLAD ((R_FLAD_Type *) R_FLAD_BASE) - #define R_FACI_HP_CMD ((R_FACI_HP_CMD_Type *) R_FACI_HP_CMD_BASE) - #define R_FACI_HP ((R_FACI_HP_Type *) R_FACI_HP_BASE) - #define R_QSPI ((R_QSPI_Type *) R_QSPI_BASE) + #define R_ACMPHS0 ((R_ACMPHS0_Type *) R_ACMPHS0_BASE) + #define R_ACMPHS1 ((R_ACMPHS0_Type *) R_ACMPHS1_BASE) + #define R_ACMPHS2 ((R_ACMPHS0_Type *) R_ACMPHS2_BASE) + #define R_ACMPHS3 ((R_ACMPHS0_Type *) R_ACMPHS3_BASE) + #define R_ACMPHS4 ((R_ACMPHS0_Type *) R_ACMPHS4_BASE) + #define R_ACMPHS5 ((R_ACMPHS0_Type *) R_ACMPHS5_BASE) + #define R_TZF ((R_TZF_Type *) R_TZF_BASE) + #define R_SRAM ((R_SRAM_Type *) R_SRAM_BASE) + #define R_BUS ((R_BUS_B_Type *) R_BUS_BASE) + #define R_DMAC0 ((R_DMAC0_Type *) R_DMAC0_BASE) + #define R_DMAC1 ((R_DMAC0_Type *) R_DMAC1_BASE) + #define R_DMAC2 ((R_DMAC0_Type *) R_DMAC2_BASE) + #define R_DMAC3 ((R_DMAC0_Type *) R_DMAC3_BASE) + #define R_DMAC4 ((R_DMAC0_Type *) R_DMAC4_BASE) + #define R_DMAC5 ((R_DMAC0_Type *) R_DMAC5_BASE) + #define R_DMAC6 ((R_DMAC0_Type *) R_DMAC6_BASE) + #define R_DMAC7 ((R_DMAC0_Type *) R_DMAC7_BASE) + #define R_DMA ((R_DMA_Type *) R_DMA_BASE) + #define R_DTC ((R_DTC_Type *) R_DTC_BASE) + #define R_ICU ((R_ICU_Type *) R_ICU_BASE) + #define R_CACHE ((R_CACHE_Type *) R_CACHE_BASE) + #define R_CPSCU ((R_CPSCU_Type *) R_CPSCU_BASE) + #define R_DEBUG ((R_DEBUG_Type *) R_DBG_BASE) + #define R_FCACHE ((R_FCACHE_Type *) R_FCACHE_BASE) + #define R_SYSTEM ((R_SYSTEM_Type *) R_SYSC_BASE) + #define R_TSN_CAL ((R_TSN_CAL_Type *) R_TSN_CAL_BASE) + #define R_TSN_CTRL ((R_TSN_CTRL_Type *) R_TSN_CTRL_BASE) + #define R_PFS ((R_PFS_Type *) R_PFS_BASE) + #define R_ELC ((R_ELC_Type *) R_ELC_BASE) + #define R_TC ((R_TC_Type *) R_TC_BASE) + #define R_IWDT ((R_IWDT_Type *) R_IWDT_BASE) + #define R_KINT ((R_KINT_Type *) R_KINT_BASE) + #define R_WDT ((R_WDT_Type *) R_WDT_BASE) + #define R_CAC ((R_CAC_Type *) R_CAC_BASE) + #define R_MSTP ((R_MSTP_Type *) R_MSTP_BASE) + #define R_POEG ((R_POEG_Type *) R_POEG_BASE) + #define R_USB_FS0 ((R_USB_FS0_Type *) R_USB_FS0_BASE) + #define R_USB_HS0 ((R_USB_HS0_Type *) R_USB_HS0_BASE) + #define R_SDHI0 ((R_SDHI0_Type *) R_SDHI0_BASE) + #define R_SSI0 ((R_SSI0_Type *) R_SSI0_BASE) + #define R_IIC0 ((R_IIC0_Type *) R_IIC0_BASE) + #define R_IIC0WU ((R_IIC0WU_Type *) R_IIC0WU_BASE) + #define R_IIC1 ((R_IIC0_Type *) R_IIC1_BASE) + #define R_OSPI ((R_OSPI_Type *) R_OSPI_BASE) + #define R_CAN0 ((R_CAN0_Type *) R_CAN0_BASE) + #define R_CAN1 ((R_CAN0_Type *) R_CAN1_BASE) + #define R_CEC ((R_CEC_Type *) R_CEC_BASE) + #if BSP_FEATURE_CANFD_LITE + #define R_CANFD ((R_CANFDL_Type *) R_CANFD_BASE) + #else + #define R_CANFD ((R_CANFD_Type *) R_CANFD_BASE) + #endif + #define R_CTSU ((R_CTSU_Type *) R_CTSU_BASE) + #define R_PSCU ((R_PSCU_Type *) R_PSCU_BASE) + #if BSP_FEATURE_AGT_HAS_AGTW + #define R_AGT0 ((R_AGTW0_Type *) R_AGT0_BASE) + #define R_AGT1 ((R_AGTW0_Type *) R_AGT1_BASE) + #define R_AGT2 ((R_AGTW0_Type *) R_AGT2_BASE) + #define R_AGT3 ((R_AGTW0_Type *) R_AGT3_BASE) + #define R_AGT4 ((R_AGTW0_Type *) R_AGT4_BASE) + #define R_AGT5 ((R_AGTW0_Type *) R_AGT5_BASE) + #else + #define R_AGT0 ((R_AGT0_Type *) R_AGT0_BASE) + #define R_AGT1 ((R_AGT0_Type *) R_AGT1_BASE) + #define R_AGT2 ((R_AGT0_Type *) R_AGT2_BASE) + #define R_AGT3 ((R_AGT0_Type *) R_AGT3_BASE) + #define R_AGT4 ((R_AGT0_Type *) R_AGT4_BASE) + #define R_AGT5 ((R_AGT0_Type *) R_AGT5_BASE) + #endif + #define R_AGTW0 ((R_AGTW0_Type *) R_AGTW0_BASE) + #define R_AGTW1 ((R_AGTW0_Type *) R_AGTW1_BASE) + #define R_TSN_CTRL ((R_TSN_CTRL_Type *) R_TSN_CTRL_BASE) + #define R_CRC ((R_CRC_Type *) R_CRC_BASE) + #if (2U == BSP_FEATURE_DOC_VERSION) + #define R_DOC_B ((R_DOC_B_Type *) R_DOC_BASE) + #else + #define R_DOC ((R_DOC_Type *) R_DOC_BASE) + #endif + #define R_ETHERC_EDMAC ((R_ETHERC_EDMAC_Type *) R_ETHERC_EDMAC_BASE) + #define R_ETHERC0 ((R_ETHERC0_Type *) R_ETHERC0_BASE) + #if (2U == BSP_FEATURE_SCI_VERSION) + #define R_SCI0 ((R_SCI_B0_Type *) R_SCI0_BASE) + #define R_SCI1 ((R_SCI_B0_Type *) R_SCI1_BASE) + #define R_SCI2 ((R_SCI_B0_Type *) R_SCI2_BASE) + #define R_SCI3 ((R_SCI_B0_Type *) R_SCI3_BASE) + #define R_SCI4 ((R_SCI_B0_Type *) R_SCI4_BASE) + #define R_SCI9 ((R_SCI_B0_Type *) R_SCI9_BASE) + #else + #define R_SCI0 ((R_SCI0_Type *) R_SCI0_BASE) + #define R_SCI1 ((R_SCI0_Type *) R_SCI1_BASE) + #define R_SCI2 ((R_SCI0_Type *) R_SCI2_BASE) + #define R_SCI3 ((R_SCI0_Type *) R_SCI3_BASE) + #define R_SCI4 ((R_SCI0_Type *) R_SCI4_BASE) + #define R_SCI5 ((R_SCI0_Type *) R_SCI5_BASE) + #define R_SCI6 ((R_SCI0_Type *) R_SCI6_BASE) + #define R_SCI7 ((R_SCI0_Type *) R_SCI7_BASE) + #define R_SCI8 ((R_SCI0_Type *) R_SCI8_BASE) + #define R_SCI9 ((R_SCI0_Type *) R_SCI9_BASE) + #endif + #define R_SPI0 ((R_SPI0_Type *) R_SPI0_BASE) + #define R_SPI1 ((R_SPI0_Type *) R_SPI1_BASE) + #define R_SPI_B0 ((R_SPI_B0_Type *) R_SPI_B0_BASE) + #define R_SPI_B1 ((R_SPI_B0_Type *) R_SPI_B1_BASE) + #define R_GPT0 ((R_GPT0_Type *) R_GPT320_BASE) + #define R_GPT1 ((R_GPT0_Type *) R_GPT321_BASE) + #define R_GPT2 ((R_GPT0_Type *) R_GPT322_BASE) + #define R_GPT3 ((R_GPT0_Type *) R_GPT323_BASE) + #define R_GPT4 ((R_GPT0_Type *) R_GPT164_BASE) + #define R_GPT5 ((R_GPT0_Type *) R_GPT165_BASE) + #define R_GPT6 ((R_GPT0_Type *) R_GPT166_BASE) + #define R_GPT7 ((R_GPT0_Type *) R_GPT167_BASE) + #define R_GPT8 ((R_GPT0_Type *) R_GPT168_BASE) + #define R_GPT9 ((R_GPT0_Type *) R_GPT169_BASE) + #define R_GPT_ODC ((R_GPT_ODC_Type *) R_GPT_ODC_BASE) + #define R_GPT_OPS ((R_GPT_OPS_Type *) R_GPT_OPS_BASE) + #define R_GPT_GTCLK ((R_GPT_GTCLK_Type *) R_GPT_GTCLK_BASE) + #define R_ADC0 ((R_ADC0_Type *) R_ADC120_BASE) + #define R_ADC1 ((R_ADC0_Type *) R_ADC121_BASE) + #define R_ADC_B ((R_ADC_B0_Type *) R_ADC120_BASE) + #if (BSP_FEATURE_DAC_MAX_CHANNELS > 2U) + #define R_DAC0 ((R_DAC_Type *) R_DAC120_BASE) + #define R_DAC1 ((R_DAC_Type *) R_DAC121_BASE) + #else + #define R_DAC ((R_DAC_Type *) R_DAC12_BASE) + #endif + #define R_FLAD ((R_FLAD_Type *) R_FLAD_BASE) + #define R_FACI_HP_CMD ((R_FACI_HP_CMD_Type *) R_FACI_HP_CMD_BASE) + #define R_FACI_HP ((R_FACI_HP_Type *) R_FACI_HP_BASE) + #define R_QSPI ((R_QSPI_Type *) R_QSPI_BASE) + #define R_TFU ((R_TFU_Type *) R_TFU_BASE) + #define R_I3C0 ((R_I3C0_Type *) R_I3C0_BASE) + #define R_I3C1 ((R_I3C0_Type *) R_I3C1_BASE) /* Not in SVD. */ - #define R_PORT0 ((R_PORT0_Type *) R_PORT0_BASE) - #define R_PORT1 ((R_PORT0_Type *) R_PORT1_BASE) - #define R_PORT2 ((R_PORT0_Type *) R_PORT2_BASE) - #define R_PORT3 ((R_PORT0_Type *) R_PORT3_BASE) - #define R_PORT4 ((R_PORT0_Type *) R_PORT4_BASE) - #define R_PORT5 ((R_PORT0_Type *) R_PORT5_BASE) - #define R_PORT6 ((R_PORT0_Type *) R_PORT6_BASE) - #define R_PORT7 ((R_PORT0_Type *) R_PORT7_BASE) - #define R_PORT8 ((R_PORT0_Type *) R_PORT8_BASE) - #define R_PORT9 ((R_PORT0_Type *) R_PORT9_BASE) - #define R_PORT10 ((R_PORT0_Type *) R_PORT10_BASE) - #define R_PORT11 ((R_PORT0_Type *) R_PORT11_BASE) - #define R_PFS ((R_PFS_Type *) R_PFS_BASE) - #define R_PMISC ((R_PMISC_Type *) R_PMISC_BASE) + #define R_PORT0 ((R_PORT0_Type *) R_PORT0_BASE) + #define R_PORT1 ((R_PORT0_Type *) R_PORT1_BASE) + #define R_PORT2 ((R_PORT0_Type *) R_PORT2_BASE) + #define R_PORT3 ((R_PORT0_Type *) R_PORT3_BASE) + #define R_PORT4 ((R_PORT0_Type *) R_PORT4_BASE) + #define R_PORT5 ((R_PORT0_Type *) R_PORT5_BASE) + #define R_PORT6 ((R_PORT0_Type *) R_PORT6_BASE) + #define R_PORT7 ((R_PORT0_Type *) R_PORT7_BASE) + #define R_PORT8 ((R_PORT0_Type *) R_PORT8_BASE) + #define R_PORT9 ((R_PORT0_Type *) R_PORT9_BASE) + #define R_PORT10 ((R_PORT0_Type *) R_PORT10_BASE) + #if (2U == BSP_FEATURE_IOPORT_VERSION) + #define R_PORT11 ((R_PORT0_Type *) R_PORT11_BASE) + #define R_PORT12 ((R_PORT0_Type *) R_PORT12_BASE) + #define R_PORT13 ((R_PORT0_Type *) R_PORT13_BASE) + #define R_PORT14 ((R_PORT0_Type *) R_PORT14_BASE) + #endif + #define R_PFS ((R_PFS_Type *) R_PFS_BASE) + #define R_PMISC ((R_PMISC_Type *) R_PMISC_BASE) - #define R_GPT_POEG0 ((R_GPT_POEG0_Type *) R_GPT_POEG0_BASE) - #define R_GPT_POEG1 ((R_GPT_POEG0_Type *) R_GPT_POEG1_BASE) - #define R_GPT_POEG2 ((R_GPT_POEG0_Type *) R_GPT_POEG2_BASE) - #define R_GPT_POEG3 ((R_GPT_POEG0_Type *) R_GPT_POEG3_BASE) + #define R_GPT_POEG0 ((R_GPT_POEG0_Type *) R_GPT_POEG0_BASE) + #define R_GPT_POEG1 ((R_GPT_POEG0_Type *) R_GPT_POEG1_BASE) + #define R_GPT_POEG2 ((R_GPT_POEG0_Type *) R_GPT_POEG2_BASE) + #define R_GPT_POEG3 ((R_GPT_POEG0_Type *) R_GPT_POEG3_BASE) - #define R_RTC ((R_RTC_Type *) R_RTC_BASE) + #define R_RTC ((R_RTC_Type *) R_RTC_BASE) /** @} */ /* End of group Device_Peripheral_declaration */ @@ -265,6 +349,8 @@ #define R_ADC1_BASE 0x4005C200 #define R_AGT0_BASE 0x40084000 #define R_AGT1_BASE 0x40084100 + #define R_AGTW0_BASE 0x40084000 + #define R_AGTW1_BASE 0x40084100 #define R_BUS_BASE 0x40003000 #define R_CAC_BASE 0x40044600 #define R_CAN0_BASE 0x40050000 @@ -322,7 +408,7 @@ #define R_GPT_POEG1_BASE 0x40042100 #define R_GPT_POEG2_BASE 0x40042200 #define R_GPT_POEG3_BASE 0x40042300 - #define R_I3C_BASE 0x40083000 + #define R_I3C0_BASE 0x40083000 #define R_ICU_BASE 0x40006000 #define R_IIC0_BASE 0x40053000 #define R_IIC1_BASE 0x40053100 @@ -335,7 +421,7 @@ #define R_MPU_MMPU_BASE 0x40000000 #define R_MPU_SMPU_BASE 0x40000C00 #define R_MPU_SPMON_BASE 0x40000D00 - #define R_MSTP_BASE 0x40047000 + #define R_MSTP_BASE (0x40047000 - 4U) /* MSTPCRA is not located in R_MSTP so the base address must be moved so that MSTPCRB is located at 0x40047000. */ #define R_OPAMP_BASE 0x40086000 #define R_OPAMP2_BASE 0x400867F8 #define R_PDC_BASE 0x40094000 @@ -404,12 +490,14 @@ #define R_ADC1 ((R_ADC0_Type *) R_ADC1_BASE) #define R_AGT0 ((R_AGT0_Type *) R_AGT0_BASE) #define R_AGT1 ((R_AGT0_Type *) R_AGT1_BASE) + #define R_AGTW0 ((R_AGTW0_Type *) R_AGTW0_BASE) + #define R_AGTW1 ((R_AGTW0_Type *) R_AGTW1_BASE) #define R_BUS ((R_BUS_Type *) R_BUS_BASE) #define R_CAC ((R_CAC_Type *) R_CAC_BASE) #define R_CAN0 ((R_CAN0_Type *) R_CAN0_BASE) #define R_CAN1 ((R_CAN0_Type *) R_CAN1_BASE) #define R_CRC ((R_CRC_Type *) R_CRC_BASE) - #if (BSP_FEATURE_CTSU_VERSION == 2) + #if (2U == BSP_FEATURE_CTSU_VERSION) #define R_CTSU ((R_CTSU2_Type *) R_CTSU2_BASE) #else #define R_CTSU ((R_CTSU_Type *) R_CTSU_BASE) @@ -464,7 +552,7 @@ #define R_GPT_POEG1 ((R_GPT_POEG0_Type *) R_GPT_POEG1_BASE) #define R_GPT_POEG2 ((R_GPT_POEG0_Type *) R_GPT_POEG2_BASE) #define R_GPT_POEG3 ((R_GPT_POEG0_Type *) R_GPT_POEG3_BASE) - #define R_I3C ((R_I3C_Type *) R_I3C_BASE) + #define R_I3C0 ((R_I3C0_Type *) R_I3C0_BASE) #define R_ICU ((R_ICU_Type *) R_ICU_BASE) #define R_IIC0 ((R_IIC0_Type *) R_IIC0_BASE) #define R_IIC1 ((R_IIC0_Type *) R_IIC1_BASE) @@ -478,7 +566,7 @@ #define R_MPU_SMPU ((R_MPU_SMPU_Type *) R_MPU_SMPU_BASE) #define R_MPU_SPMON ((R_MPU_SPMON_Type *) R_MPU_SPMON_BASE) #define R_MSTP ((R_MSTP_Type *) R_MSTP_BASE) - #if (BSP_FEATURE_OPAMP_BASE_ADDRESS == 2U) + #if (2U == BSP_FEATURE_OPAMP_BASE_ADDRESS) #define R_OPAMP ((R_OPAMP_Type *) R_OPAMP2_BASE) #else #define R_OPAMP ((R_OPAMP_Type *) R_OPAMP_BASE) diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h similarity index 71% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h index b969e3676d..a48f6d2926 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h @@ -48,7 +48,7 @@ extern "C" { /* =========================================================================================================================== */ /* ================ Interrupt Number Definition ================ */ /* =========================================================================================================================== */ -/* IRQn_Type is generated as part of an FSP project. It can be found in vector_data.h. */ +/* IRQn_Type is provided in bsp_arm_exceptions.h. Vectors generated by the FSP Configuration tool are in vector_data.h */ /** @} */ /* End of group Configuration_of_CMSIS */ @@ -1098,6 +1098,520 @@ typedef struct __IM uint32_t RESERVED[13]; } R_CANFD_CFDTM_Type; /*!< Size = 128 (0x80) */ +/** + * @brief R_CANFDL_CFDC [CFDC] (Channel Control/Status) + */ +typedef struct +{ + union + { + __IOM uint32_t NCFG; /*!< (@ 0x00000000) Channel Nominal Bitrate Configuration Register */ + + struct + { + __IOM uint32_t NBRP : 10; /*!< [9..0] Channel Nominal Baud Rate Prescaler */ + __IOM uint32_t NSJW : 7; /*!< [16..10] Resynchronization Jump Width */ + __IOM uint32_t NTSEG1 : 8; /*!< [24..17] Timing Segment 1 */ + __IOM uint32_t NTSEG2 : 7; /*!< [31..25] Timing Segment 2 */ + } NCFG_b; + }; + + union + { + __IOM uint32_t CTR; /*!< (@ 0x00000004) Channel Control Registers */ + + struct + { + __IOM uint32_t CHMDC : 2; /*!< [1..0] Channel Mode Control */ + __IOM uint32_t CSLPR : 1; /*!< [2..2] Channel Sleep Request */ + __IOM uint32_t RTBO : 1; /*!< [3..3] Return from Bus-Off */ + uint32_t : 4; + __IOM uint32_t BEIE : 1; /*!< [8..8] Bus Error Interrupt Enable */ + __IOM uint32_t EWIE : 1; /*!< [9..9] Error Warning Interrupt Enable */ + __IOM uint32_t EPIE : 1; /*!< [10..10] Error Passive Interrupt Enable */ + __IOM uint32_t BOEIE : 1; /*!< [11..11] Bus-Off Entry Interrupt Enable */ + __IOM uint32_t BORIE : 1; /*!< [12..12] Bus-Off Recovery Interrupt Enable */ + __IOM uint32_t OLIE : 1; /*!< [13..13] Overload Interrupt Enable */ + __IOM uint32_t BLIE : 1; /*!< [14..14] Bus Lock Interrupt Enable */ + __IOM uint32_t ALIE : 1; /*!< [15..15] Arbitration Lost Interrupt Enable */ + __IOM uint32_t TAIE : 1; /*!< [16..16] Transmission abort Interrupt Enable */ + __IOM uint32_t EOCOIE : 1; /*!< [17..17] Error occurrence counter overflow Interrupt enable */ + __IOM uint32_t SOCOIE : 1; /*!< [18..18] Successful Occurrence Counter Overflow Interrupt enable */ + __IOM uint32_t TDCVFIE : 1; /*!< [19..19] Transceiver Delay Compensation Violation Interrupt + * enable */ + uint32_t : 1; + __IOM uint32_t BOM : 2; /*!< [22..21] Channel Bus-Off Mode */ + __IOM uint32_t ERRD : 1; /*!< [23..23] Channel Error Display */ + __IOM uint32_t CTME : 1; /*!< [24..24] Channel Test Mode Enable */ + __IOM uint32_t CTMS : 2; /*!< [26..25] Channel Test Mode Select */ + uint32_t : 3; + __IOM uint32_t CRCT : 1; /*!< [30..30] CRC Error Test */ + __IOM uint32_t ROM : 1; /*!< [31..31] Restricted Operation Mode */ + } CTR_b; + }; + + union + { + __IOM uint32_t STS; /*!< (@ 0x00000008) Channel Status Registers */ + + struct + { + __IM uint32_t CRSTSTS : 1; /*!< [0..0] Channel RESET Status */ + __IM uint32_t CHLTSTS : 1; /*!< [1..1] Channel HALT Status */ + __IM uint32_t CSLPSTS : 1; /*!< [2..2] Channel SLEEP Status */ + __IM uint32_t EPSTS : 1; /*!< [3..3] Channel Error Passive Status */ + __IM uint32_t BOSTS : 1; /*!< [4..4] Channel Bus-Off Status */ + __IM uint32_t TRMSTS : 1; /*!< [5..5] Channel Transmit Status */ + __IM uint32_t RECSTS : 1; /*!< [6..6] Channel Receive Status */ + __IM uint32_t COMSTS : 1; /*!< [7..7] Channel Communication Status */ + __IOM uint32_t ESIF : 1; /*!< [8..8] Error State Indication Flag */ + uint32_t : 7; + __IM uint32_t REC : 8; /*!< [23..16] Reception Error Count */ + __IOM uint32_t TEC : 8; /*!< [31..24] Transmission Error Count */ + } STS_b; + }; + + union + { + __IOM uint32_t ERFL; /*!< (@ 0x0000000C) Channel Error Flag Registers */ + + struct + { + __IOM uint32_t BEF : 1; /*!< [0..0] Bus Error Flag */ + __IOM uint32_t EWF : 1; /*!< [1..1] Error Warning Flag */ + __IOM uint32_t EPF : 1; /*!< [2..2] Error Passive Flag */ + __IOM uint32_t BOEF : 1; /*!< [3..3] Bus-Off Entry Flag */ + __IOM uint32_t BORF : 1; /*!< [4..4] Bus-Off Recovery Flag */ + __IOM uint32_t OVLF : 1; /*!< [5..5] Overload Flag */ + __IOM uint32_t BLF : 1; /*!< [6..6] Bus Lock Flag */ + __IOM uint32_t ALF : 1; /*!< [7..7] Arbitration Lost Flag */ + __IOM uint32_t SERR : 1; /*!< [8..8] Stuff Error */ + __IOM uint32_t FERR : 1; /*!< [9..9] Form Error */ + __IOM uint32_t AERR : 1; /*!< [10..10] Acknowledge Error */ + __IOM uint32_t CERR : 1; /*!< [11..11] CRC Error */ + __IOM uint32_t B1ERR : 1; /*!< [12..12] Bit 1 Error */ + __IOM uint32_t B0ERR : 1; /*!< [13..13] Bit 0 Error */ + __IOM uint32_t ADERR : 1; /*!< [14..14] Acknowledge Delimiter Error */ + uint32_t : 1; + __IM uint32_t CRCREG : 15; /*!< [30..16] CRC Register value */ + uint32_t : 1; + } ERFL_b; + }; +} R_CANFDL_CFDC_Type; /*!< Size = 16 (0x10) */ + +/** + * @brief R_CANFDL_CFDC2 [CFDC2] (Channel Configuration Registers) + */ +typedef struct +{ + union + { + __IOM uint32_t DCFG; /*!< (@ 0x00000000) Channel Data Bitrate Configuration Register */ + + struct + { + __IOM uint32_t DBRP : 8; /*!< [7..0] Channel Data Baud Rate Prescaler */ + __IOM uint32_t DTSEG1 : 5; /*!< [12..8] Timing Segment 1 */ + uint32_t : 3; + __IOM uint32_t DTSEG2 : 4; /*!< [19..16] Timing Segment 2 */ + uint32_t : 4; + __IOM uint32_t DSJW : 4; /*!< [27..24] Resynchronization Jump Width */ + uint32_t : 4; + } DCFG_b; + }; + + union + { + __IOM uint32_t FDCFG; /*!< (@ 0x00000004) Channel CAN-FD Configuration Register */ + + struct + { + __IOM uint32_t EOCCFG : 3; /*!< [2..0] Error Occurrence Counter Configuration */ + uint32_t : 5; + __IOM uint32_t TDCOC : 1; /*!< [8..8] Transceiver Delay Compensation Offset Configuration */ + __IOM uint32_t TDCE : 1; /*!< [9..9] Transceiver Delay Compensation Enable */ + __IOM uint32_t ESIC : 1; /*!< [10..10] Error State Indication Configuration */ + uint32_t : 5; + __IOM uint32_t TDCO : 8; /*!< [23..16] Transceiver Delay Compensation Offset */ + uint32_t : 4; + __IOM uint32_t FDOE : 1; /*!< [28..28] FD only enable */ + __IOM uint32_t REFE : 1; /*!< [29..29] RX edge filter enable */ + __IOM uint32_t CLOE : 1; /*!< [30..30] Classical CAN only enable */ + uint32_t : 1; + } FDCFG_b; + }; + + union + { + __IOM uint32_t FDCTR; /*!< (@ 0x00000008) Channel CAN-FD Control Register */ + + struct + { + __IOM uint32_t EOCCLR : 1; /*!< [0..0] Error Occurrence Counter Clear */ + __IOM uint32_t SOCCLR : 1; /*!< [1..1] Successful Occurrence Counter Clear */ + uint32_t : 30; + } FDCTR_b; + }; + + union + { + __IOM uint32_t FDSTS; /*!< (@ 0x0000000C) Channel CAN-FD Status Register */ + + struct + { + __IM uint32_t TDCR : 8; /*!< [7..0] Transceiver Delay Compensation Result */ + __IOM uint32_t EOCO : 1; /*!< [8..8] Error occurrence counter overflow */ + __IOM uint32_t SOCO : 1; /*!< [9..9] Successful occurrence counter overflow */ + uint32_t : 5; + __IOM uint32_t TDCVF : 1; /*!< [15..15] Transceiver Delay Compensation Violation Flag */ + __IM uint32_t EOC : 8; /*!< [23..16] Error occurrence counter register */ + __IM uint32_t SOC : 8; /*!< [31..24] Successful occurrence counter register */ + } FDSTS_b; + }; + + union + { + __IOM uint32_t FDCRC; /*!< (@ 0x00000010) Channel CAN-FD CRC Register */ + + struct + { + __IM uint32_t CRCREG : 21; /*!< [20..0] CRC Register value */ + uint32_t : 3; + __IM uint32_t SCNT : 4; /*!< [27..24] Stuff bit count */ + uint32_t : 4; + } FDCRC_b; + }; + __IM uint32_t RESERVED[3]; +} R_CANFDL_CFDC2_Type; /*!< Size = 32 (0x20) */ + +/** + * @brief R_CANFDL_CFDGAFL [CFDGAFL] (Global Acceptance Filter List Registers) + */ +typedef struct +{ + union + { + __IOM uint32_t ID; /*!< (@ 0x00000000) Global Acceptance Filter List ID Registers */ + + struct + { + __IOM uint32_t GAFLID : 29; /*!< [28..0] Global Acceptance Filter List Entry ID Field */ + __IOM uint32_t GAFLLB : 1; /*!< [29..29] Global Acceptance Filter List Entry Loopback Configuration */ + __IOM uint32_t GAFLRTR : 1; /*!< [30..30] Global Acceptance Filter List Entry RTR Field */ + __IOM uint32_t GAFLIDE : 1; /*!< [31..31] Global Acceptance Filter List Entry IDE Field */ + } ID_b; + }; + + union + { + __IOM uint32_t M; /*!< (@ 0x00000004) Global Acceptance Filter List Mask Registers */ + + struct + { + __IOM uint32_t GAFLIDM : 29; /*!< [28..0] Global Acceptance Filter List ID Mask Field */ + __IOM uint32_t GAFLIFL1 : 1; /*!< [29..29] Global Acceptance Filter List Information Label 1 */ + __IOM uint32_t GAFLRTRM : 1; /*!< [30..30] Global Acceptance Filter List Entry RTR Mask */ + __IOM uint32_t GAFLIDEM : 1; /*!< [31..31] Global Acceptance Filter List IDE Mask */ + } M_b; + }; + + union + { + __IOM uint32_t P0; /*!< (@ 0x00000008) Global Acceptance Filter List Pointer 0 Registers */ + + struct + { + __IOM uint32_t GAFLDLC : 4; /*!< [3..0] Global Acceptance Filter List DLC Field */ + uint32_t : 3; + __IOM uint32_t GAFLIFL0 : 1; /*!< [7..7] Global Acceptance Filter List Information Label 0 */ + __IOM uint32_t GAFLRMDP : 5; /*!< [12..8] Global Acceptance Filter List RX Message Buffer Direction + * Pointer */ + uint32_t : 2; + __IOM uint32_t GAFLRMV : 1; /*!< [15..15] Global Acceptance Filter List RX Message Buffer Valid */ + __IOM uint32_t GAFLPTR : 16; /*!< [31..16] Global Acceptance Filter List Pointer Field */ + } P0_b; + }; + + union + { + __IOM uint32_t P1; /*!< (@ 0x0000000C) Global Acceptance Filter List Pointer 1 Registers */ + + struct + { + __IOM uint32_t GAFLFDP : 9; /*!< [8..0] Global Acceptance Filter List FIFO Direction Pointer */ + uint32_t : 23; + } P1_b; + }; +} R_CANFDL_CFDGAFL_Type; /*!< Size = 16 (0x10) */ + +/** + * @brief R_CANFDL_CFDTHL [CFDTHL] (Channel TX History List) + */ +typedef struct +{ + union + { + __IM uint32_t ACC0; /*!< (@ 0x00000000) Channel TX History List Access Registers 0 */ + + struct + { + __IM uint32_t BT : 3; /*!< [2..0] Buffer Type */ + __IM uint32_t BN : 7; /*!< [9..3] Buffer No. */ + uint32_t : 6; + __IM uint32_t TMTS : 16; /*!< [31..16] Transmit Timestamp */ + } ACC0_b; + }; + + union + { + __IOM uint32_t ACC1; /*!< (@ 0x00000004) Channel TX History List Access Registers 1 */ + + struct + { + __IM uint32_t TID : 16; /*!< [15..0] Transmit ID */ + __IM uint32_t TIFL : 2; /*!< [17..16] Transmit Information Label */ + uint32_t : 14; + } ACC1_b; + }; +} R_CANFDL_CFDTHL_Type; /*!< Size = 8 (0x8) */ + +/** + * @brief R_CANFDL_CFDRF [CFDRF] (RX FIFO Access Registers) + */ +typedef struct +{ + union + { + __IM uint32_t ID; /*!< (@ 0x00000000) RX FIFO Access ID Register */ + + struct + { + __IM uint32_t RFID : 29; /*!< [28..0] RX FIFO Buffer ID Field */ + uint32_t : 1; + __IM uint32_t RFRTR : 1; /*!< [30..30] RX FIFO Buffer RTR Frame */ + __IM uint32_t RFIDE : 1; /*!< [31..31] RX FIFO Buffer IDE Bit */ + } ID_b; + }; + + union + { + __IM uint32_t PTR; /*!< (@ 0x00000004) RX FIFO Access Pointer Register */ + + struct + { + __IM uint32_t RFTS : 16; /*!< [15..0] RX FIFO Timestamp Field */ + uint32_t : 12; + __IM uint32_t RFDLC : 4; /*!< [31..28] RX FIFO Buffer DLC Field */ + } PTR_b; + }; + + union + { + __IM uint32_t FDSTS; /*!< (@ 0x00000008) RX FIFO Access CAN-FD Status Register */ + + struct + { + __IM uint32_t RFESI : 1; /*!< [0..0] Error State Indicator bit */ + __IM uint32_t RFBRS : 1; /*!< [1..1] Bit Rate Switch bit */ + __IM uint32_t RFFDF : 1; /*!< [2..2] CAN FD Format bit */ + uint32_t : 5; + __IM uint32_t RFIFL : 2; /*!< [9..8] RX FIFO Buffer Information Label Field */ + uint32_t : 6; + __IM uint32_t RFPTR : 16; /*!< [31..16] RX FIFO Buffer Pointer Field */ + } FDSTS_b; + }; + + union + { + __IM uint8_t DF[64]; /*!< (@ 0x0000000C) RX FIFO Access Data Field Registers */ + + struct + { + __IM uint8_t RFDB : 8; /*!< [7..0] RX FIFO Buffer Data Byte */ + } DF_b[64]; + }; +} R_CANFDL_CFDRF_Type; /*!< Size = 76 (0x4c) */ + +/** + * @brief R_CANFDL_CFDCF [CFDCF] (Common FIFO Access Registers) + */ +typedef struct +{ + union + { + __IOM uint32_t ID; /*!< (@ 0x00000000) Common FIFO Access ID Register */ + + struct + { + __IOM uint32_t CFID : 29; /*!< [28..0] Common FIFO Buffer ID Field */ + uint32_t : 1; + __IOM uint32_t CFRTR : 1; /*!< [30..30] Common FIFO Buffer RTR Frame */ + __IOM uint32_t CFIDE : 1; /*!< [31..31] Common FIFO Buffer IDE Bit */ + } ID_b; + }; + + union + { + __IOM uint32_t PTR; /*!< (@ 0x00000004) Common FIFO Access Pointer Register */ + + struct + { + __IOM uint32_t CFTS : 16; /*!< [15..0] Common FIFO Timestamp Field */ + uint32_t : 12; + __IOM uint32_t CFDLC : 4; /*!< [31..28] Common FIFO Buffer DLC Field */ + } PTR_b; + }; + + union + { + __IOM uint32_t FDSTS; /*!< (@ 0x00000008) Common FIFO Access CAN-FD Status Register */ + + struct + { + __IOM uint32_t CFESI : 1; /*!< [0..0] Error State Indicator bit */ + __IOM uint32_t CFBRS : 1; /*!< [1..1] Bit Rate Switch bit */ + __IOM uint32_t CFFDF : 1; /*!< [2..2] CAN FD Format bit */ + uint32_t : 5; + __IOM uint32_t CFIFL : 2; /*!< [9..8] Common FIFO Buffer Information Label Field */ + uint32_t : 6; + __IOM uint32_t CFPTR : 16; /*!< [31..16] Common FIFO Buffer Pointer Field */ + } FDSTS_b; + }; + + union + { + __IOM uint8_t DF[64]; /*!< (@ 0x0000000C) Common FIFO Access Data Field Registers */ + + struct + { + __IOM uint8_t CFDB : 8; /*!< [7..0] Common FIFO Buffer Data Byte */ + } DF_b[64]; + }; +} R_CANFDL_CFDCF_Type; /*!< Size = 76 (0x4c) */ + +/** + * @brief R_CANFDL_CFDTM [CFDTM] (TX Message Buffer Access Registers) + */ +typedef struct +{ + union + { + __IOM uint32_t ID; /*!< (@ 0x00000000) TX Message Buffer ID Register */ + + struct + { + __IOM uint32_t TMID : 29; /*!< [28..0] TX Message Buffer ID Field */ + uint32_t : 1; + __IOM uint32_t TMRTR : 1; /*!< [30..30] TX Message Buffer RTR Frame */ + __IOM uint32_t TMIDE : 1; /*!< [31..31] TX Message Buffer IDE Bit */ + } ID_b; + }; + + union + { + __IOM uint32_t PTR; /*!< (@ 0x00000004) TX Message Buffer Pointer Register */ + + struct + { + __IOM uint32_t TMTS : 16; /*!< [15..0] TX Message Buffer Timestamp Field */ + uint32_t : 12; + __IOM uint32_t TMDLC : 4; /*!< [31..28] TX Message Buffer DLC Field */ + } PTR_b; + }; + + union + { + __IOM uint32_t FDCTR; /*!< (@ 0x00000008) TX Message Buffer CAN-FD Control Register */ + + struct + { + __IOM uint32_t TMESI : 1; /*!< [0..0] Error State Indicator bit */ + __IOM uint32_t TMBRS : 1; /*!< [1..1] Bit Rate Switch bit */ + __IOM uint32_t TMFDF : 1; /*!< [2..2] CAN FD Format bit */ + uint32_t : 5; + __IOM uint32_t TMIFL : 2; /*!< [9..8] TX Message Buffer Information Label Field */ + uint32_t : 6; + __IOM uint32_t TMPTR : 16; /*!< [31..16] TX Message Buffer Pointer Field */ + } FDCTR_b; + }; + + union + { + __IOM uint8_t DF[64]; /*!< (@ 0x0000000C) TX Message Buffer Data Field Registers */ + + struct + { + __IOM uint8_t TMDB : 8; /*!< [7..0] TX Message Buffer Data Byte */ + } DF_b[64]; + }; +} R_CANFDL_CFDTM_Type; /*!< Size = 76 (0x4c) */ + +/** + * @brief R_CANFDL_CFDRMC_RM [RM] (RX Message Buffer Access Registers) + */ +typedef struct +{ + union + { + __IM uint32_t ID; /*!< (@ 0x00000000) RX Message Buffer ID Register */ + + struct + { + __IM uint32_t RMID : 29; /*!< [28..0] RX Message Buffer ID Field */ + uint32_t : 1; + __IM uint32_t RMRTR : 1; /*!< [30..30] RX Message Buffer RTR Frame */ + __IM uint32_t RMIDE : 1; /*!< [31..31] RX Message Buffer IDE Bit */ + } ID_b; + }; + + union + { + __IM uint32_t PTR; /*!< (@ 0x00000004) RX Message Buffer Pointer Register */ + + struct + { + __IM uint32_t RMTS : 16; /*!< [15..0] RX Message Buffer Timestamp Field */ + uint32_t : 12; + __IM uint32_t RMDLC : 4; /*!< [31..28] RX Message Buffer DLC Field */ + } PTR_b; + }; + + union + { + __IM uint32_t FDSTS; /*!< (@ 0x00000008) RX Message Buffer CAN-FD Status Register */ + + struct + { + __IM uint32_t RMESI : 1; /*!< [0..0] Error State Indicator bit */ + __IM uint32_t RMBRS : 1; /*!< [1..1] Bit Rate Switch bit */ + __IM uint32_t RMFDF : 1; /*!< [2..2] CAN FD Format bit */ + uint32_t : 5; + __IM uint32_t RMIFL : 2; /*!< [9..8] RX Message Buffer Information Label Field */ + uint32_t : 6; + __IM uint32_t RMPTR : 16; /*!< [31..16] RX Message Buffer Pointer Field */ + } FDSTS_b; + }; + + union + { + __IM uint8_t DF[64]; /*!< (@ 0x0000000C) RX Message Buffer Data Field Registers */ + + struct + { + __IM uint8_t RMDB : 8; /*!< [7..0] RX Message Buffer Data Byte */ + } DF_b[64]; + }; +} R_CANFDL_CFDRMC_RM_Type; /*!< Size = 76 (0x4c) */ + +/** + * @brief R_CANFDL_CFDRMC [CFDRMC] (RX Message Buffer Access Clusters) + */ +typedef struct +{ + __IOM R_CANFDL_CFDRMC_RM_Type RM[8]; /*!< (@ 0x00000000) RX Message Buffer Access Registers */ + __IM uint32_t RESERVED[104]; +} R_CANFDL_CFDRMC_Type; /*!< Size = 1024 (0x400) */ + /** * @brief R_ELC_ELSEGR [ELSEGR] (Event Link Software Event Generation Register) */ @@ -1115,7 +1629,11 @@ typedef struct __OM uint8_t WI : 1; /*!< [7..7] ELSEGR Register Write Disable */ } BY_b; }; + #if (2U == BSP_FEATURE_ELC_VERSION) + __IM uint8_t RESERVED[3]; + #else __IM uint8_t RESERVED; + #endif } R_ELC_ELSEGR_Type; /*!< Size = 2 (0x2) */ /** @@ -2415,7 +2933,7 @@ typedef struct } R_PFS_PORT_PIN_Type; /*!< Size = 4 (0x4) */ /** - * @brief R_PFS_PORT [PORT] (Port [0..11]) + * @brief R_PFS_PORT [PORT] (Port [0..14]) */ typedef struct { @@ -2428,6 +2946,10 @@ typedef struct typedef struct { __IOM uint16_t PMSAR; /*!< (@ 0x00000000) Port Security Attribution Register */ + + #if (2U == BSP_FEATURE_IOPORT_VERSION) + __IM uint16_t RESERVED; + #endif } R_PMISC_PMSAR_Type; /*!< Size = 2 (0x2) */ /** @@ -2588,6 +3110,179 @@ typedef struct __IM uint8_t RESERVED5[3]; } R_RTC_CP_Type; /*!< Size = 16 (0x10) */ +/** + * @brief R_BUS_B_CSa [CSa] (CS Registers) + */ +typedef struct +{ + __IM uint16_t RESERVED; + + union + { + __IOM uint16_t MOD; /*!< (@ 0x00000002) Mode Register */ + + struct + { + __IOM uint16_t WRMOD : 1; /*!< [0..0] Write Access Mode Select */ + uint16_t : 2; + __IOM uint16_t EWENB : 1; /*!< [3..3] External Wait Enable */ + uint16_t : 4; + __IOM uint16_t PRENB : 1; /*!< [8..8] Page Read Access Enable */ + __IOM uint16_t PWENB : 1; /*!< [9..9] Page Write Access Enable */ + uint16_t : 5; + __IOM uint16_t PRMOD : 1; /*!< [15..15] Page Read Access Mode Select */ + } MOD_b; + }; + + union + { + __IOM uint32_t WCR1; /*!< (@ 0x00000004) Wait Control Register 1 */ + + struct + { + __IOM uint32_t CSPWWAIT : 3; /*!< [2..0] Page Write Cycle Wait SelectNOTE: The CSPWWAIT value + * is valid only when the PWENB bit in CSnMOD is set to 1. */ + uint32_t : 5; + __IOM uint32_t CSPRWAIT : 3; /*!< [10..8] Page Read Cycle Wait SelectNOTE: The CSPRWAIT value + * is valid only when the PRENB bit in CSnMOD is set to 1. */ + uint32_t : 5; + __IOM uint32_t CSWWAIT : 5; /*!< [20..16] Normal Write Cycle Wait Select */ + uint32_t : 3; + __IOM uint32_t CSRWAIT : 5; /*!< [28..24] Normal Read Cycle Wait Select */ + uint32_t : 3; + } WCR1_b; + }; + + union + { + __IOM uint32_t WCR2; /*!< (@ 0x00000008) Wait Control Register 2 */ + + struct + { + __IOM uint32_t CSROFF : 3; /*!< [2..0] Read-Access CS Extension Cycle Select */ + uint32_t : 1; + __IOM uint32_t CSWOFF : 3; /*!< [6..4] Write-Access CS Extension Cycle Select */ + uint32_t : 1; + __IOM uint32_t WDOFF : 3; /*!< [10..8] Write Data Output Extension Cycle Select */ + uint32_t : 1; + __IOM uint32_t AWAIT : 2; /*!< [13..12] CS Assert Wait Select */ + uint32_t : 2; + __IOM uint32_t RDON : 3; /*!< [18..16] RD Assert Wait Select */ + uint32_t : 1; + __IOM uint32_t WRON : 3; /*!< [22..20] WR Assert Wait Select */ + uint32_t : 1; + __IOM uint32_t WDON : 3; /*!< [26..24] Write Data Output Wait Select */ + uint32_t : 1; + __IOM uint32_t CSON : 3; /*!< [30..28] CS Assert Wait Select */ + uint32_t : 1; + } WCR2_b; + }; + __IM uint32_t RESERVED1; +} R_BUS_B_CSa_Type; /*!< Size = 16 (0x10) */ + +/** + * @brief R_BUS_B_CSb [CSb] (CS Registers) + */ +typedef struct +{ + __IM uint16_t RESERVED; + + union + { + __IOM uint16_t CR; /*!< (@ 0x00000002) Control Register */ + + struct + { + __IOM uint16_t EXENB : 1; /*!< [0..0] Operation Enable */ + uint16_t : 3; + __IOM uint16_t BSIZE : 2; /*!< [5..4] External Bus Width Select */ + uint16_t : 2; + __IOM uint16_t EMODE : 1; /*!< [8..8] Endian Mode */ + uint16_t : 3; + __IOM uint16_t MPXEN : 1; /*!< [12..12] Address/Data Multiplexed I/O Interface Select */ + uint16_t : 3; + } CR_b; + }; + __IM uint16_t RESERVED1[3]; + + union + { + __IOM uint16_t REC; /*!< (@ 0x0000000A) Recovery Cycle Register */ + + struct + { + __IOM uint16_t RRCV : 4; /*!< [3..0] Read Recovery */ + uint16_t : 4; + __IOM uint16_t WRCV : 4; /*!< [11..8] Write Recovery */ + uint16_t : 4; + } REC_b; + }; + __IM uint16_t RESERVED2[2]; +} R_BUS_B_CSb_Type; /*!< Size = 16 (0x10) */ + +/** + * @brief R_BUS_B_BUSERR [BUSERR] (Bus Error Registers) + */ +typedef struct +{ + union + { + __IM uint32_t ADD; /*!< (@ 0x00000000) Bus Error Address Register */ + + struct + { + __IM uint32_t BERAD : 32; /*!< [31..0] Bus Error AddressWhen a bus error occurs, It stores + * an error address. */ + } ADD_b; + }; + + union + { + __IM uint8_t ERRRW; /*!< (@ 0x00000004) BUS Error Read Write Register */ + + struct + { + __IM uint8_t RWSTAT : 1; /*!< [0..0] Error access statusThe status at the time of the error */ + uint8_t : 7; + } ERRRW_b; + }; + __IM uint8_t RESERVED; + __IM uint16_t RESERVED1; + __IM uint32_t RESERVED2[2]; +} R_BUS_B_BUSERR_Type; /*!< Size = 16 (0x10) */ + +/** + * @brief R_BUS_B_BUSTZFERR [BUSTZFERR] (Bus TZF Error Registers) + */ +typedef struct +{ + union + { + __IM uint32_t TZFADD; /*!< (@ 0x00000000) Bus TZF Error Address Register */ + + struct + { + __IM uint32_t BTZFERAD : 32; /*!< [31..0] Bus TrustZone Filter Error AddressWhen a bus error occurs, + * It stores an error address. */ + } TZFADD_b; + }; + + union + { + __IM uint8_t TZFERRRW; /*!< (@ 0x00000004) BUS TZF Error Read Write Register */ + + struct + { + __IM uint8_t TRWSTAT : 1; /*!< [0..0] TrustZone filter Error access statusThe status at the + * time of the error */ + uint8_t : 7; + } TZFERRRW_b; + }; + __IM uint8_t RESERVED; + __IM uint16_t RESERVED1; + __IM uint32_t RESERVED2[2]; +} R_BUS_B_BUSTZFERR_Type; /*!< Size = 16 (0x10) */ + /** * @brief R_USB_FS0_PIPE_TR [PIPE_TR] (Pipe Transaction Counter Registers) */ @@ -3349,7 +4044,19 @@ typedef struct /*!< (@ 0x4005C000) R_ADC0 Structure uint8_t : 6; } ADICR_b; }; - __IM uint16_t RESERVED3; + + union + { + __IOM uint8_t ADACSR; /*!< (@ 0x0000007E) A/D Conversion Operation Mode Select Register */ + + struct + { + uint8_t : 1; + __IOM uint8_t ADSAC : 1; /*!< [1..1] Successive Approximation Control Setting */ + uint8_t : 6; + } ADACSR_b; + }; + __IM uint8_t RESERVED3; union { @@ -4136,8 +4843,7 @@ typedef struct /*!< (@ 0x4005C000) R_ADC0 Structure struct { __IOM uint8_t PGAMON : 3; /*!< [2..0] PGA Monitor Output Enable */ - uint8_t : 1; - __IOM uint8_t MONSEL : 4; /*!< [7..4] Monitor output selection bit. */ + uint8_t : 5; } ADREFMON_b; }; __IM uint8_t RESERVED24; @@ -4210,7 +4916,9 @@ typedef struct /*!< (@ 0x400E0000) R_PSCU Structure uint32_t : 3; __IOM uint32_t PSARC12 : 1; /*!< [12..12] SDHI0 and the MSTPCRC.MSTPC12 bit security attribution */ __IOM uint32_t PSARC13 : 1; /*!< [13..13] DOC and the MSTPCRC.MSTPC13 bit security attribution */ - uint32_t : 13; + uint32_t : 6; + __IOM uint32_t PSARC20 : 1; /*!< [20..20] TFU and the MSTPCRC.MSTPC20 bit security attribution */ + uint32_t : 6; __IOM uint32_t PSARC27 : 1; /*!< [27..27] CANFD0 and the MSTPCRC.MSTPC27 bit security attribution */ uint32_t : 3; __IOM uint32_t PSARC31 : 1; /*!< [31..31] TSIP and the MSTPCRC.MSTPC31 bit security attribution */ @@ -4234,11 +4942,17 @@ typedef struct /*!< (@ 0x400E0000) R_PSCU Structure __IOM uint32_t PSARD14 : 1; /*!< [14..14] PGI0 and the MSTPCRD.MSTPD14 bit security attribution */ __IOM uint32_t PSARD15 : 1; /*!< [15..15] ADC1 and the MSTPCRD.MSTPD15 bit security attribution */ __IOM uint32_t PSARD16 : 1; /*!< [16..16] ADC0 and the MSTPCRD.MSTPD16 bit security attribution */ - uint32_t : 3; - __IOM uint32_t PSARD20 : 1; /*!< [20..20] DAC12 and the MSTPCRD.MSTPD20 bit security attribution */ + uint32_t : 2; + __IOM uint32_t PSARD19 : 1; /*!< [19..19] DAC121 and the MSTPCRD.MSTPD19 bit security attribution */ + __IOM uint32_t PSARD20 : 1; /*!< [20..20] DAC120 and the MSTPCRD.MSTPD20 bit security attribution */ uint32_t : 1; __IOM uint32_t PSARD22 : 1; /*!< [22..22] TSN and the MSTPCRD.MSTPD22 bit security attribution */ - uint32_t : 9; + uint32_t : 2; + __IOM uint32_t PSARD25 : 1; /*!< [25..25] ACMPHS3 and the MSTPCRD.MSTPD25 bit security attribution */ + __IOM uint32_t PSARD26 : 1; /*!< [26..26] ACMPHS2 and the MSTPCRD.MSTPD26 bit security attribution */ + __IOM uint32_t PSARD27 : 1; /*!< [27..27] ACMPHS1 and the MSTPCRD.MSTPD27 bit security attribution */ + __IOM uint32_t PSARD28 : 1; /*!< [28..28] ACMPHS0 and the MSTPCRD.MSTPD28 bit security attribution */ + uint32_t : 3; } PSARD_b; }; @@ -4506,6 +5220,158 @@ typedef struct /*!< (@ 0x40084000) R_AGT0 Structure }; } R_AGT0_Type; /*!< Size = 16 (0x10) */ +/* =========================================================================================================================== */ +/* ================ R_AGTW0 ================ */ +/* =========================================================================================================================== */ + +/** + * @brief Asynchronous General Purpose Timer (R_AGTW0) + */ + + #ifndef BSP_OVERRIDE_REG_R_AGTW0_TYPE + +typedef struct /*!< (@ 0x40084000) R_AGTW0 Structure */ +{ + union + { + __IOM uint32_t AGT; /*!< (@ 0x00000000) AGT Counter Register */ + + struct + { + __IOM uint32_t AGT : 32; /*!< [31..0] 16bit counter and reload registerNOTE : When 1 is written + * to the TSTOP bit in the AGTCRn register, the 16-bit counter + * is forcibly stopped and set to FFFFH. */ + } AGT_b; + }; + + union + { + __IOM uint32_t AGTCMA; /*!< (@ 0x00000004) AGT Compare Match A Register */ + + struct + { + __IOM uint32_t AGTCMA : 32; /*!< [31..0] AGT Compare Match A data is stored.NOTE : When 1 is + * written to the TSTOP bit in the AGTCRn register, set to + * FFFFH */ + } AGTCMA_b; + }; + + union + { + __IOM uint32_t AGTCMB; /*!< (@ 0x00000008) AGT Compare Match B Register */ + + struct + { + __IOM uint32_t AGTCMB : 32; /*!< [31..0] AGT Compare Match B data is stored.NOTE : When 1 is + * written to the TSTOP bit in the AGTCR register, set to + * FFFFH */ + } AGTCMB_b; + }; + + union + { + __IOM uint8_t AGTCR; /*!< (@ 0x0000000C) AGT Control Register */ + + struct + { + __IOM uint8_t TSTART : 1; /*!< [0..0] AGT count start */ + __IM uint8_t TCSTF : 1; /*!< [1..1] AGT count status flag */ + __OM uint8_t TSTOP : 1; /*!< [2..2] AGT count forced stop */ + uint8_t : 1; + __IOM uint8_t TEDGF : 1; /*!< [4..4] Active edge judgment flag */ + __IOM uint8_t TUNDF : 1; /*!< [5..5] Underflow flag */ + __IOM uint8_t TCMAF : 1; /*!< [6..6] Compare match A flag */ + __IOM uint8_t TCMBF : 1; /*!< [7..7] Compare match B flag */ + } AGTCR_b; + }; + + union + { + __IOM uint8_t AGTMR1; /*!< (@ 0x0000000D) AGT Mode Register 1 */ + + struct + { + __IOM uint8_t TMOD : 3; /*!< [2..0] Operating mode */ + __IOM uint8_t TEDGPL : 1; /*!< [3..3] Edge polarity */ + __IOM uint8_t TCK : 3; /*!< [6..4] Count source */ + uint8_t : 1; + } AGTMR1_b; + }; + + union + { + __IOM uint8_t AGTMR2; /*!< (@ 0x0000000E) AGT Mode Register 2 */ + + struct + { + __IOM uint8_t CKS : 3; /*!< [2..0] AGTLCLK/AGTSCLK count source clock frequency division + * ratio */ + uint8_t : 4; + __IOM uint8_t LPM : 1; /*!< [7..7] Low Power Mode */ + } AGTMR2_b; + }; + + union + { + __IOM uint8_t AGTIOSEL; /*!< (@ 0x0000000F) AGT Pin Select Register */ + + struct + { + uint8_t : 4; + __IOM uint8_t TIES : 1; /*!< [4..4] AGTIO input enable */ + uint8_t : 3; + } AGTIOSEL_b; + }; + + union + { + __IOM uint8_t AGTIOC; /*!< (@ 0x00000010) AGT I/O Control Register */ + + struct + { + __IOM uint8_t TEDGSEL : 1; /*!< [0..0] I/O polarity switchFunction varies depending on the operating + * mode. */ + uint8_t : 1; + __IOM uint8_t TOE : 1; /*!< [2..2] AGTOn output enable */ + uint8_t : 1; + __IOM uint8_t TIPF : 2; /*!< [5..4] Input filter */ + __IOM uint8_t TIOGT : 2; /*!< [7..6] Count control */ + } AGTIOC_b; + }; + + union + { + __IOM uint8_t AGTISR; /*!< (@ 0x00000011) AGT Event Pin Select Register */ + + struct + { + uint8_t : 2; + __IOM uint8_t EEPS : 1; /*!< [2..2] AGTEE polarty selection */ + uint8_t : 5; + } AGTISR_b; + }; + + union + { + __IOM uint8_t AGTCMSR; /*!< (@ 0x00000012) AGT Compare Match Function Select Register */ + + struct + { + __IOM uint8_t TCMEA : 1; /*!< [0..0] Compare match A register enable */ + __IOM uint8_t TOEA : 1; /*!< [1..1] AGTOA output enable */ + __IOM uint8_t TOPOLA : 1; /*!< [2..2] AGTOA polarity select */ + uint8_t : 1; + __IOM uint8_t TCMEB : 1; /*!< [4..4] Compare match B register enable */ + __IOM uint8_t TOEB : 1; /*!< [5..5] AGTOB output enable */ + __IOM uint8_t TOPOLB : 1; /*!< [6..6] AGTOB polarity select */ + uint8_t : 1; + } AGTCMSR_b; + }; + __IM uint8_t RESERVED; +} R_AGTW0_Type; /*!< Size = 20 (0x14) */ + + #endif + /* =========================================================================================================================== */ /* ================ R_BUS ================ */ /* =========================================================================================================================== */ @@ -6253,6 +7119,631 @@ typedef struct /*!< (@ 0x400B0000) R_CANFD Structure __IOM R_CANFD_CFDTM_Type CFDTM[128]; /*!< (@ 0x00010000) TX Message Buffer Access Registers */ } R_CANFD_Type; /*!< Size = 81920 (0x14000) */ +/* =========================================================================================================================== */ +/* ================ R_CANFDL ================ */ +/* =========================================================================================================================== */ + +/** + * @brief Controller Area Network - Flexible Data (CAN-FD) Module (R_CANFDL) + */ + +typedef struct /*!< (@ 0x400B0000) R_CANFDL Structure */ +{ + __IOM R_CANFDL_CFDC_Type CFDC[1]; /*!< (@ 0x00000000) Channel Control/Status */ + __IM uint32_t RESERVED; + + union + { + __IOM uint32_t CFDGCFG; /*!< (@ 0x00000014) Global Configuration Register */ + + struct + { + __IOM uint32_t TPRI : 1; /*!< [0..0] Transmission Priority */ + __IOM uint32_t DCE : 1; /*!< [1..1] DLC Check Enable */ + __IOM uint32_t DRE : 1; /*!< [2..2] DLC Replacement Enable */ + __IOM uint32_t MME : 1; /*!< [3..3] Mirror Mode Enable */ + __IOM uint32_t DCS : 1; /*!< [4..4] Data Link Controller Clock Select */ + __IOM uint32_t CMPOC : 1; /*!< [5..5] CAN-FD message Payload overflow configuration */ + uint32_t : 2; + __IOM uint32_t TSP : 4; /*!< [11..8] Timestamp Prescaler */ + __IOM uint32_t TSSS : 1; /*!< [12..12] Timestamp Source Select */ + uint32_t : 3; + __IOM uint32_t ITRCP : 16; /*!< [31..16] Interval Timer Reference Clock Prescaler */ + } CFDGCFG_b; + }; + + union + { + __IOM uint32_t CFDGCTR; /*!< (@ 0x00000018) Global Control Register */ + + struct + { + __IOM uint32_t GMDC : 2; /*!< [1..0] Global Mode Control */ + __IOM uint32_t GSLPR : 1; /*!< [2..2] Global Sleep Request */ + uint32_t : 5; + __IOM uint32_t DEIE : 1; /*!< [8..8] DLC check Interrupt Enable */ + __IOM uint32_t MEIE : 1; /*!< [9..9] Message lost Error Interrupt Enable */ + __IOM uint32_t THLEIE : 1; /*!< [10..10] TX History List Entry Lost Interrupt Enable */ + __IOM uint32_t CMPOFIE : 1; /*!< [11..11] CAN-FD message payload overflow Flag Interrupt enable */ + uint32_t : 4; + __IOM uint32_t TSRST : 1; /*!< [16..16] Timestamp Reset */ + uint32_t : 15; + } CFDGCTR_b; + }; + + union + { + __IOM uint32_t CFDGSTS; /*!< (@ 0x0000001C) Global Status Register */ + + struct + { + __IM uint32_t GRSTSTS : 1; /*!< [0..0] Global Reset Status */ + __IM uint32_t GHLTSTS : 1; /*!< [1..1] Global Halt Status */ + __IM uint32_t GSLPSTS : 1; /*!< [2..2] Global Sleep Status */ + __IM uint32_t GRAMINIT : 1; /*!< [3..3] Global RAM Initialisation */ + uint32_t : 28; + } CFDGSTS_b; + }; + + union + { + __IOM uint32_t CFDGERFL; /*!< (@ 0x00000020) Global Error Flag Register */ + + struct + { + __IOM uint32_t DEF : 1; /*!< [0..0] DLC Error Flag */ + __IM uint32_t MES : 1; /*!< [1..1] Message Lost Error Status */ + __IM uint32_t THLES : 1; /*!< [2..2] TX History List Entry Lost Error Status */ + __IOM uint32_t CMPOF : 1; /*!< [3..3] CAN-FD message payload overflow Flag */ + uint32_t : 12; + __IOM uint32_t EEF0 : 1; /*!< [16..16] ECC Error Flag for Channel 0 */ + uint32_t : 15; + } CFDGERFL_b; + }; + + union + { + __IOM uint32_t CFDGTSC; /*!< (@ 0x00000024) Global Timestamp Counter Register */ + + struct + { + __IM uint32_t TS : 16; /*!< [15..0] Timestamp Value */ + uint32_t : 16; + } CFDGTSC_b; + }; + + union + { + __IOM uint32_t CFDGAFLECTR; /*!< (@ 0x00000028) Global Acceptance Filter List Entry Control Register */ + + struct + { + __IOM uint32_t AFLPN : 4; /*!< [3..0] Acceptance Filter List Page Number */ + uint32_t : 4; + __IOM uint32_t AFLDAE : 1; /*!< [8..8] Acceptance Filter List Data Access Enable */ + uint32_t : 23; + } CFDGAFLECTR_b; + }; + + union + { + __IOM uint32_t CFDGAFLCFG0; /*!< (@ 0x0000002C) Global Acceptance Filter List Configuration Register + * 0 */ + + struct + { + __IOM uint32_t RNC1 : 9; /*!< [8..0] Rule Number for Channel 1 */ + uint32_t : 7; + __IOM uint32_t RNC0 : 9; /*!< [24..16] Rule Number for Channel 0 */ + uint32_t : 7; + } CFDGAFLCFG0_b; + }; + + union + { + __IOM uint32_t CFDRMNB; /*!< (@ 0x00000030) RX Message Buffer Number Register */ + + struct + { + __IOM uint32_t NRXMB : 8; /*!< [7..0] Number of RX Message Buffers */ + __IOM uint32_t RMPLS : 3; /*!< [10..8] Reception Message Buffer Payload Data Size */ + uint32_t : 21; + } CFDRMNB_b; + }; + + union + { + __IOM uint32_t CFDRMND0; /*!< (@ 0x00000034) RX Message Buffer New Data Register 0 */ + + struct + { + __IOM uint32_t RMNSu : 32; /*!< [31..0] RX Message Buffer New Data Status */ + } CFDRMND0_b; + }; + + union + { + __IOM uint32_t CFDRMIEC; /*!< (@ 0x00000038) RX Message Buffer Interrupt Enable Configuration + * Register */ + + struct + { + __IOM uint32_t RMIE : 32; /*!< [31..0] RX Message Buffer Interrupt Enable */ + } CFDRMIEC_b; + }; + + union + { + __IOM uint32_t CFDRFCC[2]; /*!< (@ 0x0000003C) RX FIFO Configuration / Control Registers */ + + struct + { + __IOM uint32_t RFE : 1; /*!< [0..0] RX FIFO Enable */ + __IOM uint32_t RFIE : 1; /*!< [1..1] RX FIFO Interrupt Enable */ + uint32_t : 2; + __IOM uint32_t RFPLS : 3; /*!< [6..4] Rx FIFO Payload Data Size configuration */ + uint32_t : 1; + __IOM uint32_t RFDC : 3; /*!< [10..8] RX FIFO Depth Configuration */ + uint32_t : 1; + __IOM uint32_t RFIM : 1; /*!< [12..12] RX FIFO Interrupt Mode */ + __IOM uint32_t RFIGCV : 3; /*!< [15..13] RX FIFO Interrupt Generation Counter Value */ + uint32_t : 16; + } CFDRFCC_b[2]; + }; + + union + { + __IOM uint32_t CFDRFSTS[2]; /*!< (@ 0x00000044) RX FIFO Status Registers */ + + struct + { + __IM uint32_t RFEMP : 1; /*!< [0..0] RX FIFO Empty */ + __IM uint32_t RFFLL : 1; /*!< [1..1] RX FIFO Full */ + __IOM uint32_t RFMLT : 1; /*!< [2..2] RX FIFO Message Lost */ + __IOM uint32_t RFIF : 1; /*!< [3..3] RX FIFO Interrupt Flag */ + uint32_t : 4; + __IM uint32_t RFMC : 8; /*!< [15..8] RX FIFO Message Count */ + uint32_t : 16; + } CFDRFSTS_b[2]; + }; + + union + { + __IOM uint32_t CFDRFPCTR[2]; /*!< (@ 0x0000004C) RX FIFO Pointer Control Registers */ + + struct + { + __OM uint32_t RFPC : 8; /*!< [7..0] RX FIFO Pointer Control */ + uint32_t : 24; + } CFDRFPCTR_b[2]; + }; + + union + { + __IOM uint32_t CFDCFCC[1]; /*!< (@ 0x00000054) Common FIFO Configuration / Control Registers */ + + struct + { + __IOM uint32_t CFE : 1; /*!< [0..0] Common FIFO Enable */ + __IOM uint32_t CFRXIE : 1; /*!< [1..1] Common FIFO RX Interrupt Enable */ + __IOM uint32_t CFTXIE : 1; /*!< [2..2] Common FIFO TX Interrupt Enable */ + uint32_t : 1; + __IOM uint32_t CFPLS : 3; /*!< [6..4] Common FIFO Payload Data size configuration */ + uint32_t : 1; + __IOM uint32_t CFM : 2; /*!< [9..8] Common FIFO Mode */ + __IOM uint32_t CFITSS : 1; /*!< [10..10] Common FIFO Interval Timer Source Select */ + __IOM uint32_t CFITR : 1; /*!< [11..11] Common FIFO Interval Timer Resolution */ + __IOM uint32_t CFIM : 1; /*!< [12..12] Common FIFO Interrupt Mode */ + __IOM uint32_t CFIGCV : 3; /*!< [15..13] Common FIFO Interrupt Generation Counter Value */ + __IOM uint32_t CFTML : 5; /*!< [20..16] Common FIFO TX Message Buffer Link */ + __IOM uint32_t CFDC : 3; /*!< [23..21] Common FIFO Depth Configuration */ + __IOM uint32_t CFITT : 8; /*!< [31..24] Common FIFO Interval Transmission Time */ + } CFDCFCC_b[1]; + }; + + union + { + __IOM uint32_t CFDCFSTS[1]; /*!< (@ 0x00000058) Common FIFO Status Registers */ + + struct + { + __IM uint32_t CFEMP : 1; /*!< [0..0] Common FIFO Empty */ + __IM uint32_t CFFLL : 1; /*!< [1..1] Common FIFO Full */ + __IOM uint32_t CFMLT : 1; /*!< [2..2] Common FIFO Message Lost */ + __IOM uint32_t CFRXIF : 1; /*!< [3..3] Common RX FIFO Interrupt Flag */ + __IOM uint32_t CFTXIF : 1; /*!< [4..4] Common TX FIFO Interrupt Flag */ + uint32_t : 3; + __IM uint32_t CFMC : 8; /*!< [15..8] Common FIFO Message Count */ + uint32_t : 16; + } CFDCFSTS_b[1]; + }; + + union + { + __IOM uint32_t CFDCFPCTR[1]; /*!< (@ 0x0000005C) Common FIFO Pointer Control Registers */ + + struct + { + __OM uint32_t CFPC : 8; /*!< [7..0] Common FIFO Pointer Control */ + uint32_t : 24; + } CFDCFPCTR_b[1]; + }; + + union + { + __IM uint32_t CFDFESTS; /*!< (@ 0x00000060) FIFO Empty Status Register */ + + struct + { + __IM uint32_t RFXEMP : 2; /*!< [1..0] RX FIF0 Empty Status */ + uint32_t : 6; + __IM uint32_t CFXEMP : 1; /*!< [8..8] Common FIF0 Empty Status */ + uint32_t : 23; + } CFDFESTS_b; + }; + + union + { + __IM uint32_t CFDFFSTS; /*!< (@ 0x00000064) FIFO Full Status Register */ + + struct + { + __IM uint32_t RFXFLL : 2; /*!< [1..0] RX FIF0 Full Status */ + uint32_t : 6; + __IM uint32_t CFXFLL : 1; /*!< [8..8] Common FIF0 Full Status */ + uint32_t : 23; + } CFDFFSTS_b; + }; + + union + { + __IM uint32_t CFDFMSTS; /*!< (@ 0x00000068) FIFO Message Lost Status Register */ + + struct + { + __IM uint32_t RFXMLT : 2; /*!< [1..0] RX FIFO Msg Lost Status */ + uint32_t : 6; + __IM uint32_t CFXMLT : 1; /*!< [8..8] Common FIFO Msg Lost Status */ + uint32_t : 23; + } CFDFMSTS_b; + }; + + union + { + __IOM uint32_t CFDRFISTS; /*!< (@ 0x0000006C) RX FIFO Interrupt Flag Status Register */ + + struct + { + __IM uint32_t RFXIF : 1; /*!< [0..0] RX FIFO[x] Interrupt Flag Status */ + uint32_t : 31; + } CFDRFISTS_b; + }; + + union + { + __IOM uint8_t CFDTMC[4]; /*!< (@ 0x00000070) TX Message Buffer Control Registers */ + + struct + { + __IOM uint8_t TMTR : 1; /*!< [0..0] TX Message Buffer Transmission Request */ + __IOM uint8_t TMTAR : 1; /*!< [1..1] TX Message Buffer Transmission abort Request */ + __IOM uint8_t TMOM : 1; /*!< [2..2] TX Message Buffer One-shot Mode */ + uint8_t : 5; + } CFDTMC_b[4]; + }; + + union + { + __IOM uint8_t CFDTMSTS[4]; /*!< (@ 0x00000074) TX Message Buffer Status Registers */ + + struct + { + __IM uint8_t TMTSTS : 1; /*!< [0..0] TX Message Buffer Transmission Status */ + __IOM uint8_t TMTRF : 2; /*!< [2..1] TX Message Buffer Transmission Result Flag */ + __IM uint8_t TMTRM : 1; /*!< [3..3] TX Message Buffer Transmission Request Mirrored */ + __IM uint8_t TMTARM : 1; /*!< [4..4] TX Message Buffer Transmission abort Request Mirrored */ + uint8_t : 3; + } CFDTMSTS_b[4]; + }; + + union + { + __IM uint32_t CFDTMTRSTS[1]; /*!< (@ 0x00000078) TX Message Buffer Transmission Request Status + * Register */ + + struct + { + __IM uint32_t CFDTMTRSTSg : 4; /*!< [3..0] TX Message Buffer Transmission Request Status */ + uint32_t : 28; + } CFDTMTRSTS_b[1]; + }; + + union + { + __IM uint32_t CFDTMTARSTS[1]; /*!< (@ 0x0000007C) TX Message Buffer Transmission Abort Request + * Status Register */ + + struct + { + __IM uint32_t CFDTMTARSTSg : 4; /*!< [3..0] TX Message Buffer Transmission abort Request Status */ + uint32_t : 28; + } CFDTMTARSTS_b[1]; + }; + + union + { + __IM uint32_t CFDTMTCSTS[1]; /*!< (@ 0x00000080) TX Message Buffer Transmission Completion Status + * Register */ + + struct + { + __IM uint32_t CFDTMTCSTSg : 4; /*!< [3..0] TX Message Buffer Transmission Completion Status */ + uint32_t : 28; + } CFDTMTCSTS_b[1]; + }; + + union + { + __IM uint32_t CFDTMTASTS[1]; /*!< (@ 0x00000084) TX Message Buffer Transmission Abort Status Register */ + + struct + { + __IM uint32_t CFDTMTASTSg : 4; /*!< [3..0] TX Message Buffer Transmission abort Status */ + uint32_t : 28; + } CFDTMTASTS_b[1]; + }; + + union + { + __IOM uint32_t CFDTMIEC[1]; /*!< (@ 0x00000088) TX Message Buffer Interrupt Enable Configuration + * Register */ + + struct + { + __IOM uint32_t TMIEg : 4; /*!< [3..0] TX Message Buffer Interrupt Enable */ + uint32_t : 28; + } CFDTMIEC_b[1]; + }; + + union + { + __IOM uint32_t CFDTXQCC0[1]; /*!< (@ 0x0000008C) TX Queue Configuration / Control Registers 0 */ + + struct + { + __IOM uint32_t TXQE : 1; /*!< [0..0] TX Queue Enable */ + uint32_t : 4; + __IOM uint32_t TXQTXIE : 1; /*!< [5..5] TX Queue TX Interrupt Enable */ + uint32_t : 1; + __IOM uint32_t TXQIM : 1; /*!< [7..7] TX Queue Interrupt Mode */ + __IOM uint32_t TXQDC : 2; /*!< [9..8] TX Queue Depth Configuration */ + uint32_t : 22; + } CFDTXQCC0_b[1]; + }; + + union + { + __IOM uint32_t CFDTXQSTS0[1]; /*!< (@ 0x00000090) TX Queue Status Registers 0 */ + + struct + { + __IM uint32_t TXQEMP : 1; /*!< [0..0] TX Queue Empty */ + __IM uint32_t TXQFLL : 1; /*!< [1..1] TX Queue Full */ + __IOM uint32_t TXQTXIF : 1; /*!< [2..2] TX Queue TX Interrupt Flag */ + uint32_t : 5; + __IM uint32_t TXQMC : 6; /*!< [13..8] TX Queue Message Count */ + uint32_t : 18; + } CFDTXQSTS0_b[1]; + }; + + union + { + __IOM uint32_t CFDTXQPCTR0[1]; /*!< (@ 0x00000094) TX Queue Pointer Control Registers 0 */ + + struct + { + __OM uint32_t TXQPC : 8; /*!< [7..0] TX Queue Pointer Control */ + uint32_t : 24; + } CFDTXQPCTR0_b[1]; + }; + + union + { + __IOM uint32_t CFDTHLCC[1]; /*!< (@ 0x00000098) TX History List Configuration / Control Register */ + + struct + { + __IOM uint32_t THLE : 1; /*!< [0..0] TX History List Enable */ + uint32_t : 7; + __IOM uint32_t THLIE : 1; /*!< [8..8] TX History List Interrupt Enable */ + __IOM uint32_t THLIM : 1; /*!< [9..9] TX History List Interrupt Mode */ + __IOM uint32_t THLDTE : 1; /*!< [10..10] TX History List Dedicated TX Enable */ + uint32_t : 21; + } CFDTHLCC_b[1]; + }; + + union + { + __IOM uint32_t CFDTHLSTS[1]; /*!< (@ 0x0000009C) TX History List Status Register */ + + struct + { + __IM uint32_t THLEMP : 1; /*!< [0..0] TX History List Empty */ + __IM uint32_t THLFLL : 1; /*!< [1..1] TX History List Full */ + __IOM uint32_t THLELT : 1; /*!< [2..2] TX History List Entry Lost */ + __IOM uint32_t THLIF : 1; /*!< [3..3] TX History List Interrupt Flag */ + uint32_t : 4; + __IM uint32_t THLMC : 6; /*!< [13..8] TX History List Message Count */ + uint32_t : 18; + } CFDTHLSTS_b[1]; + }; + + union + { + __IOM uint32_t CFDTHLPCTR[1]; /*!< (@ 0x000000A0) TX History List Pointer Control Registers */ + + struct + { + __OM uint32_t THLPC : 8; /*!< [7..0] TX History List Pointer Control */ + uint32_t : 24; + } CFDTHLPCTR_b[1]; + }; + + union + { + __IOM uint32_t CFDGTINTSTS0; /*!< (@ 0x000000A4) Global TX Interrupt Status Register 0 */ + + struct + { + __IM uint32_t TSIF0 : 1; /*!< [0..0] TX Successful Interrupt Flag Channel 0 */ + __IM uint32_t TAIF0 : 1; /*!< [1..1] TX Abort Interrupt Flag Channel 0 */ + __IM uint32_t TQIF0 : 1; /*!< [2..2] TX Queue Interrupt Flag Channel 0 */ + __IM uint32_t CFTIF0 : 1; /*!< [3..3] COM FIFO TX/GW Mode Interrupt Flag Channel 0 */ + __IM uint32_t THIF0 : 1; /*!< [4..4] TX History List Interrupt Channel 0 */ + uint32_t : 27; + } CFDGTINTSTS0_b; + }; + + union + { + __IOM uint32_t CFDGTSTCFG; /*!< (@ 0x000000A8) Global Test Configuration Register */ + + struct + { + uint32_t : 16; + __IOM uint32_t RTMPS : 10; /*!< [25..16] RAM Test Mode Page Select */ + uint32_t : 6; + } CFDGTSTCFG_b; + }; + + union + { + __IOM uint32_t CFDGTSTCTR; /*!< (@ 0x000000AC) Global Test Control Register */ + + struct + { + uint32_t : 2; + __IOM uint32_t RTME : 1; /*!< [2..2] RAM Test Mode Enable */ + uint32_t : 29; + } CFDGTSTCTR_b; + }; + + union + { + __IOM uint32_t CFDGFDCFG; /*!< (@ 0x000000B0) Global FD Configuration register */ + + struct + { + __IOM uint32_t RPED : 1; /*!< [0..0] RES bit Protocol exception disable */ + uint32_t : 7; + __IOM uint32_t TSCCFG : 2; /*!< [9..8] Timestamp capture configuration */ + uint32_t : 22; + } CFDGFDCFG_b; + }; + __IM uint32_t RESERVED1; + + union + { + __IOM uint32_t CFDGLOCKK; /*!< (@ 0x000000B8) Global Lock Key Register */ + + struct + { + __OM uint32_t LOCK : 16; /*!< [15..0] Lock Key */ + uint32_t : 16; + } CFDGLOCKK_b; + }; + __IM uint32_t RESERVED2; + + union + { + __IOM uint32_t CFDGAFLIGNENT; /*!< (@ 0x000000C0) Global AFL Ignore Entry Register */ + + struct + { + __IOM uint32_t IRN : 5; /*!< [4..0] Ignore Rule Number */ + uint32_t : 27; + } CFDGAFLIGNENT_b; + }; + + union + { + __IOM uint32_t CFDGAFLIGNCTR; /*!< (@ 0x000000C4) Global AFL Ignore Control Register */ + + struct + { + __IOM uint32_t IREN : 1; /*!< [0..0] Ignore Rule Enable */ + uint32_t : 7; + __OM uint32_t KEY : 8; /*!< [15..8] Key code */ + uint32_t : 16; + } CFDGAFLIGNCTR_b; + }; + + union + { + __IOM uint32_t CFDCDTCT; /*!< (@ 0x000000C8) DMA Transfer Control Register */ + + struct + { + __IOM uint32_t RFDMAE0 : 1; /*!< [0..0] DMA Transfer Enable for RXFIFO 0 */ + __IOM uint32_t RFDMAE1 : 1; /*!< [1..1] DMA Transfer Enable for RXFIFO 1 */ + uint32_t : 6; + __IOM uint32_t CFDMAE0 : 1; /*!< [8..8] DMA Transfer Enable for Common FIFO 0 of channel 0 */ + uint32_t : 23; + } CFDCDTCT_b; + }; + + union + { + __IM uint32_t CFDCDTSTS; /*!< (@ 0x000000CC) DMA Transfer Status Register */ + + struct + { + __IM uint32_t RFDMASTS0 : 1; /*!< [0..0] DMA Transfer Status for RX FIFO 0 */ + __IM uint32_t RFDMASTS1 : 1; /*!< [1..1] DMA Transfer Status for RX FIFO 1 */ + uint32_t : 6; + __IM uint32_t CFDMASTS0 : 1; /*!< [8..8] DMA Transfer Status only for Common FIFO 0 of channel + * 0 */ + uint32_t : 23; + } CFDCDTSTS_b; + }; + __IM uint32_t RESERVED3[2]; + + union + { + __IOM uint32_t CFDGRSTC; /*!< (@ 0x000000D8) Global SW reset Register */ + + struct + { + __IOM uint32_t SRST : 1; /*!< [0..0] SW reset */ + uint32_t : 7; + __OM uint32_t KEY : 8; /*!< [15..8] Key code */ + uint32_t : 16; + } CFDGRSTC_b; + }; + __IM uint32_t RESERVED4[9]; + __IOM R_CANFDL_CFDC2_Type CFDC2[1]; /*!< (@ 0x00000100) Channel Configuration Registers */ + __IOM R_CANFDL_CFDGAFL_Type CFDGAFL[16]; /*!< (@ 0x00000120) Global Acceptance Filter List Registers */ + __IM uint32_t RESERVED5[24]; + + union + { + __IOM uint32_t CFDRPGACC[64]; /*!< (@ 0x00000280) RAM Test Page Access Registers */ + + struct + { + __IOM uint32_t RDTA : 32; /*!< [31..0] RAM Data Test Access */ + } CFDRPGACC_b[64]; + }; + __IM uint32_t RESERVED6[104]; + __IOM R_CANFDL_CFDRF_Type CFDRF[2]; /*!< (@ 0x00000520) RX FIFO Access Registers */ + __IOM R_CANFDL_CFDCF_Type CFDCF[1]; /*!< (@ 0x000005B8) Common FIFO Access Registers */ + __IOM R_CANFDL_CFDTM_Type CFDTM[4]; /*!< (@ 0x00000604) TX Message Buffer Access Registers */ + __IM uint32_t RESERVED7[3]; + __IOM R_CANFDL_CFDTHL_Type CFDTHL[1]; /*!< (@ 0x00000740) Channel TX History List */ + __IM uint32_t RESERVED8[118]; + __IOM R_CANFDL_CFDRMC_Type CFDRMC[4]; /*!< (@ 0x00000920) RX Message Buffer Access Clusters */ +} R_CANFDL_Type; /*!< Size = 6432 (0x1920) */ + /* =========================================================================================================================== */ /* ================ R_CRC ================ */ /* =========================================================================================================================== */ @@ -6583,24 +8074,25 @@ typedef struct /*!< (@ 0x40081000) R_CTSU Structure union { - __IM uint16_t CTSUERRS; /*!< (@ 0x0000001C) CTSU Error Status Register */ + __IM uint16_t CTSUERRS; /*!< (@ 0x0000001C) CTSU Error Status Register */ struct { - __IOM uint16_t CTSUSPMD : 2; /*!< [1..0] Calibration Mode */ - __IOM uint16_t CTSUTSOD : 1; /*!< [2..2] TS Pin Fixed Output */ - __IOM uint16_t CTSUDRV : 1; /*!< [3..3] Calibration Setting 1 */ - uint16_t : 3; - __IOM uint16_t CTSUTSOC : 1; /*!< [7..7] Calibration Setting 2 */ - uint16_t : 7; - __IM uint16_t CTSUICOMP : 1; /*!< [15..15] TSCAP Voltage Error Monitor */ + __IOM uint16_t CTSUSPMD : 2; /*!< [1..0] Calibration Mode */ + __IOM uint16_t CTSUTSOD : 1; /*!< [2..2] TS Pin Fixed Output */ + __IOM uint16_t CTSUDRV : 1; /*!< [3..3] Calibration Setting 1 */ + uint16_t : 2; + __IOM uint16_t CTSUCLKSEL1 : 1; /*!< [6..6] Calibration Setting 3 */ + __IOM uint16_t CTSUTSOC : 1; /*!< [7..7] Calibration Setting 2 */ + uint16_t : 7; + __IM uint16_t CTSUICOMP : 1; /*!< [15..15] TSCAP Voltage Error Monitor */ } CTSUERRS_b; }; __IM uint16_t RESERVED; - __IOM uint8_t CTSUTRMR; /*!< (@ 0x00000020) CTSU Reference Current Calibration Register */ + __IOM uint8_t CTSUTRMR; /*!< (@ 0x00000020) CTSU Reference Current Calibration Register */ __IM uint8_t RESERVED1; __IM uint16_t RESERVED2; -} R_CTSU_Type; /*!< Size = 36 (0x24) */ +} R_CTSU_Type; /*!< Size = 36 (0x24) */ /* =========================================================================================================================== */ /* ================ R_CTSU2 ================ */ @@ -6627,8 +8119,8 @@ typedef struct /*!< (@ 0x40082000) R_CTSU2 Structure __OM uint32_t INIT : 1; /*!< [4..4] CTSU Control Block Initialization */ __IOM uint32_t PUMPON : 1; /*!< [5..5] CTSU Boost Circuit Control */ __IOM uint32_t TXVSEL : 2; /*!< [7..6] CTSU Transmission Power Supply Selection */ - __IOM uint32_t PON : 1; /*!< [8..8] CTSU Power Supply Enable */ - __IOM uint32_t CSW : 1; /*!< [9..9] CTSU LPF Capacitance Charging Control */ + __IOM uint32_t PON : 1; /*!< [8..8] CTSU Power On Control */ + __IOM uint32_t CSW : 1; /*!< [9..9] TSCAP Pin Enable */ __IOM uint32_t ATUNE0 : 1; /*!< [10..10] CTSU Power Supply Operating Mode Setting */ __IOM uint32_t ATUNE1 : 1; /*!< [11..11] CTSU Current Range Adjustment */ __IOM uint32_t CLK : 2; /*!< [13..12] CTSU Operating Clock Select */ @@ -6636,7 +8128,7 @@ typedef struct /*!< (@ 0x40082000) R_CTSU2 Structure __IOM uint32_t MD1 : 1; /*!< [15..15] CTSU Measurement Mode Select 1 */ __IOM uint32_t MD2 : 1; /*!< [16..16] CTSU Measurement Mode Select 2 */ __IOM uint32_t ATUNE2 : 1; /*!< [17..17] CTSU Current Range Adjustment */ - __IOM uint32_t LOAD : 2; /*!< [19..18] CTSU Measurement Load Control */ + __IOM uint32_t LOAD : 2; /*!< [19..18] CTSU Load Control During Measurement */ __IOM uint32_t POSEL : 2; /*!< [21..20] CTSU Non-measured Channel Output Select */ __IOM uint32_t SDPSEL : 1; /*!< [22..22] CTSU Sensor Drive Pulse Select */ __IOM uint32_t PCSEL : 1; /*!< [23..23] CTSU Boost Circuit Clock Select */ @@ -6680,15 +8172,15 @@ typedef struct /*!< (@ 0x40082000) R_CTSU2 Structure struct { - __IOM uint32_t PRRATIO : 4; /*!< [3..0] CTSU Measurement Time and Pulse Count Adjustment */ - __IOM uint32_t PRMODE : 2; /*!< [5..4] CTSU Base Period and Pulse Count Setting */ - __IOM uint32_t SOFF : 1; /*!< [6..6] CTSU High-Pass Noise Reduction Function Off Setting */ - __IOM uint32_t PROFF : 1; /*!< [7..7] CTSU Random Number Off Control */ - __IOM uint32_t SST : 8; /*!< [15..8] CTSU Sensor Stabilization Wait Control */ + __IOM uint32_t PRRATIO : 4; /*!< [3..0] Frequency of Drive Pulse Phase Control */ + __IOM uint32_t PRMODE : 2; /*!< [5..4] Phase Control Period */ + __IOM uint32_t SOFF : 1; /*!< [6..6] High-Pass Noise Reduction Function Disable */ + __IOM uint32_t PROFF : 1; /*!< [7..7] Drive Pulse Phase Control */ + __IOM uint32_t SST : 8; /*!< [15..8] Wait Time Sensor Stabilization */ uint32_t : 8; - __IOM uint32_t SSMOD : 3; /*!< [26..24] CTSU SUCLK Diffusion Mode Select */ + __IOM uint32_t SSMOD : 3; /*!< [26..24] Spread Spectrum Modulation Frequency */ uint32_t : 1; - __IOM uint32_t SSCNT : 2; /*!< [29..28] CTSU SUCLK Diffusion Control */ + __IOM uint32_t SSCNT : 2; /*!< [29..28] Adjusting the SUCLK frequency */ uint32_t : 2; } CTSUCRB_b; }; @@ -6961,7 +8453,7 @@ typedef struct /*!< (@ 0x40082000) R_CTSU2 Structure uint32_t : 1; __IM uint32_t DTSR : 1; /*!< [12..12] CTSU Data Transfer Status Flag */ __IOM uint32_t SENSOVF : 1; /*!< [13..13] CTSU Sensor Counter Overflow Flag */ - uint32_t : 1; + __IOM uint32_t SUOVF : 1; /*!< [14..14] CTSU SUCLK Counter Overflow Flag */ __IM uint32_t PS : 1; /*!< [15..15] CTSU Mutual Capacitance Status Flag */ __IOM uint32_t CFCRDCH : 6; /*!< [21..16] CTSU CFC Read Channel Select */ uint32_t : 10; @@ -7000,7 +8492,7 @@ typedef struct /*!< (@ 0x40082000) R_CTSU2 Structure __IOM uint32_t SO : 10; /*!< [9..0] CTSU Sensor Offset Adjustment */ __IOM uint32_t SNUM : 8; /*!< [17..10] CTSU Measurement Count Setting */ uint32_t : 2; - __IOM uint32_t SSDIV : 4; /*!< [23..20] CTSU Spectrum Diffusion Frequency Division Setting */ + __IOM uint32_t SSDIV : 4; /*!< [23..20] Spread Spectrum Frequency */ __IOM uint32_t SDPA : 8; /*!< [31..24] CTSU Base Clock Setting */ } CTSUSO_b; }; @@ -7036,26 +8528,31 @@ typedef struct /*!< (@ 0x40082000) R_CTSU2 Structure struct { uint32_t : 2; - __IOM uint32_t TSOD : 1; /*!< [2..2] CTSU TS Pins Fixed Output Select */ - __IOM uint32_t DRV : 1; /*!< [3..3] CTSU Power Supply Forced Start */ - __IOM uint32_t CLKSEL : 2; /*!< [5..4] CTSU Observation Clock Select */ - __IOM uint32_t SUCLKEN : 1; /*!< [6..6] CTSU SUCLK Enable Control */ - __IOM uint32_t TSOC : 1; /*!< [7..7] CTSU Switched Capacitor Operation Stop */ - __IOM uint32_t CNTRDSEL : 1; /*!< [8..8] CTSU Read Count Select of Sensor Counter */ - __IOM uint32_t IOC : 1; /*!< [9..9] CTSU Transfer Pins Control */ - __IOM uint32_t CFCRDMD : 1; /*!< [10..10] CTSU CFC Counter Read Mode Select */ - __IOM uint32_t DCOFF : 1; /*!< [11..11] CTSU Down Converter Control */ + __IOM uint32_t TSOD : 1; /*!< [2..2] TS Pins Fixed Output */ + __IOM uint32_t DRV : 1; /*!< [3..3] Power Supply Calibration Select */ + __IOM uint32_t CLKSEL : 2; /*!< [5..4] Observation Clock Select */ + __IOM uint32_t SUCLKEN : 1; /*!< [6..6] SUCLK Forced Oscillation Control */ + __IOM uint32_t TSOC : 1; /*!< [7..7] Switched Capacitor Operation Calibration Select Bit */ + __IOM uint32_t CNTRDSEL : 1; /*!< [8..8] Read Count Select of Sensor Counter */ + __IOM uint32_t IOC : 1; /*!< [9..9] TS Pin Fixed Output Value Set */ + __IOM uint32_t CFCRDMD : 1; /*!< [10..10] CFC Counter Read Mode Select */ + __IOM uint32_t DCOFF : 1; /*!< [11..11] Down Converter Control */ uint32_t : 4; - __IOM uint32_t CFCSEL : 6; /*!< [21..16] CTSU Observation CFC Clock Select */ - __IOM uint32_t CFCMODE : 1; /*!< [22..22] CTSU CFC Current Source Switching */ - uint32_t : 2; - __IOM uint32_t DACCARRY : 1; /*!< [25..25] CTSU DAC Upper Current Source Carry Control */ + __IOM uint32_t CFCSEL : 6; /*!< [21..16] Observation CFC Clock Select */ + __IOM uint32_t CFCMODE : 1; /*!< [22..22] CFC Oscillator Calibration Mode Select */ uint32_t : 1; - __IOM uint32_t SUCARRY : 1; /*!< [27..27] CTSU CCO Carry Control */ - __IOM uint32_t DACCLK : 1; /*!< [28..28] CTSU DAC Modulation Circuit Clock Select */ - __IOM uint32_t CCOCLK : 1; /*!< [29..29] CTSU CCO Modulation Circuit Clock Select */ - __IOM uint32_t CCOCALIB : 1; /*!< [30..30] CTSU CCO Calibration Mode Select */ - __IOM uint32_t TXREV : 1; /*!< [31..31] CTSU Transmit Pin Inverted Output */ + __IOM uint32_t DACMSEL : 1; /*!< [24..24] Current Offset DAC Current Matrix Calibration Select */ + __IOM uint32_t DACCARRY : 1; /*!< [25..25] Offset Current Adjustment for Calibration */ + __IOM uint32_t SUMSEL : 1; /*!< [26..26] Current Control Oscillator Input Current Matrix Calibration + * Select */ + __IOM uint32_t SUCARRY : 1; /*!< [27..27] Current Control Oscillator Input Current Adjustment + * for SUCLK */ + __IOM uint32_t DACCLK : 1; /*!< [28..28] Modulation Clock Select for Offset Current Circuits */ + __IOM uint32_t CCOCLK : 1; /*!< [29..29] Modulation Clock Select for Current Controlled Oscillator + * Input Current of SUCLK */ + __IOM uint32_t CCOCALIB : 1; /*!< [30..30] Calibration Selection of Current Controlled Oscillator + * for Measurement */ + __IOM uint32_t TXREV : 1; /*!< [31..31] Transmit Pin Inverted Output */ } CTSUCALIB_b; }; @@ -8815,6 +10312,8 @@ typedef struct /*!< (@ 0x40005400) R_DTC Structure * @brief Event Link Controller (R_ELC) */ + #ifndef BSP_OVERRIDE_REG_R_ELC_TYPE + typedef struct /*!< (@ 0x40041000) R_ELC Structure */ { union @@ -8840,12 +10339,12 @@ typedef struct /*!< (@ 0x40041000) R_ELC Structure struct { - __IOM uint16_t ELSEGR0 : 1; /*!< [0..0] Event Link Software Event Generation Register 0 Security + __IOM uint16_t ELCR : 1; /*!< [0..0] Event Link Controller RegisterSecurity Attribution */ + __IOM uint16_t ELSEGR0 : 1; /*!< [1..1] Event Link Software Event Generation Register 0 Security * Attribution */ - __IOM uint16_t ELSEGR1 : 1; /*!< [1..1] Event Link Software Event Generation Register 1Security + __IOM uint16_t ELSEGR1 : 1; /*!< [2..2] Event Link Software Event Generation Register 1Security * Attribution */ - __IOM uint16_t ELCR : 1; /*!< [2..2] Event Link Controller RegisterSecurity Attribution */ - uint16_t : 13; + uint16_t : 13; } ELCSARA_b; }; __IM uint16_t RESERVED3; @@ -8892,6 +10391,8 @@ typedef struct /*!< (@ 0x40041000) R_ELC Structure }; } R_ELC_Type; /*!< Size = 126 (0x7e) */ + #endif + /* =========================================================================================================================== */ /* ================ R_ETHERC0 ================ */ /* =========================================================================================================================== */ @@ -12489,7 +13990,8 @@ typedef struct /*!< (@ 0x40078000) R_GPT0 Structure __IOM uint32_t USELCF : 1; /*!< [21..21] ELC_GPT Event Source Counter Count Up Enable */ __IOM uint32_t USELCG : 1; /*!< [22..22] ELC_GPT Event Source Counter Count Up Enable */ __IOM uint32_t USELCH : 1; /*!< [23..23] ELC_GPT Event Source Counter Count Up Enable */ - uint32_t : 8; + __IOM uint32_t USILVL : 4; /*!< [27..24] External Input Level Source Count-Up Enable */ + uint32_t : 4; } GTUPSR_b; }; @@ -12531,7 +14033,8 @@ typedef struct /*!< (@ 0x40078000) R_GPT0 Structure __IOM uint32_t DSELCF : 1; /*!< [21..21] ELC_GPT Event Source Counter Count Down Enable */ __IOM uint32_t DSELCG : 1; /*!< [22..22] ELC_GPT Event Source Counter Count Down Enable */ __IOM uint32_t DSELCH : 1; /*!< [23..23] ELC_GPT Event Source Counter Count Down Enable */ - uint32_t : 8; + __IOM uint32_t DSILVL : 4; /*!< [27..24] External Input Level Source Count-Down Enable */ + uint32_t : 4; } GTDNSR_b; }; @@ -13086,6 +14589,28 @@ typedef struct /*!< (@ 0x40078000) R_GPT0 Structure }; } R_GPT0_Type; /*!< Size = 216 (0xd8) */ +/* =========================================================================================================================== */ +/* ================ R_GPT_GTCLK ================ */ +/* =========================================================================================================================== */ + +/** + * @brief GTCLK (R_GPT_GTCLK) + */ + +typedef struct /*!< (@ 0x40169B00) R_GPT_GTCLK Structure */ +{ + union + { + __IOM uint32_t GTCLKCR; /*!< (@ 0x00000000) General PWM Timer Clock Control Register */ + + struct + { + __IOM uint32_t BPEN : 1; /*!< [0..0] Synchronization Circuit Bypass Enable */ + uint32_t : 31; + } GTCLKCR_b; + }; +} R_GPT_GTCLK_Type; /*!< Size = 4 (0x4) */ + /* =========================================================================================================================== */ /* ================ R_GPT_ODC ================ */ /* =========================================================================================================================== */ @@ -13105,7 +14630,7 @@ typedef struct /*!< (@ 0x4007B000) R_GPT_ODC Structure __IOM uint16_t DLLEN : 1; /*!< [0..0] DLL Operation Enable */ __IOM uint16_t DLYRST : 1; /*!< [1..1] PWM Delay Generation Circuit Reset */ uint16_t : 6; - __IOM uint16_t DLLMOD : 1; /*!< [8..8] DLL Mode Select */ + __IOM uint16_t FRANGE : 1; /*!< [8..8] GPT core clock Frequency Range */ uint16_t : 7; } GTDLYCR1_b; }; @@ -13122,7 +14647,9 @@ typedef struct /*!< (@ 0x4007B000) R_GPT_ODC Structure __IOM uint16_t DLYBS3 : 1; /*!< [3..3] PWM Delay Generation Circuit bypass */ uint16_t : 4; __IOM uint16_t DLYEN0 : 1; /*!< [8..8] PWM Delay Generation Circuit enable */ - uint16_t : 3; + __IOM uint16_t DLYEN1 : 1; /*!< [9..9] PWM Delay Generation Circuit enable */ + __IOM uint16_t DLYEN2 : 1; /*!< [10..10] PWM Delay Generation Circuit enable */ + __IOM uint16_t DLYEN3 : 1; /*!< [11..11] PWM Delay Generation Circuit enable */ __IOM uint16_t DLYDENB0 : 1; /*!< [12..12] PWM Delay Generation Circuit Disenable for GTIOCB */ uint16_t : 3; } GTDLYCR2_b; @@ -13417,7 +14944,24 @@ typedef struct /*!< (@ 0x40006000) R_ICU Structure uint32_t : 29; } WUPEN1_b; }; - __IM uint32_t RESERVED10[22]; + __IM uint32_t RESERVED10[6]; + + union + { + __IOM uint8_t IELEN; /*!< (@ 0x000001C0) ICU event Enable Register */ + + struct + { + __IOM uint8_t RTCINTEN : 1; /*!< [0..0] RTCALM and RTCPRD Interrupts Enable (when LPOPTEN bit + * = 1) */ + __IOM uint8_t IELEN : 1; /*!< [1..1] Parts Asynchronous Interrupts Enable except RTC (when + * LPOPTEN bit = 1) */ + uint8_t : 6; + } IELEN_b; + }; + __IM uint8_t RESERVED11; + __IM uint16_t RESERVED12; + __IM uint32_t RESERVED13[15]; union { @@ -13429,8 +14973,8 @@ typedef struct /*!< (@ 0x40006000) R_ICU Structure uint16_t : 7; } SELSR0_b; }; - __IM uint16_t RESERVED11; - __IM uint32_t RESERVED12[31]; + __IM uint16_t RESERVED14; + __IM uint32_t RESERVED15[31]; union { @@ -13445,7 +14989,7 @@ typedef struct /*!< (@ 0x40006000) R_ICU Structure uint32_t : 15; } DELSR_b[8]; }; - __IM uint32_t RESERVED13[24]; + __IM uint32_t RESERVED16[24]; union { @@ -14366,14 +15910,14 @@ typedef struct /*!< (@ 0x40080000) R_KINT Structure } R_KINT_Type; /*!< Size = 9 (0x9) */ /* =========================================================================================================================== */ -/* ================ I3C ================ */ +/* ================ R_I3C0 ================ */ /* =========================================================================================================================== */ /** - * @brief I3C Bus Interface (I3C) + * @brief I3C Bus Interface (R_I3C0) */ -typedef struct /*!< (@ 0x40083000) I3C Structure */ +typedef struct /*!< (@ 0x40083000) R_I3C0 Structure */ { union { @@ -14385,7 +15929,18 @@ typedef struct /*!< (@ 0x40083000) I3C Structure uint32_t : 31; } PRTS_b; }; - __IM uint32_t RESERVED[4]; + __IM uint32_t RESERVED[3]; + + union + { + __IOM uint32_t CECTL; /*!< (@ 0x00000010) Clock Enable Control Resisters */ + + struct + { + __IOM uint32_t CLKE : 1; /*!< [0..0] Clock Enable */ + uint32_t : 31; + } CECTL_b; + }; union { @@ -14974,7 +16529,20 @@ typedef struct /*!< (@ 0x40083000) I3C Structure uint32_t : 11; } NTSTFC_b; }; - __IM uint32_t RESERVED16[9]; + __IM uint32_t RESERVED16[8]; + + union + { + __IM uint32_t BCST; /*!< (@ 0x00000210) Bus Condition Status Register */ + + struct + { + __IM uint32_t BFREF : 1; /*!< [0..0] Bus Free Detection Flag */ + __IM uint32_t BAVLF : 1; /*!< [1..1] Bus Available Detection Flag */ + __IM uint32_t BIDLF : 1; /*!< [2..2] Bus Idle Detection Flag */ + uint32_t : 29; + } BCST_b; + }; union { @@ -15092,8 +16660,7 @@ typedef struct /*!< (@ 0x40083000) I3C Structure union { - __IOM uint32_t SDATBAS0; /*!< (@ 0x000002B0) Slave Device Address Table Basic Register 0 (n - * = 0) */ + __IOM uint32_t SDATBAS0; /*!< (@ 0x000002B0) Slave Device Address Table Basic Register 0 */ struct { @@ -15106,7 +16673,39 @@ typedef struct /*!< (@ 0x40083000) I3C Structure uint32_t : 9; } SDATBAS0_b; }; - __IM uint32_t RESERVED23[7]; + + union + { + __IOM uint32_t SDATBAS1; /*!< (@ 0x000002B4) Slave Device Address Table Basic Register 1 */ + + struct + { + __IOM uint32_t SDSTAD : 10; /*!< [9..0] Slave Device Static Address */ + __IOM uint32_t SDADLS : 1; /*!< [10..10] Slave Device Address Length Selection */ + uint32_t : 1; + __IOM uint32_t SDIBIPL : 1; /*!< [12..12] Slave Device IBI Payload */ + uint32_t : 3; + __IOM uint32_t SDDYAD : 7; /*!< [22..16] Slave Device I3C Dynamic Address */ + uint32_t : 9; + } SDATBAS1_b; + }; + + union + { + __IOM uint32_t SDATBAS2; /*!< (@ 0x000002B8) Slave Device Address Table Basic Register 2 */ + + struct + { + __IOM uint32_t SDSTAD : 10; /*!< [9..0] Slave Device Static Address */ + __IOM uint32_t SDADLS : 1; /*!< [10..10] Slave Device Address Length Selection */ + uint32_t : 1; + __IOM uint32_t SDIBIPL : 1; /*!< [12..12] Slave Device IBI Payload */ + uint32_t : 3; + __IOM uint32_t SDDYAD : 7; /*!< [22..16] Slave Device I3C Dynamic Address */ + uint32_t : 9; + } SDATBAS2_b; + }; + __IM uint32_t RESERVED23[5]; union { @@ -15307,8 +16906,9 @@ typedef struct /*!< (@ 0x40083000) I3C Structure struct { - __IOM uint32_t MSRDR : 3; /*!< [2..0] Maximum Sustained Read Data Rate */ - uint32_t : 29; + __IOM uint32_t MSRDR : 3; /*!< [2..0] Maximum Sustained Read Data Rate */ + __IOM uint32_t CDTTIM : 3; /*!< [5..3] Clock to Data Turnaround Time (TSCO) */ + uint32_t : 26; } CMDSPR_b; }; @@ -15416,7 +17016,7 @@ typedef struct /*!< (@ 0x40083000) I3C Structure uint32_t : 24; } MSERRCNT_b; }; -} I3C_Type; /*!< Size = 980 (0x3d4) */ +} R_I3C0_Type; /*!< Size = 980 (0x3d4) */ /* =========================================================================================================================== */ /* ================ R_MMF ================ */ @@ -15517,11 +17117,26 @@ typedef struct /*!< (@ 0x40000D00) R_MPU_SPMON Structure * @brief System-Module Stop (R_MSTP) */ -typedef struct /*!< (@ 0x40047000) R_MSTP Structure */ +typedef struct /*!< (@ 0x40047000) R_MSTP Structure */ { union { - __IOM uint32_t MSTPCRB; /*!< (@ 0x00000000) Module Stop Control Register B */ + __IOM uint32_t MSTPCRA; /*!< (@ 0x00000000) Module Stop Control Register A */ + + struct + { + __IOM uint32_t MSTPA0 : 1; /*!< [0..0] RAM0 Module Stop */ + uint32_t : 6; + __IOM uint32_t MSTPA7 : 1; /*!< [7..7] Standby RAM Module Stop */ + uint32_t : 14; + __IOM uint32_t MSTPA22 : 1; /*!< [22..22] DMA Controller/Data Transfer Controller Module Stop */ + uint32_t : 9; + } MSTPCRA_b; + }; + + union + { + __IOM uint32_t MSTPCRB; /*!< (@ 0x00000004) Module Stop Control Register B */ struct { @@ -15560,7 +17175,7 @@ typedef struct /*!< (@ 0x40047000) R_MSTP Structure union { - __IOM uint32_t MSTPCRC; /*!< (@ 0x00000004) Module Stop Control Register C */ + __IOM uint32_t MSTPCRC; /*!< (@ 0x00000008) Module Stop Control Register C */ struct { @@ -15579,7 +17194,10 @@ typedef struct /*!< (@ 0x40047000) R_MSTP Structure __IOM uint32_t MSTPC12 : 1; /*!< [12..12] Secure Digital Host IF/ Multi Media Card 0 Module Stop */ __IOM uint32_t MSTPC13 : 1; /*!< [13..13] Data Operation Circuit Module Stop */ __IOM uint32_t MSTPC14 : 1; /*!< [14..14] Event Link Controller Module Stop */ - uint32_t : 12; + uint32_t : 5; + __IOM uint32_t MSTPC20 : 1; /*!< [20..20] Trigonometric Function Unit Module Stop */ + __IOM uint32_t MSTPC21 : 1; /*!< [21..21] IIR Filter Accelerator Module Stop */ + uint32_t : 5; __IOM uint32_t MSTPC27 : 1; /*!< [27..27] CANFD Module Stop */ __IOM uint32_t MSTPC28 : 1; /*!< [28..28] Random Number Generator Module Stop */ uint32_t : 2; @@ -15589,7 +17207,7 @@ typedef struct /*!< (@ 0x40047000) R_MSTP Structure union { - __IOM uint32_t MSTPCRD; /*!< (@ 0x00000008) Module Stop Control Register D */ + __IOM uint32_t MSTPCRD; /*!< (@ 0x0000000C) Module Stop Control Register D */ struct { @@ -15637,11 +17255,13 @@ typedef struct /*!< (@ 0x40047000) R_MSTP Structure union { - __IOM uint32_t MSTPCRE; /*!< (@ 0x0000000C) Module Stop Control Register E */ + __IOM uint32_t MSTPCRE; /*!< (@ 0x00000010) Module Stop Control Register E */ struct { - uint32_t : 14; + uint32_t : 4; + __IOM uint32_t MSTPE4 : 1; /*!< [4..4] KINT Module Stop */ + uint32_t : 9; __IOM uint32_t MSTPE14 : 1; /*!< [14..14] Low Power Asynchronous General Purpose Timer 5 Module * Stop */ __IOM uint32_t MSTPE15 : 1; /*!< [15..15] Low Power Asynchronous General Purpose Timer 4 Module @@ -15659,7 +17279,7 @@ typedef struct /*!< (@ 0x40047000) R_MSTP Structure __IOM uint32_t MSTPE31 : 1; /*!< [31..31] GPT0 Module Stop */ } MSTPCRE_b; }; -} R_MSTP_Type; /*!< Size = 16 (0x10) */ +} R_MSTP_Type; /*!< Size = 20 (0x14) */ /* =========================================================================================================================== */ /* ================ R_OPAMP ================ */ @@ -16186,8 +17806,8 @@ typedef struct /*!< (@ 0x40040000) R_PORT0 Structure typedef struct /*!< (@ 0x40040800) R_PFS Structure */ { - __IOM R_PFS_PORT_Type PORT[12]; /*!< (@ 0x00000000) Port [0..11] */ -} R_PFS_Type; /*!< Size = 768 (0x300) */ + __IOM R_PFS_PORT_Type PORT[15]; /*!< (@ 0x00000000) Port [0..14] */ +} R_PFS_Type; /*!< Size = 960 (0x3c0) */ /* =========================================================================================================================== */ /* ================ R_PMISC ================ */ @@ -16197,6 +17817,8 @@ typedef struct /*!< (@ 0x40040800) R_PFS Structure * @brief I/O Ports-MISC (R_PMISC) */ + #ifndef BSP_OVERRIDE_REG_R_PMISC_TYPE + typedef struct /*!< (@ 0x40040D00) R_PMISC Structure */ { union @@ -16241,6 +17863,8 @@ typedef struct /*!< (@ 0x40040D00) R_PMISC Structure __IOM R_PMISC_PMSAR_Type PMSAR[12]; /*!< (@ 0x00000010) Port Security Attribution Register */ } R_PMISC_Type; /*!< Size = 40 (0x28) */ + #endif + /* =========================================================================================================================== */ /* ================ R_QSPI ================ */ /* =========================================================================================================================== */ @@ -17227,14 +18851,14 @@ typedef struct /*!< (@ 0x40070000) R_SCI0 Structure struct { - __IOM uint8_t SSE : 1; /*!< [0..0] SSn Pin Function Enable */ - __IOM uint8_t CTSE : 1; /*!< [1..1] CTS Enable */ - __IOM uint8_t MSS : 1; /*!< [2..2] Master Slave Select */ - uint8_t : 1; - __IOM uint8_t MFF : 1; /*!< [4..4] Mode Fault Flag */ - uint8_t : 1; - __IOM uint8_t CKPOL : 1; /*!< [6..6] Clock Polarity Select */ - __IOM uint8_t CKPH : 1; /*!< [7..7] Clock Phase Select */ + __IOM uint8_t SSE : 1; /*!< [0..0] SSn Pin Function Enable */ + __IOM uint8_t CTSE : 1; /*!< [1..1] CTS Enable */ + __IOM uint8_t MSS : 1; /*!< [2..2] Master Slave Select */ + __IOM uint8_t CSTPEN : 1; /*!< [3..3] CTS external pin Enable */ + __IOM uint8_t MFF : 1; /*!< [4..4] Mode Fault Flag */ + uint8_t : 1; + __IOM uint8_t CKPOL : 1; /*!< [6..6] Clock Polarity Select */ + __IOM uint8_t CKPH : 1; /*!< [7..7] Clock Phase Select */ } SPMR_b; }; @@ -18814,6 +20438,332 @@ typedef struct /*!< (@ 0x40002000) R_SRAM Structure }; } R_SRAM_Type; /*!< Size = 217 (0xd9) */ +/* =========================================================================================================================== */ +/* ================ R_BUS_B ================ */ +/* =========================================================================================================================== */ + +/** + * @brief Bus Interface (R_BUS_B) + */ + +typedef struct /*!< (@ 0x40003000) R_BUS_B Structure */ +{ + __IOM R_BUS_B_CSa_Type CSa[8]; /*!< (@ 0x00000000) CS Registers */ + __IM uint32_t RESERVED[480]; + __IOM R_BUS_B_CSb_Type CSb[8]; /*!< (@ 0x00000800) CS Registers */ + + union + { + __IOM uint16_t CSRECEN; /*!< (@ 0x00000880) CS Recovery Cycle Insertion Enable Register */ + + struct + { + __IOM uint16_t RCVEN0 : 1; /*!< [0..0] Separate Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVEN1 : 1; /*!< [1..1] Separate Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVEN2 : 1; /*!< [2..2] Separate Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVEN3 : 1; /*!< [3..3] Separate Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVEN4 : 1; /*!< [4..4] Separate Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVEN5 : 1; /*!< [5..5] Separate Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVEN6 : 1; /*!< [6..6] Separate Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVEN7 : 1; /*!< [7..7] Separate Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVENM0 : 1; /*!< [8..8] Multiplexed Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVENM1 : 1; /*!< [9..9] Multiplexed Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVENM2 : 1; /*!< [10..10] Multiplexed Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVENM3 : 1; /*!< [11..11] Multiplexed Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVENM4 : 1; /*!< [12..12] Multiplexed Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVENM5 : 1; /*!< [13..13] Multiplexed Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVENM6 : 1; /*!< [14..14] Multiplexed Bus Recovery Cycle Insertion Enable */ + __IOM uint16_t RCVENM7 : 1; /*!< [15..15] Multiplexed Bus Recovery Cycle Insertion Enable */ + } CSRECEN_b; + }; + __IM uint16_t RESERVED1; + __IM uint32_t RESERVED2[543]; + + union + { + __IOM uint16_t BUSSCNTFHBIU; /*!< (@ 0x00001100) Slave Bus Control Register */ + + struct + { + __IOM uint16_t ARBS : 2; /*!< [1..0] Arbitration Select for three masters */ + uint16_t : 14; + } BUSSCNTFHBIU_b; + }; + __IM uint16_t RESERVED3; + + union + { + __IOM uint16_t BUSSCNTFLBIU; /*!< (@ 0x00001104) Slave Bus Control Register */ + + struct + { + __IOM uint16_t ARBS : 2; /*!< [1..0] Arbitration Select for three masters */ + uint16_t : 14; + } BUSSCNTFLBIU_b; + }; + __IM uint16_t RESERVED4; + __IM uint32_t RESERVED5[2]; + + union + { + __IOM uint16_t BUSSCNTS0BIU; /*!< (@ 0x00001110) Slave Bus Control Register */ + + struct + { + __IOM uint16_t ARBS : 2; /*!< [1..0] Arbitration Select for three masters */ + uint16_t : 14; + } BUSSCNTS0BIU_b; + }; + __IM uint16_t RESERVED6; + __IM uint32_t RESERVED7[3]; + + union + { + __IOM uint16_t BUSSCNTPSBIU; /*!< (@ 0x00001120) Slave Bus Control Register */ + + struct + { + __IOM uint16_t ARBS : 1; /*!< [0..0] Arbitration Select for two masters */ + uint16_t : 15; + } BUSSCNTPSBIU_b; + }; + __IM uint16_t RESERVED8; + __IM uint32_t RESERVED9[3]; + + union + { + __IOM uint16_t BUSSCNTPLBIU; /*!< (@ 0x00001130) Slave Bus Control Register */ + + struct + { + __IOM uint16_t ARBS : 1; /*!< [0..0] Arbitration Select for two masters */ + uint16_t : 15; + } BUSSCNTPLBIU_b; + }; + __IM uint16_t RESERVED10; + + union + { + __IOM uint16_t BUSSCNTPHBIU; /*!< (@ 0x00001134) Slave Bus Control Register */ + + struct + { + __IOM uint16_t ARBS : 1; /*!< [0..0] Arbitration Select for two masters */ + uint16_t : 15; + } BUSSCNTPHBIU_b; + }; + __IM uint16_t RESERVED11; + __IM uint32_t RESERVED12[2]; + + union + { + __IOM uint16_t BUSSCNTEQBIU; /*!< (@ 0x00001140) Slave Bus Control Register */ + + struct + { + __IOM uint16_t ARBS : 2; /*!< [1..0] Arbitration Select for three masters */ + uint16_t : 14; + } BUSSCNTEQBIU_b; + }; + __IM uint16_t RESERVED13; + + union + { + __IOM uint16_t BUSSCNTEOBIU; /*!< (@ 0x00001144) Slave Bus Control Register */ + + struct + { + __IOM uint16_t ARBS : 2; /*!< [1..0] Arbitration Select for three masters */ + uint16_t : 14; + } BUSSCNTEOBIU_b; + }; + __IM uint16_t RESERVED14; + + union + { + __IOM uint16_t BUSSCNTECBIU; /*!< (@ 0x00001148) Slave Bus Control Register */ + + struct + { + __IOM uint16_t ARBS : 2; /*!< [1..0] Arbitration Select for three masters */ + uint16_t : 14; + } BUSSCNTECBIU_b; + }; + __IM uint16_t RESERVED15; + __IM uint32_t RESERVED16[429]; + __IOM R_BUS_B_BUSERR_Type BUSERR[4]; /*!< (@ 0x00001800) Bus Error Registers */ + __IM uint32_t RESERVED17[48]; + __IOM R_BUS_B_BUSTZFERR_Type BUSTZFERR[4]; /*!< (@ 0x00001900) Bus TZF Error Registers */ + __IM uint32_t RESERVED18[48]; + + union + { + __IM uint8_t BUS1ERRSTAT; /*!< (@ 0x00001A00) BUS Error Status Register 1 */ + + struct + { + __IM uint8_t SLERRSTAT : 1; /*!< [0..0] Slave bus Error Status */ + __IM uint8_t STERRSTAT : 1; /*!< [1..1] Slave TrustZone filter Error Status */ + uint8_t : 1; + __IM uint8_t MMERRSTAT : 1; /*!< [3..3] Master MPU Error Status */ + __IM uint8_t ILERRSTAT : 1; /*!< [4..4] Illegal address access Error Status */ + uint8_t : 3; + } BUS1ERRSTAT_b; + }; + __IM uint8_t RESERVED19; + __IM uint16_t RESERVED20; + __IM uint32_t RESERVED21; + + union + { + __IOM uint8_t BUS1ERRCLR; /*!< (@ 0x00001A08) BUS Error Clear Register 1 */ + + struct + { + __IOM uint8_t SLERRCLR : 1; /*!< [0..0] Slave bus Error Clear */ + __IOM uint8_t STERRCLR : 1; /*!< [1..1] Slave TrustZone filter Error Clear */ + uint8_t : 1; + __IOM uint8_t MMERRCLR : 1; /*!< [3..3] Master MPU Error Clear */ + __IOM uint8_t ILERRCLR : 1; /*!< [4..4] Illegal Address Access Error Clear */ + uint8_t : 3; + } BUS1ERRCLR_b; + }; + __IM uint8_t RESERVED22; + __IM uint16_t RESERVED23; + __IM uint32_t RESERVED24; + + union + { + __IM uint8_t BUS2ERRSTAT; /*!< (@ 0x00001A10) BUS Error Status Register 2 */ + + struct + { + __IM uint8_t SLERRSTAT : 1; /*!< [0..0] Slave bus Error Status */ + __IM uint8_t STERRSTAT : 1; /*!< [1..1] Slave TrustZone filter Error Status */ + uint8_t : 1; + __IM uint8_t MMERRSTAT : 1; /*!< [3..3] Master MPU Error Status */ + __IM uint8_t ILERRSTAT : 1; /*!< [4..4] Illegal address access Error Status */ + uint8_t : 3; + } BUS2ERRSTAT_b; + }; + __IM uint8_t RESERVED25; + __IM uint16_t RESERVED26; + __IM uint32_t RESERVED27; + + union + { + __IOM uint8_t BUS2ERRCLR; /*!< (@ 0x00001A18) BUS Error Clear Register 2 */ + + struct + { + __IOM uint8_t SLERRCLR : 1; /*!< [0..0] Slave bus Error Clear */ + __IOM uint8_t STERRCLR : 1; /*!< [1..1] Slave TrustZone filter Error Clear */ + uint8_t : 1; + __IOM uint8_t MMERRCLR : 1; /*!< [3..3] Master MPU Error Clear */ + __IOM uint8_t ILERRCLR : 1; /*!< [4..4] Illegal Address Access Error Clear */ + uint8_t : 3; + } BUS2ERRCLR_b; + }; + __IM uint8_t RESERVED28; + __IM uint16_t RESERVED29; + __IM uint32_t RESERVED30; + + union + { + __IM uint8_t BUS3ERRSTAT; /*!< (@ 0x00001A20) BUS Error Status Register 3 */ + + struct + { + __IM uint8_t SLERRSTAT : 1; /*!< [0..0] Slave bus Error Status */ + __IM uint8_t STERRSTAT : 1; /*!< [1..1] Slave TrustZone filter Error Status */ + uint8_t : 1; + __IM uint8_t MMERRSTAT : 1; /*!< [3..3] Master MPU Error Status */ + __IM uint8_t ILERRSTAT : 1; /*!< [4..4] Illegal address access Error Status */ + uint8_t : 3; + } BUS3ERRSTAT_b; + }; + __IM uint8_t RESERVED31; + __IM uint16_t RESERVED32; + + union + { + __IM uint8_t DMACDTCERRSTAT; /*!< (@ 0x00001A24) DMAC/DTC Error Status Register */ + + struct + { + __IM uint8_t MTERRSTAT : 1; /*!< [0..0] Master TrustZone Filter Error Status */ + uint8_t : 7; + } DMACDTCERRSTAT_b; + }; + __IM uint8_t RESERVED33; + __IM uint16_t RESERVED34; + + union + { + __IOM uint8_t BUS3ERRCLR; /*!< (@ 0x00001A28) BUS Error Clear Register 3 */ + + struct + { + __IOM uint8_t SLERRCLR : 1; /*!< [0..0] Slave bus Error Clear */ + __IOM uint8_t STERRCLR : 1; /*!< [1..1] Slave TrustZone filter Error Clear */ + uint8_t : 1; + __IOM uint8_t MMERRCLR : 1; /*!< [3..3] Master MPU Error Clear */ + __IOM uint8_t ILERRCLR : 1; /*!< [4..4] Illegal Address Access Error Clear */ + uint8_t : 3; + } BUS3ERRCLR_b; + }; + __IM uint8_t RESERVED35; + __IM uint16_t RESERVED36; + + union + { + __IOM uint8_t DMACDTCERRCLR; /*!< (@ 0x00001A2C) DMAC/DTC Error Clear Register */ + + struct + { + __IOM uint8_t MTERRCLR : 1; /*!< [0..0] Master TrustZone filter Error Clear */ + uint8_t : 7; + } DMACDTCERRCLR_b; + }; + __IM uint8_t RESERVED37; + __IM uint16_t RESERVED38; + + union + { + __IM uint8_t BUS4ERRSTAT; /*!< (@ 0x00001A30) BUS Error Status Register 4 */ + + struct + { + __IM uint8_t SLERRSTAT : 1; /*!< [0..0] Slave bus Error Status */ + __IM uint8_t STERRSTAT : 1; /*!< [1..1] Slave TrustZone filter Error Status */ + uint8_t : 1; + __IM uint8_t MMERRSTAT : 1; /*!< [3..3] Master MPU Error Status */ + __IM uint8_t ILERRSTAT : 1; /*!< [4..4] Illegal address access Error Status */ + uint8_t : 3; + } BUS4ERRSTAT_b; + }; + __IM uint8_t RESERVED39; + __IM uint16_t RESERVED40; + __IM uint32_t RESERVED41; + + union + { + __IOM uint8_t BUS4ERRCLR; /*!< (@ 0x00001A38) BUS Error Clear Register 4 */ + + struct + { + __IOM uint8_t SLERRCLR : 1; /*!< [0..0] Slave bus Error Clear */ + __IOM uint8_t STERRCLR : 1; /*!< [1..1] Slave TrustZone filter Error Clear */ + uint8_t : 1; + __IOM uint8_t MMERRCLR : 1; /*!< [3..3] Master MPU Error Clear */ + __IOM uint8_t ILERRCLR : 1; /*!< [4..4] Illegal Address Access Error Clear */ + uint8_t : 3; + } BUS4ERRCLR_b; + }; + __IM uint8_t RESERVED42; + __IM uint16_t RESERVED43; +} R_BUS_B_Type; /*!< Size = 6716 (0x1a3c) */ + /* =========================================================================================================================== */ /* ================ R_SRC ================ */ /* =========================================================================================================================== */ @@ -19448,8 +21398,25 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 7; } PLL2CR_b; }; - __IM uint8_t RESERVED12; - __IM uint32_t RESERVED13; + __IM uint8_t RESERVED12; + + union + { + __IOM uint8_t LPOPT; /*!< (@ 0x0000004C) Lower Power Operation Control Register */ + + struct + { + __IOM uint8_t MPUDIS : 1; /*!< [0..0] MPU Clock Disable Control. Stop the MPU operate clock + * (valid only when LPOPTEN = 1) */ + __IOM uint8_t DCLKDIS : 2; /*!< [2..1] Debug Clock Disable Control */ + __IOM uint8_t BPFCLKDIS : 1; /*!< [3..3] BPF Clock Disable Control. Stop the Flash register R/W + * clock (valid only when LPOPT.LPOPTEN = 1) */ + uint8_t : 3; + __IOM uint8_t LPOPTEN : 1; /*!< [7..7] Lower Power Operation Enable */ + } LPOPT_b; + }; + __IM uint8_t RESERVED13; + __IM uint16_t RESERVED14; union { @@ -19462,7 +21429,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure __IOM uint8_t LCDSCKEN : 1; /*!< [7..7] LCD Source Clock Out Enable */ } SLCDSCKCR_b; }; - __IM uint8_t RESERVED14; + __IM uint8_t RESERVED15; union { @@ -19485,8 +21452,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 7; } SDCKOCR_b; }; - __IM uint32_t RESERVED15[3]; - __IM uint8_t RESERVED16; + __IM uint32_t RESERVED16[3]; + __IM uint8_t RESERVED17; union { @@ -19515,8 +21482,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure * trimming bits */ } HOCOUTCR_b; }; - __IM uint8_t RESERVED17; - __IM uint32_t RESERVED18[2]; + __IM uint8_t RESERVED18; + __IM uint32_t RESERVED19[2]; union { @@ -19531,13 +21498,27 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure union { - __IOM uint8_t OCTACKDIVCR; /*!< (@ 0x0000006D) Octal-SPI Clock Division Control Register */ - - struct + union { - __IOM uint8_t OCTACKDIV : 3; /*!< [2..0] Octal-SPI Clock (OCTACLK) Division Select */ - uint8_t : 5; - } OCTACKDIVCR_b; + __IOM uint8_t OCTACKDIVCR; /*!< (@ 0x0000006D) Octal-SPI Clock Division Control Register */ + + struct + { + __IOM uint8_t OCTACKDIV : 3; /*!< [2..0] Octal-SPI Clock (OCTACLK) Division Select */ + uint8_t : 5; + } OCTACKDIVCR_b; + }; + + union + { + __IOM uint8_t SCISPICKDIVCR; /*!< (@ 0x0000006D) SCI SPI Clock Division Control Register */ + + struct + { + __IOM uint8_t SCISPICKDIV : 3; /*!< [2..0] SCI SPI Clock (SCISPICLK) Division Select */ + uint8_t : 5; + } SCISPICKDIVCR_b; + }; }; union @@ -19550,8 +21531,30 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 5; } CANFDCKDIVCR_b; }; - __IM uint8_t RESERVED19; - __IM uint32_t RESERVED20; + + union + { + __IOM uint8_t GPTCKDIVCR; /*!< (@ 0x0000006F) GPT Clock Division Control Register */ + + struct + { + __IOM uint8_t GPTCKDIV : 3; /*!< [2..0] GPT Clock (GPTCLK) Division Select */ + uint8_t : 5; + } GPTCKDIVCR_b; + }; + + union + { + __IOM uint8_t IICCKDIVCR; /*!< (@ 0x00000070) IIC Clock Division Control Register */ + + struct + { + __IOM uint8_t IICCKDIV : 3; /*!< [2..0] IIC Clock (IICCLK) Division Select */ + uint8_t : 5; + } IICCKDIVCR_b; + }; + __IM uint8_t RESERVED20; + __IM uint16_t RESERVED21; union { @@ -19568,15 +21571,31 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure union { - __IOM uint8_t OCTACKCR; /*!< (@ 0x00000075) Octal-SPI Clock Control Register */ - - struct + union { - __IOM uint8_t OCTACKSEL : 3; /*!< [2..0] Octal-SPI Clock (OCTACLK) Source Select */ - uint8_t : 3; - __IOM uint8_t OCTACKSREQ : 1; /*!< [6..6] Octal-SPI Clock (OCTACLK) Switching Request */ - __IM uint8_t OCTACKSRDY : 1; /*!< [7..7] Octal-SPI Clock (OCTACLK) Switching Ready state flag */ - } OCTACKCR_b; + __IOM uint8_t OCTACKCR; /*!< (@ 0x00000075) Octal-SPI Clock Control Register */ + + struct + { + __IOM uint8_t OCTACKSEL : 3; /*!< [2..0] Octal-SPI Clock (OCTACLK) Source Select */ + uint8_t : 3; + __IOM uint8_t OCTACKSREQ : 1; /*!< [6..6] Octal-SPI Clock (OCTACLK) Switching Request */ + __IM uint8_t OCTACKSRDY : 1; /*!< [7..7] Octal-SPI Clock (OCTACLK) Switching Ready state flag */ + } OCTACKCR_b; + }; + + union + { + __IOM uint8_t SCISPICKCR; /*!< (@ 0x00000075) SCI SPI Clock Control Register */ + + struct + { + __IOM uint8_t SCISPICKSEL : 3; /*!< [2..0] SCI SPI Clock (SCISPICLK) Source Select */ + uint8_t : 3; + __IOM uint8_t SCISPICKSREQ : 1; /*!< [6..6] SCI SPI Clock (SCISPICLK) Switching Request */ + __IM uint8_t SCISPICKSRDY : 1; /*!< [7..7] SCI SPI Clock (SCISPICLK) Switching Ready state flag */ + } SCISPICKCR_b; + }; }; union @@ -19591,8 +21610,35 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure __IM uint8_t CANFDCKSRDY : 1; /*!< [7..7] CANFD Clock (CANFDCLK) Switching Ready state flag */ } CANFDCKCR_b; }; - __IM uint8_t RESERVED21; - __IM uint32_t RESERVED22[4]; + + union + { + __IOM uint8_t GPTCKCR; /*!< (@ 0x00000077) GPT Clock Control Register */ + + struct + { + __IOM uint8_t GPTCKSEL : 3; /*!< [2..0] GPT Clock (GPTCLK) Source Select */ + uint8_t : 3; + __IOM uint8_t GPTCKSREQ : 1; /*!< [6..6] GPT Clock (GPTCLK) Switching Request */ + __IM uint8_t GPTCKSRDY : 1; /*!< [7..7] GPT Clock (GPTCLK) Switching Ready state flag */ + } GPTCKCR_b; + }; + + union + { + __IOM uint8_t IICCKCR; /*!< (@ 0x00000078) IIC Clock Control Register */ + + struct + { + __IOM uint8_t IICCKSEL : 3; /*!< [2..0] IIC Clock (IICCLK) Source Select */ + uint8_t : 3; + __IOM uint8_t IICCKSREQ : 1; /*!< [6..6] IIC Clock (IICCLK) Switching Request */ + __IM uint8_t IICCKSRDY : 1; /*!< [7..7] IIC Clock (IICCLK) Switching Ready state flag */ + } IICCKCR_b; + }; + __IM uint8_t RESERVED22; + __IM uint16_t RESERVED23; + __IM uint32_t RESERVED24[3]; union { @@ -19606,8 +21652,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint32_t : 29; } SNZREQCR1_b; }; - __IM uint32_t RESERVED23; - __IM uint16_t RESERVED24; + __IM uint32_t RESERVED25; + __IM uint16_t RESERVED26; union { @@ -19622,7 +21668,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure __IOM uint8_t SNZE : 1; /*!< [7..7] Snooze Mode Enable */ } SNZCR_b; }; - __IM uint8_t RESERVED25; + __IM uint8_t RESERVED27; union { @@ -19652,7 +21698,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 7; } SNZEDCR1_b; }; - __IM uint16_t RESERVED26; + __IM uint16_t RESERVED28; union { @@ -19695,7 +21741,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint32_t : 1; } SNZREQCR_b; }; - __IM uint16_t RESERVED27; + __IM uint16_t RESERVED29; union { @@ -19733,7 +21779,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 3; } OPCCR_b; }; - __IM uint8_t RESERVED28; + __IM uint8_t RESERVED30; union { @@ -19745,7 +21791,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 4; } MOSCWTCR_b; }; - __IM uint8_t RESERVED29[2]; + __IM uint8_t RESERVED31[2]; union { @@ -19758,7 +21804,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 5; } HOCOWTCR_b; }; - __IM uint16_t RESERVED30[2]; + __IM uint16_t RESERVED32[2]; union { @@ -19772,8 +21818,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 3; } SOPCCR_b; }; - __IM uint8_t RESERVED31; - __IM uint32_t RESERVED32[5]; + __IM uint8_t RESERVED33; + __IM uint32_t RESERVED34[5]; union { @@ -19807,8 +21853,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure __IOM uint16_t CPERF : 1; /*!< [15..15] Cache Parity Error Reset Detect Flag */ } RSTSR1_b; }; - __IM uint16_t RESERVED33; - __IM uint32_t RESERVED34[3]; + __IM uint16_t RESERVED35; + __IM uint32_t RESERVED36[3]; union { @@ -19834,8 +21880,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure __IOM uint8_t SDADCCKEN : 1; /*!< [7..7] 24-bit Sigma-Delta A/D Converter Clock Enable */ } SDADCCKCR_b; }; - __IM uint16_t RESERVED35; - __IM uint32_t RESERVED36[3]; + __IM uint16_t RESERVED37; + __IM uint32_t RESERVED38[3]; union { @@ -19890,7 +21936,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 6; } LVD2SR_b; }; - __IM uint32_t RESERVED37[183]; + __IM uint32_t RESERVED39[183]; union { @@ -19918,7 +21964,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint32_t : 14; } CGFSAR_b; }; - __IM uint32_t RESERVED38; + __IM uint32_t RESERVED40; union { @@ -19987,7 +22033,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint32_t : 8; } BBFSAR_b; }; - __IM uint32_t RESERVED39[3]; + __IM uint32_t RESERVED41[3]; union { @@ -20049,8 +22095,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint32_t : 4; } DPFSAR_b; }; - __IM uint32_t RESERVED40[6]; - __IM uint16_t RESERVED41; + __IM uint32_t RESERVED42[6]; + __IM uint16_t RESERVED43; union { @@ -20268,7 +22314,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 3; } DPSIEGR2_b; }; - __IM uint8_t RESERVED42; + __IM uint8_t RESERVED44; union { @@ -20326,7 +22372,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 7; } RSTSR2_b; }; - __IM uint8_t RESERVED43; + __IM uint8_t RESERVED45; union { @@ -20343,7 +22389,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure * Enable */ } MOMCR_b; }; - __IM uint16_t RESERVED44; + __IM uint16_t RESERVED46; union { @@ -20413,7 +22459,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure } LVD2CMPCR_b; }; }; - __IM uint8_t RESERVED45; + __IM uint8_t RESERVED47; union { @@ -20446,7 +22492,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure __IOM uint8_t RN : 1; /*!< [7..7] Voltage Monitor Reset Negate Select */ } LVD2CR0_b; }; - __IM uint8_t RESERVED46; + __IM uint8_t RESERVED48; union { @@ -20481,7 +22527,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 7; } VBTCR1_b; }; - __IM uint32_t RESERVED47[8]; + __IM uint32_t RESERVED49[8]; union { @@ -20509,8 +22555,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 6; } VCCSEL_b; }; - __IM uint16_t RESERVED48; - __IM uint32_t RESERVED49[15]; + __IM uint16_t RESERVED50; + __IM uint32_t RESERVED51[15]; union { @@ -20533,8 +22579,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 6; } SOMCR_b; }; - __IM uint16_t RESERVED50; - __IM uint32_t RESERVED51[3]; + __IM uint16_t RESERVED52; + __IM uint32_t RESERVED53[3]; union { @@ -20546,7 +22592,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 7; } LOCOCR_b; }; - __IM uint8_t RESERVED52; + __IM uint8_t RESERVED54; union { @@ -20561,8 +22607,8 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure * trimming bits */ } LOCOUTCR_b; }; - __IM uint8_t RESERVED53; - __IM uint32_t RESERVED54[7]; + __IM uint8_t RESERVED55; + __IM uint32_t RESERVED56[7]; union { @@ -20601,7 +22647,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 7; } VBTCMPCR_b; }; - __IM uint8_t RESERVED55; + __IM uint8_t RESERVED57; union { @@ -20615,7 +22661,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 6; } VBTLVDICR_b; }; - __IM uint8_t RESERVED56; + __IM uint8_t RESERVED58; union { @@ -20627,7 +22673,7 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 7; } VBTWCTLR_b; }; - __IM uint8_t RESERVED57; + __IM uint8_t RESERVED59; union { @@ -20762,9 +22808,9 @@ typedef struct /*!< (@ 0x4001E000) R_SYSTEM Structure uint8_t : 4; } VBTBER_b; }; - __IM uint8_t RESERVED58; - __IM uint16_t RESERVED59; - __IM uint32_t RESERVED60[15]; + __IM uint8_t RESERVED60; + __IM uint16_t RESERVED61; + __IM uint32_t RESERVED62[15]; union { @@ -24056,8 +26102,5627 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure }; } R_OSPI_Type; /*!< Size = 132 (0x84) */ +/* =========================================================================================================================== */ +/* ================ R_ADC_B0 ================ */ +/* =========================================================================================================================== */ + +/** + * @brief 12-bit A/D Converter (R_ADC_B0) + */ + +typedef struct /*!< (@ 0x40170000) R_ADC_B0 Structure */ +{ + union + { + __IOM uint32_t ADCLKENR; /*!< (@ 0x00000000) A/D Conversion Clock Enable Register */ + + struct + { + __IOM uint32_t CLKEN : 1; /*!< [0..0] ADCLK Operating Enable bit */ + uint32_t : 31; + } ADCLKENR_b; + }; + + union + { + __IM uint32_t ADCLKSR; /*!< (@ 0x00000004) A/D Conversion Clock Status Register */ + + struct + { + __IM uint32_t CLKSR : 1; /*!< [0..0] ADCLK status bit */ + uint32_t : 31; + } ADCLKSR_b; + }; + + union + { + __IOM uint32_t ADCLKCR; /*!< (@ 0x00000008) A/D Conversion Clock Control Register */ + + struct + { + __IOM uint32_t CLKSEL : 2; /*!< [1..0] ADCLK Clock Source Select */ + uint32_t : 14; + __IOM uint32_t DIVR : 3; /*!< [18..16] Clock Division Ratio Select */ + uint32_t : 13; + } ADCLKCR_b; + }; + + union + { + __IOM uint32_t ADSYCR; /*!< (@ 0x0000000C) A/D Converter Synchronous Operation Control Register */ + + struct + { + __IOM uint32_t ADSYCYC : 11; /*!< [10..0] A/D Converter Synchronous Operation Period Cycle */ + uint32_t : 5; + __IOM uint32_t ADSYDIS0 : 1; /*!< [16..16] ADC0 Synchronous Operation Select */ + __IOM uint32_t ADSYDIS1 : 1; /*!< [17..17] ADC1 Synchronous Operation Select */ + uint32_t : 14; + } ADSYCR_b; + }; + __IM uint32_t RESERVED[4]; + + union + { + __IOM uint32_t ADERINTCR; /*!< (@ 0x00000020) A/D Conversion Error Interrupt Enable Register */ + + struct + { + __IOM uint32_t ADEIE0 : 1; /*!< [0..0] ADC0 A/D Conversion Error Interrupt Enable */ + __IOM uint32_t ADEIE1 : 1; /*!< [1..1] ADC1 A/D Conversion Error Interrupt Enable */ + uint32_t : 30; + } ADERINTCR_b; + }; + + union + { + __IOM uint32_t ADOVFINTCR; /*!< (@ 0x00000024) A/D Conversion Overflow Interrupt Enable Register */ + + struct + { + __IOM uint32_t ADOVFIE0 : 1; /*!< [0..0] ADC0 A/D Conversion Overflow Interrupt Enable */ + __IOM uint32_t ADOVFIE1 : 1; /*!< [1..1] ADC1 A/D Conversion Overflow Interrupt Enable */ + uint32_t : 30; + } ADOVFINTCR_b; + }; + + union + { + __IOM uint32_t ADCALINTCR; /*!< (@ 0x00000028) Calibration interrupt Enable Register */ + + struct + { + uint32_t : 16; + __IOM uint32_t CALENDIE0 : 1; /*!< [16..16] ADC0 Calibration End Interrupt Enable */ + __IOM uint32_t CALENDIE1 : 1; /*!< [17..17] ADC1 Calibration End Interrupt Enable */ + uint32_t : 14; + } ADCALINTCR_b; + }; + __IM uint32_t RESERVED1[5]; + + union + { + __IOM uint32_t ADMDR; /*!< (@ 0x00000040) A/D Converter Mode Selection Register */ + + struct + { + __IOM uint32_t ADMD0 : 4; /*!< [3..0] ADC0 Mode Selection */ + uint32_t : 4; + __IOM uint32_t ADMD1 : 4; /*!< [11..8] ADC1 Mode Selection */ + uint32_t : 20; + } ADMDR_b; + }; + + union + { + __IOM uint32_t ADGSPCR; /*!< (@ 0x00000044) A/D Group scan Priority Control Register */ + + struct + { + __IOM uint32_t PGS0 : 1; /*!< [0..0] ADC0 Group Priority Control Setting */ + __IOM uint32_t RSCN0 : 1; /*!< [1..1] ADC0 Group Priority Control Setting 2 */ + __IOM uint32_t LGRRS0 : 1; /*!< [2..2] ADC0 Group Priority Control Setting 3 */ + __IOM uint32_t GRP0 : 1; /*!< [3..3] ADC0 Group Priority Control Setting 4 */ + uint32_t : 4; + __IOM uint32_t PGS1 : 1; /*!< [8..8] ADC1 Group Priority Control Setting */ + __IOM uint32_t RSCN1 : 1; /*!< [9..9] ADC1 Group Priority Control Setting 2 */ + __IOM uint32_t LGRRS1 : 1; /*!< [10..10] ADC1 Group Priority Control Setting 3 */ + __IOM uint32_t GRP1 : 1; /*!< [11..11] ADC1 Group Priority Control Setting 4 */ + uint32_t : 20; + } ADGSPCR_b; + }; + + union + { + __IOM uint32_t ADSGER; /*!< (@ 0x00000048) Scan Group Enable Register */ + + struct + { + __IOM uint32_t SGREn : 9; /*!< [8..0] Scan Group n Enable */ + uint32_t : 23; + } ADSGER_b; + }; + + union + { + __IOM uint32_t ADSGCR0; /*!< (@ 0x0000004C) Scan Group Control Register 0 */ + + struct + { + __IOM uint32_t SGADS0 : 2; /*!< [1..0] Scan Group 0 A/D Converter Selection */ + uint32_t : 6; + __IOM uint32_t SGADS1 : 2; /*!< [9..8] Scan Group 1 A/D Converter Selection */ + uint32_t : 6; + __IOM uint32_t SGADS2 : 2; /*!< [17..16] Scan Group 2 A/D Converter Selection */ + uint32_t : 6; + __IOM uint32_t SGADS3 : 2; /*!< [25..24] Scan Group 3 A/D Converter Selection */ + uint32_t : 6; + } ADSGCR0_b; + }; + + union + { + __IOM uint32_t ADSGCR1; /*!< (@ 0x00000050) Scan Group Control Register 1 */ + + struct + { + __IOM uint32_t SGADS4 : 2; /*!< [1..0] Scan Group 4 A/D Converter Selection */ + uint32_t : 6; + __IOM uint32_t SGADS5 : 2; /*!< [9..8] Scan Group 5 A/D Converter Selection */ + uint32_t : 6; + __IOM uint32_t SGADS6 : 2; /*!< [17..16] Scan Group 6 A/D Converter Selection */ + uint32_t : 6; + __IOM uint32_t SGADS7 : 2; /*!< [25..24] Scan Group 7 A/D Converter Selection */ + uint32_t : 6; + } ADSGCR1_b; + }; + + union + { + __IOM uint32_t ADSGCR2; /*!< (@ 0x00000054) Scan Group Control Register 2 */ + + struct + { + __IOM uint32_t SGADS8 : 2; /*!< [1..0] Scan Group 8 A/D Converter Selection */ + uint32_t : 30; + } ADSGCR2_b; + }; + __IM uint32_t RESERVED2; + + union + { + __IOM uint32_t ADINTCR; /*!< (@ 0x0000005C) Scan End Interrupt Enable Register */ + + struct + { + __IOM uint32_t ADIEn : 10; /*!< [9..0] Scan Group n Scan End Interrupt Enable */ + uint32_t : 22; + } ADINTCR_b; + }; + __IM uint32_t RESERVED3[24]; + + union + { + __IOM uint32_t ADTRGEXT0; /*!< (@ 0x000000C0) External Trigger Enable Register 0 */ + + struct + { + __IOM uint32_t TRGEXT0 : 1; /*!< [0..0] External Trigger Input 0 (ADTRG0) Enable */ + __IOM uint32_t TRGEXT1 : 1; /*!< [1..1] External Trigger Input 1 (ADTRG1) Enable */ + uint32_t : 30; + } ADTRGEXT0_b; + }; + + union + { + __IOM uint32_t ADTRGELC0; /*!< (@ 0x000000C4) ELC Trigger Enable Register 0 */ + + struct + { + __IOM uint32_t TRGELCm : 6; /*!< [5..0] ELC Trigger m Enable */ + uint32_t : 26; + } ADTRGELC0_b; + }; + + union + { + __IOM uint32_t ADTRGGPT0; /*!< (@ 0x000000C8) GPT Trigger Enable Register 0 */ + + struct + { + __IOM uint32_t TRGGPTAm : 10; /*!< [9..0] GPT channel m A/D Conversion Starting Request A Enable */ + uint32_t : 6; + __IOM uint32_t TRGGPTBm : 10; /*!< [25..16] GPT channel m A/D Conversion Starting Request B Enable */ + uint32_t : 6; + } ADTRGGPT0_b; + }; + __IM uint32_t RESERVED4; + + union + { + __IOM uint32_t ADTRGEXT1; /*!< (@ 0x000000D0) External Trigger Enable Register 1 */ + + struct + { + __IOM uint32_t TRGEXT0 : 1; /*!< [0..0] External Trigger Input 0 (ADTRG0) Enable */ + __IOM uint32_t TRGEXT1 : 1; /*!< [1..1] External Trigger Input 1 (ADTRG1) Enable */ + uint32_t : 30; + } ADTRGEXT1_b; + }; + + union + { + __IOM uint32_t ADTRGELC1; /*!< (@ 0x000000D4) ELC Trigger Enable Register 1 */ + + struct + { + __IOM uint32_t TRGELCm : 6; /*!< [5..0] ELC Trigger m Enable */ + uint32_t : 26; + } ADTRGELC1_b; + }; + + union + { + __IOM uint32_t ADTRGGPT1; /*!< (@ 0x000000D8) GPT Trigger Enable Register 1 */ + + struct + { + __IOM uint32_t TRGGPTAm : 10; /*!< [9..0] GPT channel m A/D Conversion Starting Request A Enable */ + uint32_t : 6; + __IOM uint32_t TRGGPTBm : 10; /*!< [25..16] GPT channel m A/D Conversion Starting Request B Enable */ + uint32_t : 6; + } ADTRGGPT1_b; + }; + __IM uint32_t RESERVED5; + + union + { + __IOM uint32_t ADTRGEXT2; /*!< (@ 0x000000E0) External Trigger Enable Register 2 */ + + struct + { + __IOM uint32_t TRGEXT0 : 1; /*!< [0..0] External Trigger Input 0 (ADTRG0) Enable */ + __IOM uint32_t TRGEXT1 : 1; /*!< [1..1] External Trigger Input 1 (ADTRG1) Enable */ + uint32_t : 30; + } ADTRGEXT2_b; + }; + + union + { + __IOM uint32_t ADTRGELC2; /*!< (@ 0x000000E4) ELC Trigger Enable Register 2 */ + + struct + { + __IOM uint32_t TRGELCm : 6; /*!< [5..0] ELC Trigger m Enable */ + uint32_t : 26; + } ADTRGELC2_b; + }; + + union + { + __IOM uint32_t ADTRGGPT2; /*!< (@ 0x000000E8) GPT Trigger Enable Register 2 */ + + struct + { + __IOM uint32_t TRGGPTAm : 10; /*!< [9..0] GPT channel m A/D Conversion Starting Request A Enable */ + uint32_t : 6; + __IOM uint32_t TRGGPTBm : 10; /*!< [25..16] GPT channel m A/D Conversion Starting Request B Enable */ + uint32_t : 6; + } ADTRGGPT2_b; + }; + __IM uint32_t RESERVED6; + + union + { + __IOM uint32_t ADTRGEXT3; /*!< (@ 0x000000F0) External Trigger Enable Register 3 */ + + struct + { + __IOM uint32_t TRGEXT0 : 1; /*!< [0..0] External Trigger Input 0 (ADTRG0) Enable */ + __IOM uint32_t TRGEXT1 : 1; /*!< [1..1] External Trigger Input 1 (ADTRG1) Enable */ + uint32_t : 30; + } ADTRGEXT3_b; + }; + + union + { + __IOM uint32_t ADTRGELC3; /*!< (@ 0x000000F4) ELC Trigger Enable Register 3 */ + + struct + { + __IOM uint32_t TRGELCm : 6; /*!< [5..0] ELC Trigger m Enable */ + uint32_t : 26; + } ADTRGELC3_b; + }; + + union + { + __IOM uint32_t ADTRGGPT3; /*!< (@ 0x000000F8) GPT Trigger Enable Register 3 */ + + struct + { + __IOM uint32_t TRGGPTAm : 10; /*!< [9..0] GPT channel m A/D Conversion Starting Request A Enable */ + uint32_t : 6; + __IOM uint32_t TRGGPTBm : 10; /*!< [25..16] GPT channel m A/D Conversion Starting Request B Enable */ + uint32_t : 6; + } ADTRGGPT3_b; + }; + __IM uint32_t RESERVED7; + + union + { + __IOM uint32_t ADTRGEXT4; /*!< (@ 0x00000100) External Trigger Enable Register 4 */ + + struct + { + __IOM uint32_t TRGEXT0 : 1; /*!< [0..0] External Trigger Input 0 (ADTRG0) Enable */ + __IOM uint32_t TRGEXT1 : 1; /*!< [1..1] External Trigger Input 1 (ADTRG1) Enable */ + uint32_t : 30; + } ADTRGEXT4_b; + }; + + union + { + __IOM uint32_t ADTRGELC4; /*!< (@ 0x00000104) ELC Trigger Enable Register 4 */ + + struct + { + __IOM uint32_t TRGELCm : 6; /*!< [5..0] ELC Trigger m Enable */ + uint32_t : 26; + } ADTRGELC4_b; + }; + + union + { + __IOM uint32_t ADTRGGPT4; /*!< (@ 0x00000108) GPT Trigger Enable Register 4 */ + + struct + { + __IOM uint32_t TRGGPTAm : 10; /*!< [9..0] GPT channel m A/D Conversion Starting Request A Enable */ + uint32_t : 6; + __IOM uint32_t TRGGPTBm : 10; /*!< [25..16] GPT channel m A/D Conversion Starting Request B Enable */ + uint32_t : 6; + } ADTRGGPT4_b; + }; + __IM uint32_t RESERVED8; + + union + { + __IOM uint32_t ADTRGEXT5; /*!< (@ 0x00000110) External Trigger Enable Register 5 */ + + struct + { + __IOM uint32_t TRGEXT0 : 1; /*!< [0..0] External Trigger Input 0 (ADTRG0) Enable */ + __IOM uint32_t TRGEXT1 : 1; /*!< [1..1] External Trigger Input 1 (ADTRG1) Enable */ + uint32_t : 30; + } ADTRGEXT5_b; + }; + + union + { + __IOM uint32_t ADTRGELC5; /*!< (@ 0x00000114) ELC Trigger Enable Register 5 */ + + struct + { + __IOM uint32_t TRGELCm : 6; /*!< [5..0] ELC Trigger m Enable */ + uint32_t : 26; + } ADTRGELC5_b; + }; + + union + { + __IOM uint32_t ADTRGGPT5; /*!< (@ 0x00000118) GPT Trigger Enable Register 5 */ + + struct + { + __IOM uint32_t TRGGPTAm : 10; /*!< [9..0] GPT channel m A/D Conversion Starting Request A Enable */ + uint32_t : 6; + __IOM uint32_t TRGGPTBm : 10; /*!< [25..16] GPT channel m A/D Conversion Starting Request B Enable */ + uint32_t : 6; + } ADTRGGPT5_b; + }; + __IM uint32_t RESERVED9; + + union + { + __IOM uint32_t ADTRGEXT6; /*!< (@ 0x00000120) External Trigger Enable Register 6 */ + + struct + { + __IOM uint32_t TRGEXT0 : 1; /*!< [0..0] External Trigger Input 0 (ADTRG0) Enable */ + __IOM uint32_t TRGEXT1 : 1; /*!< [1..1] External Trigger Input 1 (ADTRG1) Enable */ + uint32_t : 30; + } ADTRGEXT6_b; + }; + + union + { + __IOM uint32_t ADTRGELC6; /*!< (@ 0x00000124) ELC Trigger Enable Register 6 */ + + struct + { + __IOM uint32_t TRGELCm : 6; /*!< [5..0] ELC Trigger m Enable */ + uint32_t : 26; + } ADTRGELC6_b; + }; + + union + { + __IOM uint32_t ADTRGGPT6; /*!< (@ 0x00000128) GPT Trigger Enable Register 6 */ + + struct + { + __IOM uint32_t TRGGPTAm : 10; /*!< [9..0] GPT channel m A/D Conversion Starting Request A Enable */ + uint32_t : 6; + __IOM uint32_t TRGGPTBm : 10; /*!< [25..16] GPT channel m A/D Conversion Starting Request B Enable */ + uint32_t : 6; + } ADTRGGPT6_b; + }; + __IM uint32_t RESERVED10; + + union + { + __IOM uint32_t ADTRGEXT7; /*!< (@ 0x00000130) External Trigger Enable Register 7 */ + + struct + { + __IOM uint32_t TRGEXT0 : 1; /*!< [0..0] External Trigger Input 0 (ADTRG0) Enable */ + __IOM uint32_t TRGEXT1 : 1; /*!< [1..1] External Trigger Input 1 (ADTRG1) Enable */ + uint32_t : 30; + } ADTRGEXT7_b; + }; + + union + { + __IOM uint32_t ADTRGELC7; /*!< (@ 0x00000134) ELC Trigger Enable Register 7 */ + + struct + { + __IOM uint32_t TRGELCm : 6; /*!< [5..0] ELC Trigger m Enable */ + uint32_t : 26; + } ADTRGELC7_b; + }; + + union + { + __IOM uint32_t ADTRGGPT7; /*!< (@ 0x00000138) GPT Trigger Enable Register 7 */ + + struct + { + __IOM uint32_t TRGGPTAm : 10; /*!< [9..0] GPT channel m A/D Conversion Starting Request A Enable */ + uint32_t : 6; + __IOM uint32_t TRGGPTBm : 10; /*!< [25..16] GPT channel m A/D Conversion Starting Request B Enable */ + uint32_t : 6; + } ADTRGGPT7_b; + }; + __IM uint32_t RESERVED11; + + union + { + __IOM uint32_t ADTRGEXT8; /*!< (@ 0x00000140) External Trigger Enable Register 8 */ + + struct + { + __IOM uint32_t TRGEXT0 : 1; /*!< [0..0] External Trigger Input 0 (ADTRG0) Enable */ + __IOM uint32_t TRGEXT1 : 1; /*!< [1..1] External Trigger Input 1 (ADTRG1) Enable */ + uint32_t : 30; + } ADTRGEXT8_b; + }; + + union + { + __IOM uint32_t ADTRGELC8; /*!< (@ 0x00000144) ELC Trigger Enable Register 8 */ + + struct + { + __IOM uint32_t TRGELCm : 6; /*!< [5..0] ELC Trigger m Enable */ + uint32_t : 26; + } ADTRGELC8_b; + }; + + union + { + __IOM uint32_t ADTRGGPT8; /*!< (@ 0x00000148) GPT Trigger Enable Register 8 */ + + struct + { + __IOM uint32_t TRGGPTAm : 10; /*!< [9..0] GPT channel m A/D Conversion Starting Request A Enable */ + uint32_t : 6; + __IOM uint32_t TRGGPTBm : 10; /*!< [25..16] GPT channel m A/D Conversion Starting Request B Enable */ + uint32_t : 6; + } ADTRGGPT8_b; + }; + __IM uint32_t RESERVED12[29]; + + union + { + __IOM uint32_t ADTRGDLR0; /*!< (@ 0x000001C0) A/D Conversion Start Trigger Delay Register 0 */ + + struct + { + __IOM uint32_t TRGDLY0 : 8; /*!< [7..0] Scan Group 0 Trigger Input Delay Configuration */ + uint32_t : 8; + __IOM uint32_t TRGDLY1 : 8; /*!< [23..16] Scan Group 1 Trigger Input Delay Configuration */ + uint32_t : 8; + } ADTRGDLR0_b; + }; + + union + { + __IOM uint32_t ADTRGDLR1; /*!< (@ 0x000001C4) A/D Conversion Start Trigger Delay Register 1 */ + + struct + { + __IOM uint32_t TRGDLY2 : 8; /*!< [7..0] Scan Group 2 Trigger Input Delay Configuration */ + uint32_t : 8; + __IOM uint32_t TRGDLY3 : 8; /*!< [23..16] Scan Group 3 Trigger Input Delay Configuration */ + uint32_t : 8; + } ADTRGDLR1_b; + }; + + union + { + __IOM uint32_t ADTRGDLR2; /*!< (@ 0x000001C8) A/D Conversion Start Trigger Delay Register 2 */ + + struct + { + __IOM uint32_t TRGDLY4 : 8; /*!< [7..0] Scan Group 4 Trigger Input Delay Configuration */ + uint32_t : 8; + __IOM uint32_t TRGDLY5 : 8; /*!< [23..16] Scan Group 5 Trigger Input Delay Configuration */ + uint32_t : 8; + } ADTRGDLR2_b; + }; + + union + { + __IOM uint32_t ADTRGDLR3; /*!< (@ 0x000001CC) A/D Conversion Start Trigger Delay Register 3 */ + + struct + { + __IOM uint32_t TRGDLY6 : 8; /*!< [7..0] Scan Group 6 Trigger Input Delay Configuration */ + uint32_t : 8; + __IOM uint32_t TRGDLY7 : 8; /*!< [23..16] Scan Group 7 Trigger Input Delay Configuration */ + uint32_t : 8; + } ADTRGDLR3_b; + }; + + union + { + __IOM uint32_t ADTRGDLR4; /*!< (@ 0x000001D0) A/D Conversion Start Trigger Delay Register 4 */ + + struct + { + __IOM uint32_t TRGDLY8 : 8; /*!< [7..0] Scan Group 8 Trigger Input Delay Configuration */ + uint32_t : 24; + } ADTRGDLR4_b; + }; + __IM uint32_t RESERVED13[11]; + + union + { + __IOM uint32_t ADSGDCR0; /*!< (@ 0x00000200) Scan Group Diagnosis Function Control Register + * 0 */ + + struct + { + __IOM uint32_t DIAGVAL : 3; /*!< [2..0] Self-diagnosis Voltage Selection */ + uint32_t : 13; + __IOM uint32_t ADDISEN : 1; /*!< [16..16] Disconnection Detection Assist Enable */ + uint32_t : 3; + __IOM uint32_t ADDISP : 1; /*!< [20..20] Disconnection Detection Assist Mode Selection */ + __IOM uint32_t ADDISN : 1; /*!< [21..21] Disconnection Detection Assist Mode Selection */ + uint32_t : 2; + __IOM uint32_t ADNDIS : 4; /*!< [27..24] Disconnection Detection Assist Period */ + uint32_t : 4; + } ADSGDCR0_b; + }; + + union + { + __IOM uint32_t ADSGDCR1; /*!< (@ 0x00000204) Scan Group Diagnosis Function Control Register + * 1 */ + + struct + { + __IOM uint32_t DIAGVAL : 3; /*!< [2..0] Self-diagnosis Voltage Selection */ + uint32_t : 13; + __IOM uint32_t ADDISEN : 1; /*!< [16..16] Disconnection Detection Assist Enable */ + uint32_t : 3; + __IOM uint32_t ADDISP : 1; /*!< [20..20] Disconnection Detection Assist Mode Selection */ + __IOM uint32_t ADDISN : 1; /*!< [21..21] Disconnection Detection Assist Mode Selection */ + uint32_t : 2; + __IOM uint32_t ADNDIS : 4; /*!< [27..24] Disconnection Detection Assist Period */ + uint32_t : 4; + } ADSGDCR1_b; + }; + + union + { + __IOM uint32_t ADSGDCR2; /*!< (@ 0x00000208) Scan Group Diagnosis Function Control Register + * 2 */ + + struct + { + __IOM uint32_t DIAGVAL : 3; /*!< [2..0] Self-diagnosis Voltage Selection */ + uint32_t : 13; + __IOM uint32_t ADDISEN : 1; /*!< [16..16] Disconnection Detection Assist Enable */ + uint32_t : 3; + __IOM uint32_t ADDISP : 1; /*!< [20..20] Disconnection Detection Assist Mode Selection */ + __IOM uint32_t ADDISN : 1; /*!< [21..21] Disconnection Detection Assist Mode Selection */ + uint32_t : 2; + __IOM uint32_t ADNDIS : 4; /*!< [27..24] Disconnection Detection Assist Period */ + uint32_t : 4; + } ADSGDCR2_b; + }; + + union + { + __IOM uint32_t ADSGDCR3; /*!< (@ 0x0000020C) Scan Group Diagnosis Function Control Register + * 3 */ + + struct + { + __IOM uint32_t DIAGVAL : 3; /*!< [2..0] Self-diagnosis Voltage Selection */ + uint32_t : 13; + __IOM uint32_t ADDISEN : 1; /*!< [16..16] Disconnection Detection Assist Enable */ + uint32_t : 3; + __IOM uint32_t ADDISP : 1; /*!< [20..20] Disconnection Detection Assist Mode Selection */ + __IOM uint32_t ADDISN : 1; /*!< [21..21] Disconnection Detection Assist Mode Selection */ + uint32_t : 2; + __IOM uint32_t ADNDIS : 4; /*!< [27..24] Disconnection Detection Assist Period */ + uint32_t : 4; + } ADSGDCR3_b; + }; + + union + { + __IOM uint32_t ADSGDCR4; /*!< (@ 0x00000210) Scan Group Diagnosis Function Control Register + * 4 */ + + struct + { + __IOM uint32_t DIAGVAL : 3; /*!< [2..0] Self-diagnosis Voltage Selection */ + uint32_t : 13; + __IOM uint32_t ADDISEN : 1; /*!< [16..16] Disconnection Detection Assist Enable */ + uint32_t : 3; + __IOM uint32_t ADDISP : 1; /*!< [20..20] Disconnection Detection Assist Mode Selection */ + __IOM uint32_t ADDISN : 1; /*!< [21..21] Disconnection Detection Assist Mode Selection */ + uint32_t : 2; + __IOM uint32_t ADNDIS : 4; /*!< [27..24] Disconnection Detection Assist Period */ + uint32_t : 4; + } ADSGDCR4_b; + }; + + union + { + __IOM uint32_t ADSGDCR5; /*!< (@ 0x00000214) Scan Group Diagnosis Function Control Register + * 5 */ + + struct + { + __IOM uint32_t DIAGVAL : 3; /*!< [2..0] Self-diagnosis Voltage Selection */ + uint32_t : 13; + __IOM uint32_t ADDISEN : 1; /*!< [16..16] Disconnection Detection Assist Enable */ + uint32_t : 3; + __IOM uint32_t ADDISP : 1; /*!< [20..20] Disconnection Detection Assist Mode Selection */ + __IOM uint32_t ADDISN : 1; /*!< [21..21] Disconnection Detection Assist Mode Selection */ + uint32_t : 2; + __IOM uint32_t ADNDIS : 4; /*!< [27..24] Disconnection Detection Assist Period */ + uint32_t : 4; + } ADSGDCR5_b; + }; + + union + { + __IOM uint32_t ADSGDCR6; /*!< (@ 0x00000218) Scan Group Diagnosis Function Control Register + * 6 */ + + struct + { + __IOM uint32_t DIAGVAL : 3; /*!< [2..0] Self-diagnosis Voltage Selection */ + uint32_t : 13; + __IOM uint32_t ADDISEN : 1; /*!< [16..16] Disconnection Detection Assist Enable */ + uint32_t : 3; + __IOM uint32_t ADDISP : 1; /*!< [20..20] Disconnection Detection Assist Mode Selection */ + __IOM uint32_t ADDISN : 1; /*!< [21..21] Disconnection Detection Assist Mode Selection */ + uint32_t : 2; + __IOM uint32_t ADNDIS : 4; /*!< [27..24] Disconnection Detection Assist Period */ + uint32_t : 4; + } ADSGDCR6_b; + }; + + union + { + __IOM uint32_t ADSGDCR7; /*!< (@ 0x0000021C) Scan Group Diagnosis Function Control Register + * 7 */ + + struct + { + __IOM uint32_t DIAGVAL : 3; /*!< [2..0] Self-diagnosis Voltage Selection */ + uint32_t : 13; + __IOM uint32_t ADDISEN : 1; /*!< [16..16] Disconnection Detection Assist Enable */ + uint32_t : 3; + __IOM uint32_t ADDISP : 1; /*!< [20..20] Disconnection Detection Assist Mode Selection */ + __IOM uint32_t ADDISN : 1; /*!< [21..21] Disconnection Detection Assist Mode Selection */ + uint32_t : 2; + __IOM uint32_t ADNDIS : 4; /*!< [27..24] Disconnection Detection Assist Period */ + uint32_t : 4; + } ADSGDCR7_b; + }; + + union + { + __IOM uint32_t ADSGDCR8; /*!< (@ 0x00000220) Scan Group Diagnosis Function Control Register + * 8 */ + + struct + { + __IOM uint32_t DIAGVAL : 3; /*!< [2..0] Self-diagnosis Voltage Selection */ + uint32_t : 13; + __IOM uint32_t ADDISEN : 1; /*!< [16..16] Disconnection Detection Assist Enable */ + uint32_t : 3; + __IOM uint32_t ADDISP : 1; /*!< [20..20] Disconnection Detection Assist Mode Selection */ + __IOM uint32_t ADDISN : 1; /*!< [21..21] Disconnection Detection Assist Mode Selection */ + uint32_t : 2; + __IOM uint32_t ADNDIS : 4; /*!< [27..24] Disconnection Detection Assist Period */ + uint32_t : 4; + } ADSGDCR8_b; + }; + __IM uint32_t RESERVED14[7]; + + union + { + __IOM uint32_t ADSSTR0; /*!< (@ 0x00000240) Sampling State Table Register 0 */ + + struct + { + __IOM uint32_t SST0 : 10; /*!< [9..0] Sampling State Table 0 */ + uint32_t : 6; + __IOM uint32_t SST1 : 10; /*!< [25..16] Sampling State Table 1 */ + uint32_t : 6; + } ADSSTR0_b; + }; + + union + { + __IOM uint32_t ADSSTR1; /*!< (@ 0x00000244) Sampling State Table Register 1 */ + + struct + { + __IOM uint32_t SST2 : 10; /*!< [9..0] Sampling State Table 2 */ + uint32_t : 6; + __IOM uint32_t SST3 : 10; /*!< [25..16] Sampling State Table 3 */ + uint32_t : 6; + } ADSSTR1_b; + }; + + union + { + __IOM uint32_t ADSSTR2; /*!< (@ 0x00000248) Sampling State Table Register 2 */ + + struct + { + __IOM uint32_t SST4 : 10; /*!< [9..0] Sampling State Table 4 */ + uint32_t : 6; + __IOM uint32_t SST5 : 10; /*!< [25..16] Sampling State Table 5 */ + uint32_t : 6; + } ADSSTR2_b; + }; + + union + { + __IOM uint32_t ADSSTR3; /*!< (@ 0x0000024C) Sampling State Table Register 3 */ + + struct + { + __IOM uint32_t SST6 : 10; /*!< [9..0] Sampling State Table 6 */ + uint32_t : 6; + __IOM uint32_t SST7 : 10; /*!< [25..16] Sampling State Table 7 */ + uint32_t : 6; + } ADSSTR3_b; + }; + + union + { + __IOM uint32_t ADSSTR4; /*!< (@ 0x00000250) Sampling State Table Register 4 */ + + struct + { + __IOM uint32_t SST8 : 10; /*!< [9..0] Sampling State Table 8 */ + uint32_t : 6; + __IOM uint32_t SST9 : 10; /*!< [25..16] Sampling State Table 9 */ + uint32_t : 6; + } ADSSTR4_b; + }; + + union + { + __IOM uint32_t ADSSTR5; /*!< (@ 0x00000254) Sampling State Table Register 5 */ + + struct + { + __IOM uint32_t SST10 : 10; /*!< [9..0] Sampling State Table 10 */ + uint32_t : 6; + __IOM uint32_t SST11 : 10; /*!< [25..16] Sampling State Table 11 */ + uint32_t : 6; + } ADSSTR5_b; + }; + + union + { + __IOM uint32_t ADSSTR6; /*!< (@ 0x00000258) Sampling State Table Register 6 */ + + struct + { + __IOM uint32_t SST12 : 10; /*!< [9..0] Sampling State Table 12 */ + uint32_t : 6; + __IOM uint32_t SST13 : 10; /*!< [25..16] Sampling State Table 13 */ + uint32_t : 6; + } ADSSTR6_b; + }; + + union + { + __IOM uint32_t ADSSTR7; /*!< (@ 0x0000025C) Sampling State Table Register 7 */ + + struct + { + __IOM uint32_t SST14 : 10; /*!< [9..0] Sampling State Table 14 */ + uint32_t : 6; + __IOM uint32_t SST15 : 10; /*!< [25..16] Sampling State Table 15 */ + uint32_t : 6; + } ADSSTR7_b; + }; + + union + { + __IOM uint32_t ADCNVSTR; /*!< (@ 0x00000260) A/D Conversion State Register */ + + struct + { + __IOM uint32_t CST0 : 6; /*!< [5..0] A/D Converter Unit 0 (ADC0) */ + uint32_t : 2; + __IOM uint32_t CST1 : 6; /*!< [13..8] A/D Converter Unit 1 (ADC1) */ + uint32_t : 18; + } ADCNVSTR_b; + }; + + union + { + __IOM uint32_t ADCALSTCR; /*!< (@ 0x00000264) A/D Converter Calibration State Register */ + + struct + { + __IOM uint32_t CALADSST : 10; /*!< [9..0] A/D Converter Calibration Sampling Time Configuration */ + uint32_t : 6; + __IOM uint32_t CALADCST : 6; /*!< [21..16] A/D Converter Calibration Conversion Time Configuration. */ + uint32_t : 10; + } ADCALSTCR_b; + }; + __IM uint32_t RESERVED15[6]; + + union + { + __IOM uint32_t ADSHCR0; /*!< (@ 0x00000280) Channel-Dedicated Sample-and-Hold Circuit Control + * Register 0 */ + + struct + { + __IOM uint32_t SHEN0 : 1; /*!< [0..0] Channel-Dedicated Sample-and-Hold Circuit Unit 0 Select */ + __IOM uint32_t SHEN1 : 1; /*!< [1..1] Channel-Dedicated Sample-and-Hold Circuit Unit 1 Select */ + __IOM uint32_t SHEN2 : 1; /*!< [2..2] Channel-Dedicated Sample-and-Hold Circuit Unit 2 Select */ + uint32_t : 29; + } ADSHCR0_b; + }; + __IM uint32_t RESERVED16; + + union + { + __IOM uint32_t ADSHSTR0; /*!< (@ 0x00000288) Channel-Dedicated Sample & Hold Circuit State + * Register 0 */ + + struct + { + __IOM uint32_t SHSST : 8; /*!< [7..0] Channel-Dedicated Sample-and-Hold Circuit Unit 0 to 2 */ + uint32_t : 8; + __IOM uint32_t SHHST : 3; /*!< [18..16] Channel-Dedicated Sample-and-Hold Circuit Unit 0 to + * 2 */ + uint32_t : 13; + } ADSHSTR0_b; + }; + + union + { + __IOM uint32_t ADSHCR1; /*!< (@ 0x0000028C) Channel-Dedicated Sample-and-Hold Circuit Control + * Register 1 */ + + struct + { + __IOM uint32_t SHEN4 : 1; /*!< [0..0] Channel-Dedicated Sample-and-Hold Circuit Unit 4 Select */ + __IOM uint32_t SHEN5 : 1; /*!< [1..1] Channel-Dedicated Sample-and-Hold Circuit Unit 5 Select */ + __IOM uint32_t SHEN6 : 1; /*!< [2..2] Channel-Dedicated Sample-and-Hold Circuit Unit 6 Select */ + uint32_t : 29; + } ADSHCR1_b; + }; + __IM uint32_t RESERVED17; + + union + { + __IOM uint32_t ADSHSTR1; /*!< (@ 0x00000294) Channel-Dedicated Sample & Hold Circuit State + * Register 1 */ + + struct + { + __IOM uint32_t SHSST : 8; /*!< [7..0] Channel-Dedicated Sample-and-Hold Circuit Unit 4 to 6 */ + uint32_t : 8; + __IOM uint32_t SHHST : 3; /*!< [18..16] Channel-Dedicated Sample-and-Hold Circuit Unit 4 to + * 6 */ + uint32_t : 13; + } ADSHSTR1_b; + }; + __IM uint32_t RESERVED18[6]; + + union + { + __IOM uint32_t ADCALSHCR; /*!< (@ 0x000002B0) Channel-Dedicated Sample & Hold Circuit Calibration + * State Register */ + + struct + { + __IOM uint32_t CALSHSST : 8; /*!< [7..0] Channel-Dedicated Sample & Hold Circuit Calibration Sampling + * Time Configuration */ + uint32_t : 8; + __IOM uint32_t CALSHHST : 3; /*!< [18..16] Channel-Dedicated Sample & Hold Circuit Calibration + * Holding Time Configuration */ + uint32_t : 13; + } ADCALSHCR_b; + }; + __IM uint32_t RESERVED19[3]; + + union + { + __IOM uint32_t ADPGACR[4]; /*!< (@ 0x000002C0) Programmable Gain Amplifier Control Register + * [0..3] */ + + struct + { + uint32_t : 1; + __IOM uint32_t PGADEN : 1; /*!< [1..1] PGA Unit n Input Mode Select */ + __IOM uint32_t PGASEL1 : 1; /*!< [2..2] PGA Unit n Transit Enable */ + __IOM uint32_t PGAENAMP : 1; /*!< [3..3] PGA Unit n Enable */ + uint32_t : 12; + __IOM uint32_t PGAGEN : 1; /*!< [16..16] PGA Unit n Gain Setting Enable */ + uint32_t : 3; + __IOM uint32_t PGADG : 2; /*!< [21..20] PGA Unit n Differential Input Gain Setting */ + uint32_t : 2; + __IOM uint32_t PGAGAIN : 4; /*!< [27..24] PGA Unit n Gain Setting */ + uint32_t : 4; + } ADPGACR_b[4]; + }; + __IM uint32_t RESERVED20[12]; + + union + { + __IOM uint32_t ADPGAMONCR; /*!< (@ 0x00000300) Programable Gain Amp Monitor Output Control Register */ + + struct + { + __IOM uint32_t PGAMON : 3; /*!< [2..0] PGA Monitor Signal Selection */ + uint32_t : 13; + __IOM uint32_t MONSEL0 : 1; /*!< [16..16] PGA Unit 0 Monitor Output Enable */ + __IOM uint32_t MONSEL1 : 1; /*!< [17..17] PGA Unit 1 Monitor Output Enable */ + __IOM uint32_t MONSEL2 : 1; /*!< [18..18] PGA Unit 2 Monitor Output Enable */ + __IOM uint32_t MONSEL3 : 1; /*!< [19..19] PGA Unit 3 Monitor Output Enable */ + uint32_t : 12; + } ADPGAMONCR_b; + }; + __IM uint32_t RESERVED21[7]; + + union + { + __IOM uint32_t ADREFCR; /*!< (@ 0x00000320) Internal Reference Voltage Monitor Enable Register */ + + struct + { + __IOM uint32_t VDE : 1; /*!< [0..0] Internal Reference Voltage A/D Conversion Select */ + uint32_t : 31; + } ADREFCR_b; + }; + __IM uint32_t RESERVED22[15]; + + union + { + __IOM uint32_t ADUOFTR0; /*!< (@ 0x00000360) User Offset Table Register 0 */ + + struct + { + __IOM uint32_t UOFSET : 16; /*!< [15..0] User Offset Table n */ + uint32_t : 16; + } ADUOFTR0_b; + }; + + union + { + __IOM uint32_t ADUOFTR1; /*!< (@ 0x00000364) User Offset Table Register 1 */ + + struct + { + __IOM uint32_t UOFSET : 16; /*!< [15..0] User Offset Table n */ + uint32_t : 16; + } ADUOFTR1_b; + }; + + union + { + __IOM uint32_t ADUOFTR2; /*!< (@ 0x00000368) User Offset Table Register 2 */ + + struct + { + __IOM uint32_t UOFSET : 16; /*!< [15..0] User Offset Table n */ + uint32_t : 16; + } ADUOFTR2_b; + }; + + union + { + __IOM uint32_t ADUOFTR3; /*!< (@ 0x0000036C) User Offset Table Register 3 */ + + struct + { + __IOM uint32_t UOFSET : 16; /*!< [15..0] User Offset Table n */ + uint32_t : 16; + } ADUOFTR3_b; + }; + + union + { + __IOM uint32_t ADUOFTR4; /*!< (@ 0x00000370) User Offset Table Register 4 */ + + struct + { + __IOM uint32_t UOFSET : 16; /*!< [15..0] User Offset Table n */ + uint32_t : 16; + } ADUOFTR4_b; + }; + + union + { + __IOM uint32_t ADUOFTR5; /*!< (@ 0x00000374) User Offset Table Register 5 */ + + struct + { + __IOM uint32_t UOFSET : 16; /*!< [15..0] User Offset Table n */ + uint32_t : 16; + } ADUOFTR5_b; + }; + + union + { + __IOM uint32_t ADUOFTR6; /*!< (@ 0x00000378) User Offset Table Register 6 */ + + struct + { + __IOM uint32_t UOFSET : 16; /*!< [15..0] User Offset Table n */ + uint32_t : 16; + } ADUOFTR6_b; + }; + + union + { + __IOM uint32_t ADUOFTR7; /*!< (@ 0x0000037C) User Offset Table Register 7 */ + + struct + { + __IOM uint32_t UOFSET : 16; /*!< [15..0] User Offset Table n */ + uint32_t : 16; + } ADUOFTR7_b; + }; + + union + { + __IOM uint32_t ADUGTR0; /*!< (@ 0x00000380) User Gain Table Register 0 */ + + struct + { + __IOM uint32_t UGAIN : 24; /*!< [23..0] User Gain Table n */ + uint32_t : 8; + } ADUGTR0_b; + }; + + union + { + __IOM uint32_t ADUGTR1; /*!< (@ 0x00000384) User Gain Table Register 1 */ + + struct + { + __IOM uint32_t UGAIN : 24; /*!< [23..0] User Gain Table n */ + uint32_t : 8; + } ADUGTR1_b; + }; + + union + { + __IOM uint32_t ADUGTR2; /*!< (@ 0x00000388) User Gain Table Register 2 */ + + struct + { + __IOM uint32_t UGAIN : 24; /*!< [23..0] User Gain Table n */ + uint32_t : 8; + } ADUGTR2_b; + }; + + union + { + __IOM uint32_t ADUGTR3; /*!< (@ 0x0000038C) User Gain Table Register 3 */ + + struct + { + __IOM uint32_t UGAIN : 24; /*!< [23..0] User Gain Table n */ + uint32_t : 8; + } ADUGTR3_b; + }; + + union + { + __IOM uint32_t ADUGTR4; /*!< (@ 0x00000390) User Gain Table Register 4 */ + + struct + { + __IOM uint32_t UGAIN : 24; /*!< [23..0] User Gain Table n */ + uint32_t : 8; + } ADUGTR4_b; + }; + + union + { + __IOM uint32_t ADUGTR5; /*!< (@ 0x00000394) User Gain Table Register 5 */ + + struct + { + __IOM uint32_t UGAIN : 24; /*!< [23..0] User Gain Table n */ + uint32_t : 8; + } ADUGTR5_b; + }; + + union + { + __IOM uint32_t ADUGTR6; /*!< (@ 0x00000398) User Gain Table Register 6 */ + + struct + { + __IOM uint32_t UGAIN : 24; /*!< [23..0] User Gain Table n */ + uint32_t : 8; + } ADUGTR6_b; + }; + + union + { + __IOM uint32_t ADUGTR7; /*!< (@ 0x0000039C) User Gain Table Register 7 */ + + struct + { + __IOM uint32_t UGAIN : 24; /*!< [23..0] User Gain Table n */ + uint32_t : 8; + } ADUGTR7_b; + }; + + union + { + __IOM uint32_t ADLIMINTCR; /*!< (@ 0x000003A0) Limiter Clip Interrupt Enable Register */ + + struct + { + __IOM uint32_t LIMIEn : 9; /*!< [8..0] Limiter Clip Interrupt n Enable bit */ + uint32_t : 23; + } ADLIMINTCR_b; + }; + + union + { + __IOM uint32_t ADLIMTR0; /*!< (@ 0x000003A4) Limiter Clip Table Register 0 */ + + struct + { + __IOM uint32_t LIML : 16; /*!< [15..0] Limiter clip table n : Lower-side limit value */ + __IOM uint32_t LIMU : 16; /*!< [31..16] Limiter clip table n : Upper-side limit value */ + } ADLIMTR0_b; + }; + + union + { + __IOM uint32_t ADLIMTR1; /*!< (@ 0x000003A8) Limiter Clip Table Register 1 */ + + struct + { + __IOM uint32_t LIML : 16; /*!< [15..0] Limiter clip table n : Lower-side limit value */ + __IOM uint32_t LIMU : 16; /*!< [31..16] Limiter clip table n : Upper-side limit value */ + } ADLIMTR1_b; + }; + + union + { + __IOM uint32_t ADLIMTR2; /*!< (@ 0x000003AC) Limiter Clip Table Register 2 */ + + struct + { + __IOM uint32_t LIML : 16; /*!< [15..0] Limiter clip table n : Lower-side limit value */ + __IOM uint32_t LIMU : 16; /*!< [31..16] Limiter clip table n : Upper-side limit value */ + } ADLIMTR2_b; + }; + + union + { + __IOM uint32_t ADLIMTR3; /*!< (@ 0x000003B0) Limiter Clip Table Register 3 */ + + struct + { + __IOM uint32_t LIML : 16; /*!< [15..0] Limiter clip table n : Lower-side limit value */ + __IOM uint32_t LIMU : 16; /*!< [31..16] Limiter clip table n : Upper-side limit value */ + } ADLIMTR3_b; + }; + + union + { + __IOM uint32_t ADLIMTR4; /*!< (@ 0x000003B4) Limiter Clip Table Register 4 */ + + struct + { + __IOM uint32_t LIML : 16; /*!< [15..0] Limiter clip table n : Lower-side limit value */ + __IOM uint32_t LIMU : 16; /*!< [31..16] Limiter clip table n : Upper-side limit value */ + } ADLIMTR4_b; + }; + + union + { + __IOM uint32_t ADLIMTR5; /*!< (@ 0x000003B8) Limiter Clip Table Register 5 */ + + struct + { + __IOM uint32_t LIML : 16; /*!< [15..0] Limiter clip table n : Lower-side limit value */ + __IOM uint32_t LIMU : 16; /*!< [31..16] Limiter clip table n : Upper-side limit value */ + } ADLIMTR5_b; + }; + + union + { + __IOM uint32_t ADLIMTR6; /*!< (@ 0x000003BC) Limiter Clip Table Register 6 */ + + struct + { + __IOM uint32_t LIML : 16; /*!< [15..0] Limiter clip table n : Lower-side limit value */ + __IOM uint32_t LIMU : 16; /*!< [31..16] Limiter clip table n : Upper-side limit value */ + } ADLIMTR6_b; + }; + + union + { + __IOM uint32_t ADLIMTR7; /*!< (@ 0x000003C0) Limiter Clip Table Register 7 */ + + struct + { + __IOM uint32_t LIML : 16; /*!< [15..0] Limiter clip table n : Lower-side limit value */ + __IOM uint32_t LIMU : 16; /*!< [31..16] Limiter clip table n : Upper-side limit value */ + } ADLIMTR7_b; + }; + __IM uint32_t RESERVED23[15]; + + union + { + __IOM uint32_t ADCMPENR; /*!< (@ 0x00000400) Compare Match Enable Register */ + + struct + { + __IOM uint32_t CMPENn : 8; /*!< [7..0] Compare Match n Enable */ + uint32_t : 24; + } ADCMPENR_b; + }; + + union + { + __IOM uint32_t ADCMPINTCR; /*!< (@ 0x00000404) Compare Match Interrupt Enable Register */ + + struct + { + __IOM uint32_t CMPIEn : 4; /*!< [3..0] Compare Match Interrupt n Enable */ + uint32_t : 28; + } ADCMPINTCR_b; + }; + + union + { + __IOM uint32_t ADCCMPCR0; /*!< (@ 0x00000408) Composite Compare Match Configuration Register + * 0 */ + + struct + { + __IOM uint32_t CCMPCND : 2; /*!< [1..0] Composite Compare Match Condition Selection */ + uint32_t : 14; + __IOM uint32_t CCMPTBLm : 8; /*!< [23..16] Composite Compare Match Condition Table Selection */ + uint32_t : 8; + } ADCCMPCR0_b; + }; + + union + { + __IOM uint32_t ADCCMPCR1; /*!< (@ 0x0000040C) Composite Compare Match Configuration Register + * 1 */ + + struct + { + __IOM uint32_t CCMPCND : 2; /*!< [1..0] Composite Compare Match Condition Selection */ + uint32_t : 14; + __IOM uint32_t CCMPTBLm : 8; /*!< [23..16] Composite Compare Match Condition Table Selection */ + uint32_t : 8; + } ADCCMPCR1_b; + }; + __IM uint32_t RESERVED24[14]; + + union + { + __IOM uint32_t ADCMPMDR0; /*!< (@ 0x00000448) Compare Match Mode Selection Register 0 */ + + struct + { + __IOM uint32_t CMPMD0 : 2; /*!< [1..0] Compare Match 0 : Match Mode Selection */ + uint32_t : 6; + __IOM uint32_t CMPMD1 : 2; /*!< [9..8] Compare Match 1 : Match Mode Selection */ + uint32_t : 6; + __IOM uint32_t CMPMD2 : 2; /*!< [17..16] Compare Match 2 : Match Mode Selection */ + uint32_t : 6; + __IOM uint32_t CMPMD3 : 2; /*!< [25..24] Compare Match 3 : Match Mode Selection */ + uint32_t : 6; + } ADCMPMDR0_b; + }; + + union + { + __IOM uint32_t ADCMPMDR1; /*!< (@ 0x0000044C) Compare Match Mode Selection Register 1 */ + + struct + { + __IOM uint32_t CMPMD4 : 2; /*!< [1..0] Compare Match 4 : Match Mode Selection */ + uint32_t : 6; + __IOM uint32_t CMPMD5 : 2; /*!< [9..8] Compare Match 5 : Match Mode Selection */ + uint32_t : 6; + __IOM uint32_t CMPMD6 : 2; /*!< [17..16] Compare Match 6 : Match Mode Selection */ + uint32_t : 6; + __IOM uint32_t CMPMD7 : 2; /*!< [25..24] Compare Match 7 : Match Mode Selection */ + uint32_t : 6; + } ADCMPMDR1_b; + }; + __IM uint32_t RESERVED25[2]; + + union + { + __IOM uint32_t ADCMPTBR0; /*!< (@ 0x00000458) Compare Match Table Register 0 */ + + struct + { + __IOM uint32_t CMPTBL : 16; /*!< [15..0] Compare Match Table n : Low-side level */ + __IOM uint32_t CMPTBH : 16; /*!< [31..16] Compare Match Table n : High-side level */ + } ADCMPTBR0_b; + }; + + union + { + __IOM uint32_t ADCMPTBR1; /*!< (@ 0x0000045C) Compare Match Table Register 1 */ + + struct + { + __IOM uint32_t CMPTBL : 16; /*!< [15..0] Compare Match Table n : Low-side level */ + __IOM uint32_t CMPTBH : 16; /*!< [31..16] Compare Match Table n : High-side level */ + } ADCMPTBR1_b; + }; + + union + { + __IOM uint32_t ADCMPTBR2; /*!< (@ 0x00000460) Compare Match Table Register 2 */ + + struct + { + __IOM uint32_t CMPTBL : 16; /*!< [15..0] Compare Match Table n : Low-side level */ + __IOM uint32_t CMPTBH : 16; /*!< [31..16] Compare Match Table n : High-side level */ + } ADCMPTBR2_b; + }; + + union + { + __IOM uint32_t ADCMPTBR3; /*!< (@ 0x00000464) Compare Match Table Register 3 */ + + struct + { + __IOM uint32_t CMPTBL : 16; /*!< [15..0] Compare Match Table n : Low-side level */ + __IOM uint32_t CMPTBH : 16; /*!< [31..16] Compare Match Table n : High-side level */ + } ADCMPTBR3_b; + }; + + union + { + __IOM uint32_t ADCMPTBR4; /*!< (@ 0x00000468) Compare Match Table Register 4 */ + + struct + { + __IOM uint32_t CMPTBL : 16; /*!< [15..0] Compare Match Table n : Low-side level */ + __IOM uint32_t CMPTBH : 16; /*!< [31..16] Compare Match Table n : High-side level */ + } ADCMPTBR4_b; + }; + + union + { + __IOM uint32_t ADCMPTBR5; /*!< (@ 0x0000046C) Compare Match Table Register 5 */ + + struct + { + __IOM uint32_t CMPTBL : 16; /*!< [15..0] Compare Match Table n : Low-side level */ + __IOM uint32_t CMPTBH : 16; /*!< [31..16] Compare Match Table n : High-side level */ + } ADCMPTBR5_b; + }; + + union + { + __IOM uint32_t ADCMPTBR6; /*!< (@ 0x00000470) Compare Match Table Register 6 */ + + struct + { + __IOM uint32_t CMPTBL : 16; /*!< [15..0] Compare Match Table n : Low-side level */ + __IOM uint32_t CMPTBH : 16; /*!< [31..16] Compare Match Table n : High-side level */ + } ADCMPTBR6_b; + }; + + union + { + __IOM uint32_t ADCMPTBR7; /*!< (@ 0x00000474) Compare Match Table Register 7 */ + + struct + { + __IOM uint32_t CMPTBL : 16; /*!< [15..0] Compare Match Table n : Low-side level */ + __IOM uint32_t CMPTBH : 16; /*!< [31..16] Compare Match Table n : High-side level */ + } ADCMPTBR7_b; + }; + __IM uint32_t RESERVED26[18]; + + union + { + __IOM uint32_t ADFIFOCR; /*!< (@ 0x000004C0) FIFO Control Register */ + + struct + { + __IOM uint32_t FIFOEN0 : 1; /*!< [0..0] Scan Group 0 FIFO Enable */ + __IOM uint32_t FIFOEN1 : 1; /*!< [1..1] Scan Group 1 FIFO Enable */ + __IOM uint32_t FIFOEN2 : 1; /*!< [2..2] Scan Group 2 FIFO Enable */ + __IOM uint32_t FIFOEN3 : 1; /*!< [3..3] Scan Group 3 FIFO Enable */ + __IOM uint32_t FIFOEN4 : 1; /*!< [4..4] Scan Group 4 FIFO Enable */ + __IOM uint32_t FIFOEN5 : 1; /*!< [5..5] Scan Group 5 FIFO Enable */ + __IOM uint32_t FIFOEN6 : 1; /*!< [6..6] Scan Group 6 FIFO Enable */ + __IOM uint32_t FIFOEN7 : 1; /*!< [7..7] Scan Group 7 FIFO Enable */ + __IOM uint32_t FIFOEN8 : 1; /*!< [8..8] Scan Group 8 FIFO Enable */ + uint32_t : 23; + } ADFIFOCR_b; + }; + + union + { + __IOM uint32_t ADFIFOINTCR; /*!< (@ 0x000004C4) FIFO Interrupt Control Register */ + + struct + { + __IOM uint32_t FIFOIE0 : 1; /*!< [0..0] Scan Group 0 FIFO Interrupt Enable */ + __IOM uint32_t FIFOIE1 : 1; /*!< [1..1] Scan Group 1 FIFO Interrupt Enable */ + __IOM uint32_t FIFOIE2 : 1; /*!< [2..2] Scan Group 2 FIFO Interrupt Enable */ + __IOM uint32_t FIFOIE3 : 1; /*!< [3..3] Scan Group 3 FIFO Interrupt Enable */ + __IOM uint32_t FIFOIE4 : 1; /*!< [4..4] Scan Group 4 FIFO Interrupt Enable */ + __IOM uint32_t FIFOIE5 : 1; /*!< [5..5] Scan Group 5 FIFO Interrupt Enable */ + __IOM uint32_t FIFOIE6 : 1; /*!< [6..6] Scan Group 6 FIFO Interrupt Enable */ + __IOM uint32_t FIFOIE7 : 1; /*!< [7..7] Scan Group 7 FIFO Interrupt Enable */ + __IOM uint32_t FIFOIE8 : 1; /*!< [8..8] Scan Group 8 FIFO Interrupt Enable */ + uint32_t : 23; + } ADFIFOINTCR_b; + }; + + union + { + __IOM uint32_t ADFIFOINTLR0; /*!< (@ 0x000004C8) FIFO Interrupt Generation Level Register 0 */ + + struct + { + __IOM uint32_t FIFOILV0 : 4; /*!< [3..0] Scan Group 0 FIFO Interrupt Output Timing Setting */ + uint32_t : 12; + __IOM uint32_t FIFOILV1 : 4; /*!< [19..16] Scan Group 1 FIFO Interrupt Output Timing Setting */ + uint32_t : 12; + } ADFIFOINTLR0_b; + }; + + union + { + __IOM uint32_t ADFIFOINTLR1; /*!< (@ 0x000004CC) FIFO Interrupt Generation Level Register 1 */ + + struct + { + __IOM uint32_t FIFOILV2 : 4; /*!< [3..0] Scan Group 2 FIFO Interrupt Output Timing Setting */ + uint32_t : 12; + __IOM uint32_t FIFOILV3 : 4; /*!< [19..16] Scan Group 3 FIFO Interrupt Output Timing Setting */ + uint32_t : 12; + } ADFIFOINTLR1_b; + }; + + union + { + __IOM uint32_t ADFIFOINTLR2; /*!< (@ 0x000004D0) FIFO Interrupt Generation Level Register 2 */ + + struct + { + __IOM uint32_t FIFOILV4 : 4; /*!< [3..0] Scan Group 4 FIFO Interrupt Output Timing Setting */ + uint32_t : 12; + __IOM uint32_t FIFOILV5 : 4; /*!< [19..16] Scan Group 5 FIFO Interrupt Output Timing Setting */ + uint32_t : 12; + } ADFIFOINTLR2_b; + }; + + union + { + __IOM uint32_t ADFIFOINTLR3; /*!< (@ 0x000004D4) FIFO Interrupt Generation Level Register 3 */ + + struct + { + __IOM uint32_t FIFOILV6 : 4; /*!< [3..0] Scan Group 6 FIFO Interrupt Output Timing Setting */ + uint32_t : 12; + __IOM uint32_t FIFOILV7 : 4; /*!< [19..16] Scan Group 7 FIFO Interrupt Output Timing Setting */ + uint32_t : 12; + } ADFIFOINTLR3_b; + }; + + union + { + __IOM uint32_t ADFIFOINTLR4; /*!< (@ 0x000004D8) FIFO Interrupt Generation Level Register 4 */ + + struct + { + __IOM uint32_t FIFOILV8 : 4; /*!< [3..0] Scan Group 8 FIFO Interrupt Output Timing Setting */ + uint32_t : 28; + } ADFIFOINTLR4_b; + }; + __IM uint32_t RESERVED27[73]; + + union + { + __IOM uint32_t ADCHCR0; /*!< (@ 0x00000600) A/D Conversion Channel Configuration Register + * 0 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR0_b; + }; + + union + { + __IOM uint32_t ADDOPCRA0; /*!< (@ 0x00000604) A/D Conversion Data Operation Control A Register + * 0 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA0_b; + }; + + union + { + __IOM uint32_t ADDOPCRB0; /*!< (@ 0x00000608) A/D Conversion Data Operation Control B Register + * 0 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB0_b; + }; + + union + { + __IOM uint32_t ADDOPCRC0; /*!< (@ 0x0000060C) A/D Conversion Data Operation Control C Register + * 0 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC0_b; + }; + + union + { + __IOM uint32_t ADCHCR1; /*!< (@ 0x00000610) A/D Conversion Channel Configuration Register + * 1 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR1_b; + }; + + union + { + __IOM uint32_t ADDOPCRA1; /*!< (@ 0x00000614) A/D Conversion Data Operation Control A Register + * 1 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA1_b; + }; + + union + { + __IOM uint32_t ADDOPCRB1; /*!< (@ 0x00000618) A/D Conversion Data Operation Control B Register + * 1 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB1_b; + }; + + union + { + __IOM uint32_t ADDOPCRC1; /*!< (@ 0x0000061C) A/D Conversion Data Operation Control C Register + * 1 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC1_b; + }; + + union + { + __IOM uint32_t ADCHCR2; /*!< (@ 0x00000620) A/D Conversion Channel Configuration Register + * 2 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR2_b; + }; + + union + { + __IOM uint32_t ADDOPCRA2; /*!< (@ 0x00000624) A/D Conversion Data Operation Control A Register + * 2 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA2_b; + }; + + union + { + __IOM uint32_t ADDOPCRB2; /*!< (@ 0x00000628) A/D Conversion Data Operation Control B Register + * 2 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB2_b; + }; + + union + { + __IOM uint32_t ADDOPCRC2; /*!< (@ 0x0000062C) A/D Conversion Data Operation Control C Register + * 2 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC2_b; + }; + + union + { + __IOM uint32_t ADCHCR3; /*!< (@ 0x00000630) A/D Conversion Channel Configuration Register + * 3 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR3_b; + }; + + union + { + __IOM uint32_t ADDOPCRA3; /*!< (@ 0x00000634) A/D Conversion Data Operation Control A Register + * 3 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA3_b; + }; + + union + { + __IOM uint32_t ADDOPCRB3; /*!< (@ 0x00000638) A/D Conversion Data Operation Control B Register + * 3 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB3_b; + }; + + union + { + __IOM uint32_t ADDOPCRC3; /*!< (@ 0x0000063C) A/D Conversion Data Operation Control C Register + * 3 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC3_b; + }; + + union + { + __IOM uint32_t ADCHCR4; /*!< (@ 0x00000640) A/D Conversion Channel Configuration Register + * 4 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR4_b; + }; + + union + { + __IOM uint32_t ADDOPCRA4; /*!< (@ 0x00000644) A/D Conversion Data Operation Control A Register + * 4 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA4_b; + }; + + union + { + __IOM uint32_t ADDOPCRB4; /*!< (@ 0x00000648) A/D Conversion Data Operation Control B Register + * 4 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB4_b; + }; + + union + { + __IOM uint32_t ADDOPCRC4; /*!< (@ 0x0000064C) A/D Conversion Data Operation Control C Register + * 4 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC4_b; + }; + + union + { + __IOM uint32_t ADCHCR5; /*!< (@ 0x00000650) A/D Conversion Channel Configuration Register + * 5 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR5_b; + }; + + union + { + __IOM uint32_t ADDOPCRA5; /*!< (@ 0x00000654) A/D Conversion Data Operation Control A Register + * 5 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA5_b; + }; + + union + { + __IOM uint32_t ADDOPCRB5; /*!< (@ 0x00000658) A/D Conversion Data Operation Control B Register + * 5 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB5_b; + }; + + union + { + __IOM uint32_t ADDOPCRC5; /*!< (@ 0x0000065C) A/D Conversion Data Operation Control C Register + * 5 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC5_b; + }; + + union + { + __IOM uint32_t ADCHCR6; /*!< (@ 0x00000660) A/D Conversion Channel Configuration Register + * 6 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR6_b; + }; + + union + { + __IOM uint32_t ADDOPCRA6; /*!< (@ 0x00000664) A/D Conversion Data Operation Control A Register + * 6 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA6_b; + }; + + union + { + __IOM uint32_t ADDOPCRB6; /*!< (@ 0x00000668) A/D Conversion Data Operation Control B Register + * 6 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB6_b; + }; + + union + { + __IOM uint32_t ADDOPCRC6; /*!< (@ 0x0000066C) A/D Conversion Data Operation Control C Register + * 6 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC6_b; + }; + + union + { + __IOM uint32_t ADCHCR7; /*!< (@ 0x00000670) A/D Conversion Channel Configuration Register + * 7 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR7_b; + }; + + union + { + __IOM uint32_t ADDOPCRA7; /*!< (@ 0x00000674) A/D Conversion Data Operation Control A Register + * 7 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA7_b; + }; + + union + { + __IOM uint32_t ADDOPCRB7; /*!< (@ 0x00000678) A/D Conversion Data Operation Control B Register + * 7 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB7_b; + }; + + union + { + __IOM uint32_t ADDOPCRC7; /*!< (@ 0x0000067C) A/D Conversion Data Operation Control C Register + * 7 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC7_b; + }; + + union + { + __IOM uint32_t ADCHCR8; /*!< (@ 0x00000680) A/D Conversion Channel Configuration Register + * 8 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR8_b; + }; + + union + { + __IOM uint32_t ADDOPCRA8; /*!< (@ 0x00000684) A/D Conversion Data Operation Control A Register + * 8 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA8_b; + }; + + union + { + __IOM uint32_t ADDOPCRB8; /*!< (@ 0x00000688) A/D Conversion Data Operation Control B Register + * 8 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB8_b; + }; + + union + { + __IOM uint32_t ADDOPCRC8; /*!< (@ 0x0000068C) A/D Conversion Data Operation Control C Register + * 8 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC8_b; + }; + + union + { + __IOM uint32_t ADCHCR9; /*!< (@ 0x00000690) A/D Conversion Channel Configuration Register + * 9 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR9_b; + }; + + union + { + __IOM uint32_t ADDOPCRA9; /*!< (@ 0x00000694) A/D Conversion Data Operation Control A Register + * 9 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA9_b; + }; + + union + { + __IOM uint32_t ADDOPCRB9; /*!< (@ 0x00000698) A/D Conversion Data Operation Control B Register + * 9 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB9_b; + }; + + union + { + __IOM uint32_t ADDOPCRC9; /*!< (@ 0x0000069C) A/D Conversion Data Operation Control C Register + * 9 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC9_b; + }; + + union + { + __IOM uint32_t ADCHCR10; /*!< (@ 0x000006A0) A/D Conversion Channel Configuration Register + * 10 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR10_b; + }; + + union + { + __IOM uint32_t ADDOPCRA10; /*!< (@ 0x000006A4) A/D Conversion Data Operation Control A Register + * 10 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA10_b; + }; + + union + { + __IOM uint32_t ADDOPCRB10; /*!< (@ 0x000006A8) A/D Conversion Data Operation Control B Register + * 10 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB10_b; + }; + + union + { + __IOM uint32_t ADDOPCRC10; /*!< (@ 0x000006AC) A/D Conversion Data Operation Control C Register + * 10 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC10_b; + }; + + union + { + __IOM uint32_t ADCHCR11; /*!< (@ 0x000006B0) A/D Conversion Channel Configuration Register + * 11 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR11_b; + }; + + union + { + __IOM uint32_t ADDOPCRA11; /*!< (@ 0x000006B4) A/D Conversion Data Operation Control A Register + * 11 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA11_b; + }; + + union + { + __IOM uint32_t ADDOPCRB11; /*!< (@ 0x000006B8) A/D Conversion Data Operation Control B Register + * 11 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB11_b; + }; + + union + { + __IOM uint32_t ADDOPCRC11; /*!< (@ 0x000006BC) A/D Conversion Data Operation Control C Register + * 11 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC11_b; + }; + + union + { + __IOM uint32_t ADCHCR12; /*!< (@ 0x000006C0) A/D Conversion Channel Configuration Register + * 12 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR12_b; + }; + + union + { + __IOM uint32_t ADDOPCRA12; /*!< (@ 0x000006C4) A/D Conversion Data Operation Control A Register + * 12 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA12_b; + }; + + union + { + __IOM uint32_t ADDOPCRB12; /*!< (@ 0x000006C8) A/D Conversion Data Operation Control B Register + * 12 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB12_b; + }; + + union + { + __IOM uint32_t ADDOPCRC12; /*!< (@ 0x000006CC) A/D Conversion Data Operation Control C Register + * 12 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC12_b; + }; + + union + { + __IOM uint32_t ADCHCR13; /*!< (@ 0x000006D0) A/D Conversion Channel Configuration Register + * 13 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR13_b; + }; + + union + { + __IOM uint32_t ADDOPCRA13; /*!< (@ 0x000006D4) A/D Conversion Data Operation Control A Register + * 13 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA13_b; + }; + + union + { + __IOM uint32_t ADDOPCRB13; /*!< (@ 0x000006D8) A/D Conversion Data Operation Control B Register + * 13 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB13_b; + }; + + union + { + __IOM uint32_t ADDOPCRC13; /*!< (@ 0x000006DC) A/D Conversion Data Operation Control C Register + * 13 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC13_b; + }; + + union + { + __IOM uint32_t ADCHCR14; /*!< (@ 0x000006E0) A/D Conversion Channel Configuration Register + * 14 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR14_b; + }; + + union + { + __IOM uint32_t ADDOPCRA14; /*!< (@ 0x000006E4) A/D Conversion Data Operation Control A Register + * 14 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA14_b; + }; + + union + { + __IOM uint32_t ADDOPCRB14; /*!< (@ 0x000006E8) A/D Conversion Data Operation Control B Register + * 14 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB14_b; + }; + + union + { + __IOM uint32_t ADDOPCRC14; /*!< (@ 0x000006EC) A/D Conversion Data Operation Control C Register + * 14 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC14_b; + }; + + union + { + __IOM uint32_t ADCHCR15; /*!< (@ 0x000006F0) A/D Conversion Channel Configuration Register + * 15 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR15_b; + }; + + union + { + __IOM uint32_t ADDOPCRA15; /*!< (@ 0x000006F4) A/D Conversion Data Operation Control A Register + * 15 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA15_b; + }; + + union + { + __IOM uint32_t ADDOPCRB15; /*!< (@ 0x000006F8) A/D Conversion Data Operation Control B Register + * 15 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB15_b; + }; + + union + { + __IOM uint32_t ADDOPCRC15; /*!< (@ 0x000006FC) A/D Conversion Data Operation Control C Register + * 15 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC15_b; + }; + + union + { + __IOM uint32_t ADCHCR16; /*!< (@ 0x00000700) A/D Conversion Channel Configuration Register + * 16 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR16_b; + }; + + union + { + __IOM uint32_t ADDOPCRA16; /*!< (@ 0x00000704) A/D Conversion Data Operation Control A Register + * 16 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA16_b; + }; + + union + { + __IOM uint32_t ADDOPCRB16; /*!< (@ 0x00000708) A/D Conversion Data Operation Control B Register + * 16 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB16_b; + }; + + union + { + __IOM uint32_t ADDOPCRC16; /*!< (@ 0x0000070C) A/D Conversion Data Operation Control C Register + * 16 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC16_b; + }; + + union + { + __IOM uint32_t ADCHCR17; /*!< (@ 0x00000710) A/D Conversion Channel Configuration Register + * 17 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR17_b; + }; + + union + { + __IOM uint32_t ADDOPCRA17; /*!< (@ 0x00000714) A/D Conversion Data Operation Control A Register + * 17 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA17_b; + }; + + union + { + __IOM uint32_t ADDOPCRB17; /*!< (@ 0x00000718) A/D Conversion Data Operation Control B Register + * 17 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB17_b; + }; + + union + { + __IOM uint32_t ADDOPCRC17; /*!< (@ 0x0000071C) A/D Conversion Data Operation Control C Register + * 17 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC17_b; + }; + + union + { + __IOM uint32_t ADCHCR18; /*!< (@ 0x00000720) A/D Conversion Channel Configuration Register + * 18 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR18_b; + }; + + union + { + __IOM uint32_t ADDOPCRA18; /*!< (@ 0x00000724) A/D Conversion Data Operation Control A Register + * 18 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA18_b; + }; + + union + { + __IOM uint32_t ADDOPCRB18; /*!< (@ 0x00000728) A/D Conversion Data Operation Control B Register + * 18 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB18_b; + }; + + union + { + __IOM uint32_t ADDOPCRC18; /*!< (@ 0x0000072C) A/D Conversion Data Operation Control C Register + * 18 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC18_b; + }; + + union + { + __IOM uint32_t ADCHCR19; /*!< (@ 0x00000730) A/D Conversion Channel Configuration Register + * 19 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR19_b; + }; + + union + { + __IOM uint32_t ADDOPCRA19; /*!< (@ 0x00000734) A/D Conversion Data Operation Control A Register + * 19 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA19_b; + }; + + union + { + __IOM uint32_t ADDOPCRB19; /*!< (@ 0x00000738) A/D Conversion Data Operation Control B Register + * 19 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB19_b; + }; + + union + { + __IOM uint32_t ADDOPCRC19; /*!< (@ 0x0000073C) A/D Conversion Data Operation Control C Register + * 19 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC19_b; + }; + + union + { + __IOM uint32_t ADCHCR20; /*!< (@ 0x00000740) A/D Conversion Channel Configuration Register + * 20 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR20_b; + }; + + union + { + __IOM uint32_t ADDOPCRA20; /*!< (@ 0x00000744) A/D Conversion Data Operation Control A Register + * 20 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA20_b; + }; + + union + { + __IOM uint32_t ADDOPCRB20; /*!< (@ 0x00000748) A/D Conversion Data Operation Control B Register + * 20 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB20_b; + }; + + union + { + __IOM uint32_t ADDOPCRC20; /*!< (@ 0x0000074C) A/D Conversion Data Operation Control C Register + * 20 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC20_b; + }; + + union + { + __IOM uint32_t ADCHCR21; /*!< (@ 0x00000750) A/D Conversion Channel Configuration Register + * 21 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR21_b; + }; + + union + { + __IOM uint32_t ADDOPCRA21; /*!< (@ 0x00000754) A/D Conversion Data Operation Control A Register + * 21 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA21_b; + }; + + union + { + __IOM uint32_t ADDOPCRB21; /*!< (@ 0x00000758) A/D Conversion Data Operation Control B Register + * 21 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB21_b; + }; + + union + { + __IOM uint32_t ADDOPCRC21; /*!< (@ 0x0000075C) A/D Conversion Data Operation Control C Register + * 21 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC21_b; + }; + + union + { + __IOM uint32_t ADCHCR22; /*!< (@ 0x00000760) A/D Conversion Channel Configuration Register + * 22 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR22_b; + }; + + union + { + __IOM uint32_t ADDOPCRA22; /*!< (@ 0x00000764) A/D Conversion Data Operation Control A Register + * 22 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA22_b; + }; + + union + { + __IOM uint32_t ADDOPCRB22; /*!< (@ 0x00000768) A/D Conversion Data Operation Control B Register + * 22 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB22_b; + }; + + union + { + __IOM uint32_t ADDOPCRC22; /*!< (@ 0x0000076C) A/D Conversion Data Operation Control C Register + * 22 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC22_b; + }; + + union + { + __IOM uint32_t ADCHCR23; /*!< (@ 0x00000770) A/D Conversion Channel Configuration Register + * 23 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR23_b; + }; + + union + { + __IOM uint32_t ADDOPCRA23; /*!< (@ 0x00000774) A/D Conversion Data Operation Control A Register + * 23 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA23_b; + }; + + union + { + __IOM uint32_t ADDOPCRB23; /*!< (@ 0x00000778) A/D Conversion Data Operation Control B Register + * 23 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB23_b; + }; + + union + { + __IOM uint32_t ADDOPCRC23; /*!< (@ 0x0000077C) A/D Conversion Data Operation Control C Register + * 23 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC23_b; + }; + + union + { + __IOM uint32_t ADCHCR24; /*!< (@ 0x00000780) A/D Conversion Channel Configuration Register + * 24 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR24_b; + }; + + union + { + __IOM uint32_t ADDOPCRA24; /*!< (@ 0x00000784) A/D Conversion Data Operation Control A Register + * 24 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA24_b; + }; + + union + { + __IOM uint32_t ADDOPCRB24; /*!< (@ 0x00000788) A/D Conversion Data Operation Control B Register + * 24 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB24_b; + }; + + union + { + __IOM uint32_t ADDOPCRC24; /*!< (@ 0x0000078C) A/D Conversion Data Operation Control C Register + * 24 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC24_b; + }; + + union + { + __IOM uint32_t ADCHCR25; /*!< (@ 0x00000790) A/D Conversion Channel Configuration Register + * 25 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR25_b; + }; + + union + { + __IOM uint32_t ADDOPCRA25; /*!< (@ 0x00000794) A/D Conversion Data Operation Control A Register + * 25 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA25_b; + }; + + union + { + __IOM uint32_t ADDOPCRB25; /*!< (@ 0x00000798) A/D Conversion Data Operation Control B Register + * 25 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB25_b; + }; + + union + { + __IOM uint32_t ADDOPCRC25; /*!< (@ 0x0000079C) A/D Conversion Data Operation Control C Register + * 25 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC25_b; + }; + + union + { + __IOM uint32_t ADCHCR26; /*!< (@ 0x000007A0) A/D Conversion Channel Configuration Register + * 26 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR26_b; + }; + + union + { + __IOM uint32_t ADDOPCRA26; /*!< (@ 0x000007A4) A/D Conversion Data Operation Control A Register + * 26 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA26_b; + }; + + union + { + __IOM uint32_t ADDOPCRB26; /*!< (@ 0x000007A8) A/D Conversion Data Operation Control B Register + * 26 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB26_b; + }; + + union + { + __IOM uint32_t ADDOPCRC26; /*!< (@ 0x000007AC) A/D Conversion Data Operation Control C Register + * 26 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC26_b; + }; + + union + { + __IOM uint32_t ADCHCR27; /*!< (@ 0x000007B0) A/D Conversion Channel Configuration Register + * 27 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR27_b; + }; + + union + { + __IOM uint32_t ADDOPCRA27; /*!< (@ 0x000007B4) A/D Conversion Data Operation Control A Register + * 27 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA27_b; + }; + + union + { + __IOM uint32_t ADDOPCRB27; /*!< (@ 0x000007B8) A/D Conversion Data Operation Control B Register + * 27 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB27_b; + }; + + union + { + __IOM uint32_t ADDOPCRC27; /*!< (@ 0x000007BC) A/D Conversion Data Operation Control C Register + * 27 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC27_b; + }; + + union + { + __IOM uint32_t ADCHCR28; /*!< (@ 0x000007C0) A/D Conversion Channel Configuration Register + * 28 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR28_b; + }; + + union + { + __IOM uint32_t ADDOPCRA28; /*!< (@ 0x000007C4) A/D Conversion Data Operation Control A Register + * 28 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA28_b; + }; + + union + { + __IOM uint32_t ADDOPCRB28; /*!< (@ 0x000007C8) A/D Conversion Data Operation Control B Register + * 28 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB28_b; + }; + + union + { + __IOM uint32_t ADDOPCRC28; /*!< (@ 0x000007CC) A/D Conversion Data Operation Control C Register + * 28 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC28_b; + }; + + union + { + __IOM uint32_t ADCHCR29; /*!< (@ 0x000007D0) A/D Conversion Channel Configuration Register + * 29 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR29_b; + }; + + union + { + __IOM uint32_t ADDOPCRA29; /*!< (@ 0x000007D4) A/D Conversion Data Operation Control A Register + * 29 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA29_b; + }; + + union + { + __IOM uint32_t ADDOPCRB29; /*!< (@ 0x000007D8) A/D Conversion Data Operation Control B Register + * 29 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB29_b; + }; + + union + { + __IOM uint32_t ADDOPCRC29; /*!< (@ 0x000007DC) A/D Conversion Data Operation Control C Register + * 29 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC29_b; + }; + + union + { + __IOM uint32_t ADCHCR30; /*!< (@ 0x000007E0) A/D Conversion Channel Configuration Register + * 30 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR30_b; + }; + + union + { + __IOM uint32_t ADDOPCRA30; /*!< (@ 0x000007E4) A/D Conversion Data Operation Control A Register + * 30 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA30_b; + }; + + union + { + __IOM uint32_t ADDOPCRB30; /*!< (@ 0x000007E8) A/D Conversion Data Operation Control B Register + * 30 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB30_b; + }; + + union + { + __IOM uint32_t ADDOPCRC30; /*!< (@ 0x000007EC) A/D Conversion Data Operation Control C Register + * 30 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC30_b; + }; + + union + { + __IOM uint32_t ADCHCR31; /*!< (@ 0x000007F0) A/D Conversion Channel Configuration Register + * 31 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR31_b; + }; + + union + { + __IOM uint32_t ADDOPCRA31; /*!< (@ 0x000007F4) A/D Conversion Data Operation Control A Register + * 31 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA31_b; + }; + + union + { + __IOM uint32_t ADDOPCRB31; /*!< (@ 0x000007F8) A/D Conversion Data Operation Control B Register + * 31 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB31_b; + }; + + union + { + __IOM uint32_t ADDOPCRC31; /*!< (@ 0x000007FC) A/D Conversion Data Operation Control C Register + * 31 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC31_b; + }; + + union + { + __IOM uint32_t ADCHCR32; /*!< (@ 0x00000800) A/D Conversion Channel Configuration Register + * 32 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR32_b; + }; + + union + { + __IOM uint32_t ADDOPCRA32; /*!< (@ 0x00000804) A/D Conversion Data Operation Control A Register + * 32 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA32_b; + }; + + union + { + __IOM uint32_t ADDOPCRB32; /*!< (@ 0x00000808) A/D Conversion Data Operation Control B Register + * 32 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB32_b; + }; + + union + { + __IOM uint32_t ADDOPCRC32; /*!< (@ 0x0000080C) A/D Conversion Data Operation Control C Register + * 32 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC32_b; + }; + + union + { + __IOM uint32_t ADCHCR33; /*!< (@ 0x00000810) A/D Conversion Channel Configuration Register + * 33 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR33_b; + }; + + union + { + __IOM uint32_t ADDOPCRA33; /*!< (@ 0x00000814) A/D Conversion Data Operation Control A Register + * 33 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA33_b; + }; + + union + { + __IOM uint32_t ADDOPCRB33; /*!< (@ 0x00000818) A/D Conversion Data Operation Control B Register + * 33 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB33_b; + }; + + union + { + __IOM uint32_t ADDOPCRC33; /*!< (@ 0x0000081C) A/D Conversion Data Operation Control C Register + * 33 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC33_b; + }; + + union + { + __IOM uint32_t ADCHCR34; /*!< (@ 0x00000820) A/D Conversion Channel Configuration Register + * 34 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR34_b; + }; + + union + { + __IOM uint32_t ADDOPCRA34; /*!< (@ 0x00000824) A/D Conversion Data Operation Control A Register + * 34 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA34_b; + }; + + union + { + __IOM uint32_t ADDOPCRB34; /*!< (@ 0x00000828) A/D Conversion Data Operation Control B Register + * 34 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB34_b; + }; + + union + { + __IOM uint32_t ADDOPCRC34; /*!< (@ 0x0000082C) A/D Conversion Data Operation Control C Register + * 34 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC34_b; + }; + + union + { + __IOM uint32_t ADCHCR35; /*!< (@ 0x00000830) A/D Conversion Channel Configuration Register + * 35 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR35_b; + }; + + union + { + __IOM uint32_t ADDOPCRA35; /*!< (@ 0x00000834) A/D Conversion Data Operation Control A Register + * 35 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA35_b; + }; + + union + { + __IOM uint32_t ADDOPCRB35; /*!< (@ 0x00000838) A/D Conversion Data Operation Control B Register + * 35 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB35_b; + }; + + union + { + __IOM uint32_t ADDOPCRC35; /*!< (@ 0x0000083C) A/D Conversion Data Operation Control C Register + * 35 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC35_b; + }; + + union + { + __IOM uint32_t ADCHCR36; /*!< (@ 0x00000840) A/D Conversion Channel Configuration Register + * 36 */ + + struct + { + __IOM uint32_t SGSEL : 5; /*!< [4..0] Scan Group Selection */ + uint32_t : 3; + __IOM uint32_t CNVCS : 7; /*!< [14..8] A/D Conversion Channel Selection */ + __IOM uint32_t AINMD : 1; /*!< [15..15] Analog Input mode selection */ + __IOM uint32_t SSTSEL : 4; /*!< [19..16] Sampling State Table Selection */ + uint32_t : 12; + } ADCHCR36_b; + }; + + union + { + __IOM uint32_t ADDOPCRA36; /*!< (@ 0x00000844) A/D Conversion Data Operation Control A Register + * 36 */ + + struct + { + uint32_t : 16; + __IOM uint32_t GAINSEL : 4; /*!< [19..16] User Gain Table Selection */ + uint32_t : 4; + __IOM uint32_t OFSETSEL : 4; /*!< [27..24] User Offset Table Selection */ + uint32_t : 4; + } ADDOPCRA36_b; + }; + + union + { + __IOM uint32_t ADDOPCRB36; /*!< (@ 0x00000848) A/D Conversion Data Operation Control B Register + * 36 */ + + struct + { + __IOM uint32_t AVEMD : 2; /*!< [1..0] Addition/Averaging Mode Selection */ + uint32_t : 6; + __IOM uint32_t ADC : 4; /*!< [11..8] Addition/Averaging Times Selection */ + uint32_t : 4; + __IOM uint32_t CMPTBLEm : 8; /*!< [23..16] Compare Match Enable */ + uint32_t : 8; + } ADDOPCRB36_b; + }; + + union + { + __IOM uint32_t ADDOPCRC36; /*!< (@ 0x0000084C) A/D Conversion Data Operation Control C Register + * 36 */ + + struct + { + __IOM uint32_t LIMTBLS : 4; /*!< [3..0] Limiter Clip Table Selection */ + uint32_t : 12; + __IOM uint32_t ADPRC : 2; /*!< [17..16] A/D Conversion Data Format Selection */ + uint32_t : 2; + __IOM uint32_t SIGNSEL : 1; /*!< [20..20] TBD */ + uint32_t : 11; + } ADDOPCRC36_b; + }; + __IM uint32_t RESERVED28[236]; + + union + { + __OM uint32_t ADCALSTR; /*!< (@ 0x00000C00) A/D Converter Calibration Start Register */ + + struct + { + __OM uint32_t ADCALST0 : 3; /*!< [2..0] A/D Converter Unit 0 (ADC0) Calibration Start Control + * bits */ + uint32_t : 5; + __OM uint32_t ADCALST1 : 3; /*!< [10..8] A/D Converter Unit 1 (ADC1) Calibration Start Control + * bits */ + uint32_t : 21; + } ADCALSTR_b; + }; + __IM uint32_t RESERVED29; + + union + { + __IOM uint32_t ADTRGENR; /*!< (@ 0x00000C08) A/D Conversion Start Trigger Enable Register */ + + struct + { + __IOM uint32_t STTRGENn : 9; /*!< [8..0] Scan Group n A/D Conversion Start Trigger Enable */ + uint32_t : 23; + } ADTRGENR_b; + }; + __IM uint32_t RESERVED30; + + union + { + __OM uint32_t ADSYSTR; /*!< (@ 0x00000C10) A/D Conversion Synchronous Software Start Register */ + + struct + { + __OM uint32_t ADSYSTn : 9; /*!< [8..0] Scan Group n : A/D Conversion start */ + uint32_t : 23; + } ADSYSTR_b; + }; + __IM uint32_t RESERVED31[3]; + + union + { + __OM uint32_t ADSTR[9]; /*!< (@ 0x00000C20) A/D Conversion Software Start Register [0..8] */ + + struct + { + __OM uint32_t ADST : 1; /*!< [0..0] Scan Group n A/D Conversion Start */ + uint32_t : 31; + } ADSTR_b[9]; + }; + __IM uint32_t RESERVED32[7]; + + union + { + __OM uint32_t ADSTOPR; /*!< (@ 0x00000C60) A/D Conversion Stop Register */ + + struct + { + __OM uint32_t ADSTOP0 : 1; /*!< [0..0] A/D Converter Unit 0 Force Stop bit */ + uint32_t : 7; + __OM uint32_t ADSTOP1 : 1; /*!< [8..8] A/D Converter Unit 1 Force Stop bit */ + uint32_t : 23; + } ADSTOPR_b; + }; + __IM uint32_t RESERVED33[7]; + + union + { + __IM uint32_t ADSR; /*!< (@ 0x00000C80) A/D Conversion Status Register */ + + struct + { + __IM uint32_t ADACT0 : 1; /*!< [0..0] A/D Converter Unit 0 (ADC0) A/D Conversion Status */ + __IM uint32_t ADACT1 : 1; /*!< [1..1] A/D Converter Unit 1 (ADC1) A/D Conversion Status */ + uint32_t : 14; + __IM uint32_t CALACT0 : 1; /*!< [16..16] A/D Converter Unit 0 (ADC0) : Calibration Status */ + __IM uint32_t CALACT1 : 1; /*!< [17..17] A/D Converter Unit 1 (ADC1) : Calibration Status */ + uint32_t : 14; + } ADSR_b; + }; + + union + { + __IM uint32_t ADGRSR; /*!< (@ 0x00000C84) Scan Group Status Register */ + + struct + { + __IM uint32_t ACTGRn : 9; /*!< [8..0] Scan Group n Status */ + uint32_t : 23; + } ADGRSR_b; + }; + + union + { + __IM uint32_t ADERSR; /*!< (@ 0x00000C88) A/D Conversion Error Status Register */ + + struct + { + __IM uint32_t ADERF0 : 1; /*!< [0..0] A/D Converter Unit 0 (ADC0) Error Flag */ + __IM uint32_t ADERF1 : 1; /*!< [1..1] A/D Converter Unit 1 (ADC1) Error Flag */ + uint32_t : 30; + } ADERSR_b; + }; + + union + { + __OM uint32_t ADERSCR; /*!< (@ 0x00000C8C) A/D Conversion Error Status Clear Register */ + + struct + { + __OM uint32_t ADERCLR0 : 1; /*!< [0..0] A/D Converter Unit 0 Error Flag Clear */ + __OM uint32_t ADERCLR1 : 1; /*!< [1..1] A/D Converter Unit 1 Error Flag Clear */ + uint32_t : 30; + } ADERSCR_b; + }; + __IM uint32_t RESERVED34[2]; + + union + { + __IM uint32_t ADCALENDSR; /*!< (@ 0x00000C98) A/D Converter Calibration End Status Register */ + + struct + { + __IM uint32_t CALENDF0 : 1; /*!< [0..0] A/D Converter Unit 0 Calibration End flag */ + __IM uint32_t CALENDF1 : 1; /*!< [1..1] A/D Converter Unit 1 Calibration End flag */ + uint32_t : 30; + } ADCALENDSR_b; + }; + + union + { + __OM uint32_t ADCALENDSCR; /*!< (@ 0x00000C9C) A/D Converter Calibration End Status Clear Register */ + + struct + { + __OM uint32_t CALENDC0 : 1; /*!< [0..0] A/D Converter Unit 0 Calibration End Flag Clear */ + __OM uint32_t CALENDC1 : 1; /*!< [1..1] A/D Converter Unit 1 Calibration End Flag Clear */ + uint32_t : 30; + } ADCALENDSCR_b; + }; + + union + { + __IM uint32_t ADOVFERSR; /*!< (@ 0x00000CA0) A/D Conversion Overflow Error Status Register */ + + struct + { + __IM uint32_t ADOVFEF0 : 1; /*!< [0..0] A/D Converter Unit 0 (ADC0) Overflow Error Flag */ + __IM uint32_t ADOVFEF1 : 1; /*!< [1..1] A/D Converter Unit 1 (ADC1) Overflow Error Flag */ + uint32_t : 30; + } ADOVFERSR_b; + }; + + union + { + __IM uint32_t ADOVFCHSR0; /*!< (@ 0x00000CA4) A/D Conversion Overflow Channel Status Register + * 0 */ + + struct + { + __IM uint32_t OFVCHFn : 29; /*!< [28..0] Analog Input Channel No. n : Overflow Flag */ + uint32_t : 3; + } ADOVFCHSR0_b; + }; + __IM uint32_t RESERVED35[2]; + + union + { + __IM uint32_t ADOVFEXSR; /*!< (@ 0x00000CB0) Extended Analog A/D Conversion Overflow Status + * Register */ + + struct + { + __IM uint32_t OVFEXF0 : 1; /*!< [0..0] Self-Diagnosis Channel : Overflow Flag bit */ + __IM uint32_t OVFEXF1 : 1; /*!< [1..1] Temperature Sensor Channel : Overflow Flag bit */ + __IM uint32_t OVFEXF2 : 1; /*!< [2..2] Internal Reference Voltage Channel : Overflow Flag bit */ + uint32_t : 2; + __IM uint32_t OVFEXF5 : 1; /*!< [5..5] D/A Converter 0 Channel : Overflow Flag bit */ + __IM uint32_t OVFEXF6 : 1; /*!< [6..6] D/A Converter 1 Channel : Overflow Flag bit */ + __IM uint32_t OVFEXF7 : 1; /*!< [7..7] D/A Converter 2 Channel : Overflow Flag bit */ + __IM uint32_t OVFEXF8 : 1; /*!< [8..8] D/A Converter 3 Channel : Overflow Flag bit */ + uint32_t : 23; + } ADOVFEXSR_b; + }; + + union + { + __OM uint32_t ADOVFERSCR; /*!< (@ 0x00000CB4) A/D Conversion Overflow Error Status Clear Register */ + + struct + { + __OM uint32_t ADOVFEC0 : 1; /*!< [0..0] A/D Converter Unit 0 (ADC0) Overflow Error Flag Clear */ + __OM uint32_t ADOVFEC1 : 1; /*!< [1..1] A/D Converter Unit 1 (ADC1) Overflow Error Flag Clear */ + uint32_t : 30; + } ADOVFERSCR_b; + }; + + union + { + __OM uint32_t ADOVFCHSCR0; /*!< (@ 0x00000CB8) A/D Conversion Overflow Channel Status Clear + * Register 0 */ + + struct + { + __OM uint32_t OVFCHCn : 29; /*!< [28..0] Analog Input Channel No. n : Overflow Flag Clear */ + uint32_t : 3; + } ADOVFCHSCR0_b; + }; + __IM uint32_t RESERVED36[2]; + + union + { + __OM uint32_t ADOVFEXSCR; /*!< (@ 0x00000CC4) Extended Analog A/D Conversion Overflow Status + * Clear Register */ + + struct + { + __OM uint32_t OVFEXC0 : 1; /*!< [0..0] Self-Diagnosis Channel : Overflow Flag Clear */ + __OM uint32_t OVFEXC1 : 1; /*!< [1..1] Temperature Sensor Channel : Overflow Flag Clear */ + __OM uint32_t OVFEXC2 : 1; /*!< [2..2] Internal Reference Voltage Channel : Overflow Flag Clear */ + uint32_t : 2; + __OM uint32_t OVFEXC5 : 1; /*!< [5..5] D/A Converter 0 Channel : Overflow Flag Clear */ + __OM uint32_t OVFEXC6 : 1; /*!< [6..6] D/A Converter 1 Channel : Overflow Flag Clear */ + __OM uint32_t OVFEXC7 : 1; /*!< [7..7] D/A Converter 2 Channel : Overflow Flag Clear */ + __OM uint32_t OVFEXC8 : 1; /*!< [8..8] D/A Converter 3 Channel : Overflow Flag Clear */ + uint32_t : 23; + } ADOVFEXSCR_b; + }; + __IM uint32_t RESERVED37[2]; + + union + { + __IM uint32_t ADFIFOSR0; /*!< (@ 0x00000CD0) FIFO Status Register 0 */ + + struct + { + __IM uint32_t FIFOST0 : 4; /*!< [3..0] Number of Available Stages in FIFO for Scan Group 0 */ + uint32_t : 12; + __IM uint32_t FIFOST1 : 4; /*!< [19..16] Number of Available Stages in FIFO for Scan Group 1 */ + uint32_t : 12; + } ADFIFOSR0_b; + }; + + union + { + __IM uint32_t ADFIFOSR1; /*!< (@ 0x00000CD4) FIFO Status Register 1 */ + + struct + { + __IM uint32_t FIFOST2 : 4; /*!< [3..0] Number of Available Stages in FIFO for Scan Group 2 */ + uint32_t : 12; + __IM uint32_t FIFOST3 : 4; /*!< [19..16] Number of Available Stages in FIFO for Scan Group 3 */ + uint32_t : 12; + } ADFIFOSR1_b; + }; + + union + { + __IM uint32_t ADFIFOSR2; /*!< (@ 0x00000CD8) FIFO Status Register 2 */ + + struct + { + __IM uint32_t FIFOST4 : 4; /*!< [3..0] Number of Available Stages in FIFO for Scan Group 4 */ + uint32_t : 12; + __IM uint32_t FIFOST5 : 4; /*!< [19..16] Number of Available Stages in FIFO for Scan Group 5 */ + uint32_t : 12; + } ADFIFOSR2_b; + }; + + union + { + __IM uint32_t ADFIFOSR3; /*!< (@ 0x00000CDC) FIFO Status Register 3 */ + + struct + { + __IM uint32_t FIFOST6 : 4; /*!< [3..0] Number of Available Stages in FIFO for Scan Group 6 */ + uint32_t : 12; + __IM uint32_t FIFOST7 : 4; /*!< [19..16] Number of Available Stages in FIFO for Scan Group 7 */ + uint32_t : 12; + } ADFIFOSR3_b; + }; + + union + { + __IM uint32_t ADFIFOSR4; /*!< (@ 0x00000CE0) FIFO Status Register 4 */ + + struct + { + __IM uint32_t FIFOST8 : 4; /*!< [3..0] Number of Available Stages in FIFO for Scan Group 8 */ + uint32_t : 28; + } ADFIFOSR4_b; + }; + __IM uint32_t RESERVED38[3]; + + union + { + __OM uint32_t ADFIFODCR; /*!< (@ 0x00000CF0) FIFO Data Clear Register */ + + struct + { + __OM uint32_t FIFODCn : 9; /*!< [8..0] Scan Group n FIFO Data Clear */ + uint32_t : 23; + } ADFIFODCR_b; + }; + + union + { + __IM uint32_t ADFIFOERSR; /*!< (@ 0x00000CF4) FIFO Error Status Register */ + + struct + { + __IM uint32_t FIFOOVFn : 9; /*!< [8..0] Scan Group n FIFO Overflow Flag */ + uint32_t : 7; + __IM uint32_t FIFOFLFn : 9; /*!< [24..16] Scan Group n FIFO Data Full Flag */ + uint32_t : 7; + } ADFIFOERSR_b; + }; + + union + { + __OM uint32_t ADFIFOERSCR; /*!< (@ 0x00000CF8) FIFO Error Status Clear Register */ + + struct + { + __OM uint32_t FIFOOVFCn : 9; /*!< [8..0] Scan Group n FIFO Overflow Flag Clear */ + uint32_t : 7; + __OM uint32_t FIFOFLCn : 9; /*!< [24..16] Scan Group n FIFO Data Full Flag Clear */ + uint32_t : 7; + } ADFIFOERSCR_b; + }; + __IM uint32_t RESERVED39; + + union + { + __IM uint32_t ADCMPTBSR; /*!< (@ 0x00000D00) Compare Match Table Status Register */ + + struct + { + __IM uint32_t CMPTBFn : 8; /*!< [7..0] Compare Match Table n Match Flag */ + uint32_t : 24; + } ADCMPTBSR_b; + }; + + union + { + __OM uint32_t ADCMPTBSCR; /*!< (@ 0x00000D04) Compare Match Table Status Clear Register */ + + struct + { + __OM uint32_t CMPTBCn : 8; /*!< [7..0] Compare Match Table n : Match Flag Clear */ + uint32_t : 24; + } ADCMPTBSCR_b; + }; + + union + { + __IM uint32_t ADCMPCHSR0; /*!< (@ 0x00000D08) Compare Match Channel Status Register 0 */ + + struct + { + __IM uint32_t CMPCHFn : 29; /*!< [28..0] Analog Channel No. n : Compare Match Flag */ + uint32_t : 3; + } ADCMPCHSR0_b; + }; + __IM uint32_t RESERVED40[2]; + + union + { + __IM uint32_t ADCMPEXSR; /*!< (@ 0x00000D14) Extended Analog Compare Match Status Register */ + + struct + { + __IM uint32_t CMPEXF0 : 1; /*!< [0..0] Self-Diagnosis Channel : Compare Match Flag */ + __IM uint32_t CMPEXF1 : 1; /*!< [1..1] Temperature Sensor Channel : Compare Match Flag */ + __IM uint32_t CMPEXF2 : 1; /*!< [2..2] Internal Reference Voltage Channel : Compare Match Flag */ + uint32_t : 2; + __IM uint32_t CMPEXF5 : 1; /*!< [5..5] D/A Converter 0 Channel : Compare Match Flag */ + __IM uint32_t CMPEXF6 : 1; /*!< [6..6] D/A Converter 1 Channel : Compare Match Flag */ + __IM uint32_t CMPEXF7 : 1; /*!< [7..7] D/A Converter 2 Channel : Compare Match Flag */ + __IM uint32_t CMPEXF8 : 1; /*!< [8..8] D/A Converter 3 Channel : Compare Match Flag */ + uint32_t : 23; + } ADCMPEXSR_b; + }; + + union + { + __OM uint32_t ADCMPCHSCR0; /*!< (@ 0x00000D18) Compare Match Channel Status Clear Register 0 */ + + struct + { + __OM uint32_t CMPCHCn : 29; /*!< [28..0] Analog Channel No. n : Compare Match Flag Clear bit */ + uint32_t : 3; + } ADCMPCHSCR0_b; + }; + __IM uint32_t RESERVED41[2]; + + union + { + __OM uint32_t ADCMPEXSCR; /*!< (@ 0x00000D24) Extended Analog Compare Match Status Clear Register */ + + struct + { + __OM uint32_t CMPEXC0 : 1; /*!< [0..0] Self-Diagnosis Channel : Compare Match Flag Clear bit */ + __OM uint32_t CMPEXC1 : 1; /*!< [1..1] Temperature Sensor Channel : Compare Match Flag Clear + * bit */ + __OM uint32_t CMPEXC2 : 1; /*!< [2..2] Internal Reference Voltage Channel : Compare Match Flag + * Clear bit */ + uint32_t : 2; + __OM uint32_t CMPEXC5 : 1; /*!< [5..5] D/A Converter 0 Channel : Compare Match Flag Clear bit */ + __OM uint32_t CMPEXC6 : 1; /*!< [6..6] D/A Converter 1 Channel : Compare Match Flag Clear bit */ + __OM uint32_t CMPEXC7 : 1; /*!< [7..7] D/A Converter 2 Channel : Compare Match Flag Clear bit */ + __OM uint32_t CMPEXC8 : 1; /*!< [8..8] D/A Converter 3 Channel : Compare Match Flag Clear bit */ + uint32_t : 23; + } ADCMPEXSCR_b; + }; + + union + { + __IM uint32_t ADLIMGRSR; /*!< (@ 0x00000D28) Limiter Clip Scan Group Status Register */ + + struct + { + __IM uint32_t LIMGRFn : 9; /*!< [8..0] Scan Group n Limiter Clip Flag */ + uint32_t : 23; + } ADLIMGRSR_b; + }; + + union + { + __IM uint32_t ADLIMCHSR0; /*!< (@ 0x00000D2C) Limiter Clip Channel Status Register 0 */ + + struct + { + __IM uint32_t LIMCHFn : 29; /*!< [28..0] Analog Channel No. n : Limiter Clip Flag bit */ + uint32_t : 3; + } ADLIMCHSR0_b; + }; + __IM uint32_t RESERVED42[2]; + + union + { + __IM uint32_t ADLIMEXSR; /*!< (@ 0x00000D38) Extended Analog Limiter Clip Status Register */ + + struct + { + __IM uint32_t LIMEXF0 : 1; /*!< [0..0] Self-Diagnosis Channel : Limiter Clip Flag bit */ + __IM uint32_t LIMEXF1 : 1; /*!< [1..1] Temperature Sensor Channel : Limiter Clip Flag bit */ + __IM uint32_t LIMEXF2 : 1; /*!< [2..2] Internal Reference Voltage Channel : Limiter Clip Flag + * bit */ + uint32_t : 2; + __IM uint32_t LIMEXF5 : 1; /*!< [5..5] D/A Converter 0 Channel : Limiter Clip Flag bit */ + __IM uint32_t LIMEXF6 : 1; /*!< [6..6] D/A Converter 1 Channel : Limiter Clip Flag bit */ + __IM uint32_t LIMEXF7 : 1; /*!< [7..7] D/A Converter 2 Channel : Limiter Clip Flag bit */ + __IM uint32_t LIMEXF8 : 1; /*!< [8..8] D/A Converter 3 Channel : Limiter Clip Flag bit */ + uint32_t : 23; + } ADLIMEXSR_b; + }; + + union + { + __OM uint32_t ADLIMGRSCR; /*!< (@ 0x00000D3C) Limiter Clip Scan Group Status Clear Register */ + + struct + { + __OM uint32_t LIMGRCn : 9; /*!< [8..0] Scan Group n Limiter Clip Flag Clear */ + uint32_t : 23; + } ADLIMGRSCR_b; + }; + + union + { + __OM uint32_t ADLIMCHSCR0; /*!< (@ 0x00000D40) Limiter Clip Channel Status Clear Register 0 */ + + struct + { + __OM uint32_t LIMCHCn : 29; /*!< [28..0] Analog Channel No. n Limiter Clip Flag Clear bit */ + uint32_t : 3; + } ADLIMCHSCR0_b; + }; + __IM uint32_t RESERVED43[2]; + + union + { + __OM uint32_t ADLIMEXSCR; /*!< (@ 0x00000D4C) Extended Analog Limiter Clip Status Clear Register */ + + struct + { + __OM uint32_t LIMEXF0 : 1; /*!< [0..0] Self-Diagnosis Channel : Limiter Clip Flag Clear */ + __OM uint32_t LIMEXF1 : 1; /*!< [1..1] Temperature Sensor Channel : Limiter Clip Flag Clear */ + __OM uint32_t LIMEXF2 : 1; /*!< [2..2] Internal Reference Voltage Channel : Limiter Clip Flag + * Clear */ + uint32_t : 2; + __OM uint32_t LIMEXF5 : 1; /*!< [5..5] D/A Converter 0 Channel : Limiter Clip Flag Clear */ + __OM uint32_t LIMEXF6 : 1; /*!< [6..6] D/A Converter 1 Channel : Limiter Clip Flag Clear */ + __OM uint32_t LIMEXF7 : 1; /*!< [7..7] D/A Converter 2 Channel : Limiter Clip Flag Clear */ + __OM uint32_t LIMEXF8 : 1; /*!< [8..8] D/A Converter 3 Channel : Limiter Clip Flag Clear */ + uint32_t : 23; + } ADLIMEXSCR_b; + }; + + union + { + __IM uint32_t ADSCANENDSR; /*!< (@ 0x00000D50) Scan End Status Register */ + + struct + { + __IM uint32_t SCENDFn : 9; /*!< [8..0] Scan Group n Scan End Flag */ + uint32_t : 23; + } ADSCANENDSR_b; + }; + + union + { + __OM uint32_t ADSCANENDSCR; /*!< (@ 0x00000D54) Scan End Status Clear Register */ + + struct + { + __OM uint32_t SCENDCn : 9; /*!< [8..0] Scan Group n Scan End Flag Clear */ + uint32_t : 23; + } ADSCANENDSCR_b; + }; + __IM uint32_t RESERVED44[170]; + + union + { + __IM uint32_t ADDR[29]; /*!< (@ 0x00001000) A/D Data Register [0..28] */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D conversion data */ + uint32_t : 15; + __IM uint32_t ERR : 1; /*!< [31..31] A/D conversion data error status */ + } ADDR_b[29]; + }; + __IM uint32_t RESERVED45[67]; + + union + { + __IM uint32_t ADEXDR[9]; /*!< (@ 0x00001180) A/D Extended Analog Data Register [0..8] */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D conversion data */ + uint32_t : 8; + __IM uint32_t DIAGSR : 3; /*!< [26..24] Self-Diagnosis Status */ + uint32_t : 4; + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Error Status */ + } ADEXDR_b[9]; + }; + __IM uint32_t RESERVED46[23]; + + union + { + __IM uint32_t ADFIFODR0; /*!< (@ 0x00001200) FIFO Data Register 0 */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D Conversion Data */ + uint32_t : 8; + __IM uint32_t CH : 7; /*!< [30..24] A/D Conversion Channel Number */ + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Data Error Status */ + } ADFIFODR0_b; + }; + + union + { + __IM uint32_t ADFIFODR1; /*!< (@ 0x00001204) FIFO Data Register 1 */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D Conversion Data */ + uint32_t : 8; + __IM uint32_t CH : 7; /*!< [30..24] A/D Conversion Channel Number */ + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Data Error Status */ + } ADFIFODR1_b; + }; + + union + { + __IM uint32_t ADFIFODR2; /*!< (@ 0x00001208) FIFO Data Register 2 */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D Conversion Data */ + uint32_t : 8; + __IM uint32_t CH : 7; /*!< [30..24] A/D Conversion Channel Number */ + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Data Error Status */ + } ADFIFODR2_b; + }; + + union + { + __IM uint32_t ADFIFODR3; /*!< (@ 0x0000120C) FIFO Data Register 3 */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D Conversion Data */ + uint32_t : 8; + __IM uint32_t CH : 7; /*!< [30..24] A/D Conversion Channel Number */ + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Data Error Status */ + } ADFIFODR3_b; + }; + + union + { + __IM uint32_t ADFIFODR4; /*!< (@ 0x00001210) FIFO Data Register 4 */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D Conversion Data */ + uint32_t : 8; + __IM uint32_t CH : 7; /*!< [30..24] A/D Conversion Channel Number */ + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Data Error Status */ + } ADFIFODR4_b; + }; + + union + { + __IM uint32_t ADFIFODR5; /*!< (@ 0x00001214) FIFO Data Register 5 */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D Conversion Data */ + uint32_t : 8; + __IM uint32_t CH : 7; /*!< [30..24] A/D Conversion Channel Number */ + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Data Error Status */ + } ADFIFODR5_b; + }; + + union + { + __IM uint32_t ADFIFODR6; /*!< (@ 0x00001218) FIFO Data Register 6 */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D Conversion Data */ + uint32_t : 8; + __IM uint32_t CH : 7; /*!< [30..24] A/D Conversion Channel Number */ + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Data Error Status */ + } ADFIFODR6_b; + }; + + union + { + __IM uint32_t ADFIFODR7; /*!< (@ 0x0000121C) FIFO Data Register 7 */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D Conversion Data */ + uint32_t : 8; + __IM uint32_t CH : 7; /*!< [30..24] A/D Conversion Channel Number */ + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Data Error Status */ + } ADFIFODR7_b; + }; + + union + { + __IM uint32_t ADFIFODR8; /*!< (@ 0x00001220) FIFO Data Register 8 */ + + struct + { + __IM uint32_t DATA : 16; /*!< [15..0] A/D Conversion Data */ + uint32_t : 8; + __IM uint32_t CH : 7; /*!< [30..24] A/D Conversion Channel Number */ + __IM uint32_t ERR : 1; /*!< [31..31] A/D Conversion Data Error Status */ + } ADFIFODR8_b; + }; +} R_ADC_B0_Type; /*!< Size = 4644 (0x1224) */ + +/* =========================================================================================================================== */ +/* ================ R_DOC_B ================ */ +/* =========================================================================================================================== */ + +/** + * @brief Data Operation Circuit (R_DOC_B) + */ + +typedef struct /*!< (@ 0x40109000) R_DOC_B Structure */ +{ + union + { + __IOM uint8_t DOCR; /*!< (@ 0x00000000) DOC Control Register */ + + struct + { + __IOM uint8_t OMS : 2; /*!< [1..0] Operating Mode Select */ + uint8_t : 1; + __IOM uint8_t DOBW : 1; /*!< [3..3] Data Operation Bit Width Select */ + __IOM uint8_t DCSEL : 3; /*!< [6..4] Detection Condition Select */ + __IOM uint8_t DOPCIE : 1; /*!< [7..7] Data Operation Circuit Interrupt Enable */ + } DOCR_b; + }; + __IM uint8_t RESERVED; + __IM uint16_t RESERVED1; + + union + { + __IOM uint8_t DOSR; /*!< (@ 0x00000004) DOC Flag Status Register */ + + struct + { + __IM uint8_t DOPCF : 1; /*!< [0..0] Data Operation Circuit Flag */ + uint8_t : 7; + } DOSR_b; + }; + __IM uint8_t RESERVED2; + __IM uint16_t RESERVED3; + + union + { + __IOM uint8_t DOSCR; /*!< (@ 0x00000008) DOC Flag Status Clear Register */ + + struct + { + __OM uint8_t DOPCFCL : 1; /*!< [0..0] DOPCF Clear */ + uint8_t : 7; + } DOSCR_b; + }; + __IM uint8_t RESERVED4; + __IM uint16_t RESERVED5; + __IOM uint32_t DODIR; /*!< (@ 0x0000000C) DOC Data Input Register */ + __IOM uint32_t DODSR0; /*!< (@ 0x00000010) DOC Data Setting Register 0 */ + __IOM uint32_t DODSR1; /*!< (@ 0x00000014) DOC Data Setting Register 1 */ +} R_DOC_B_Type; /*!< Size = 24 (0x18) */ + +/* =========================================================================================================================== */ +/* ================ R_SCI_B0 ================ */ +/* =========================================================================================================================== */ + +/** + * @brief Serial Communication Interface 0 (R_SCI_B0) + */ + +typedef struct /*!< (@ 0x40118000) R_SCI_B0 Structure */ +{ + union + { + __IM uint32_t RDR; /*!< (@ 0x00000000) Receive Data Register */ + + struct + { + __IM uint32_t RDAT : 9; /*!< [8..0] Serial receive data */ + __IM uint32_t MPB : 1; /*!< [9..9] Multi-processor flag */ + __IM uint32_t DR : 1; /*!< [10..10] Receive data ready flag */ + __IM uint32_t FPER : 1; /*!< [11..11] FIFO parity error flag */ + __IM uint32_t FFER : 1; /*!< [12..12] FIFO framing error flag */ + uint32_t : 11; + __IM uint32_t ORER : 1; /*!< [24..24] Overrun Error flag */ + uint32_t : 2; + __IM uint32_t PER : 1; /*!< [27..27] Parity error flag */ + __IM uint32_t FER : 1; /*!< [28..28] Framing error flag */ + uint32_t : 3; + } RDR_b; + }; + + union + { + __IOM uint32_t TDR; /*!< (@ 0x00000004) Transmit Data Register */ + + struct + { + __IOM uint32_t TDAT : 9; /*!< [8..0] Serial transmit data */ + __IOM uint32_t MPBT : 1; /*!< [9..9] Multi-processor transfer bit flag */ + uint32_t : 2; + __IOM uint32_t TSYNC : 1; /*!< [12..12] Transmit SYNC data */ + uint32_t : 19; + } TDR_b; + }; + + union + { + __IOM uint32_t CCR0; /*!< (@ 0x00000008) Common Control Register 0 */ + + struct + { + __IOM uint32_t RE : 1; /*!< [0..0] Receive Enable */ + uint32_t : 3; + __IOM uint32_t TE : 1; /*!< [4..4] Transmit Enable */ + uint32_t : 3; + __IOM uint32_t MPIE : 1; /*!< [8..8] Multi-Processor Interrupt Enable */ + __IOM uint32_t DCME : 1; /*!< [9..9] Data Compare Match Enable */ + __IOM uint32_t IDSEL : 1; /*!< [10..10] ID frame select */ + uint32_t : 5; + __IOM uint32_t RIE : 1; /*!< [16..16] Receive Interrupt Enable */ + uint32_t : 3; + __IOM uint32_t TIE : 1; /*!< [20..20] Transmit Interrupt Enable */ + __IOM uint32_t TEIE : 1; /*!< [21..21] Transmit End Interrupt Enable */ + uint32_t : 2; + __IOM uint32_t SSE : 1; /*!< [24..24] SSn Pin Function Enable */ + uint32_t : 7; + } CCR0_b; + }; + + union + { + __IOM uint32_t CCR1; /*!< (@ 0x0000000C) Common Control Register 1 */ + + struct + { + __IOM uint32_t CTSE : 1; /*!< [0..0] CTS Enable */ + __IOM uint32_t CTSPEN : 1; /*!< [1..1] CTS external pin Enable */ + uint32_t : 2; + __IOM uint32_t SPB2DT : 1; /*!< [4..4] Serial port break data select */ + __IOM uint32_t SPB2IO : 1; /*!< [5..5] Serial port break I/O */ + uint32_t : 2; + __IOM uint32_t PE : 1; /*!< [8..8] Parity Enable */ + __IOM uint32_t PM : 1; /*!< [9..9] Parity Mode */ + uint32_t : 2; + __IOM uint32_t TINV : 1; /*!< [12..12] TXD invert */ + __IOM uint32_t RINV : 1; /*!< [13..13] RXD invert */ + uint32_t : 2; + __IOM uint32_t SPLP : 1; /*!< [16..16] Loopback Control */ + uint32_t : 3; + __IOM uint32_t SHARPS : 1; /*!< [20..20] Half-duplex communication select */ + uint32_t : 3; + __IOM uint32_t NFCS : 3; /*!< [26..24] Noise Filter Clock Select */ + uint32_t : 1; + __IOM uint32_t NFEN : 1; /*!< [28..28] Digital Noise Filter Function Enable */ + uint32_t : 3; + } CCR1_b; + }; + + union + { + __IOM uint32_t CCR2; /*!< (@ 0x00000010) Common Control Register 2 */ + + struct + { + __IOM uint32_t BCP : 3; /*!< [2..0] Base Clock Pulse */ + uint32_t : 1; + __IOM uint32_t BGDM : 1; /*!< [4..4] Baud Rate Generator Double-Speed Mode Select */ + __IOM uint32_t ABCS : 1; /*!< [5..5] Asynchronous Mode Base Clock Select */ + __IOM uint32_t ABCSE : 1; /*!< [6..6] Asynchronous Mode Extended Base Clock Select */ + uint32_t : 1; + __IOM uint32_t BRR : 8; /*!< [15..8] Bit rate setting */ + __IOM uint32_t BRME : 1; /*!< [16..16] Bit Modulation Enable */ + uint32_t : 3; + __IOM uint32_t CKS : 2; /*!< [21..20] Clock Select */ + uint32_t : 2; + __IOM uint32_t MDDR : 8; /*!< [31..24] Modulation Duty Setting */ + } CCR2_b; + }; + + union + { + __IOM uint32_t CCR3; /*!< (@ 0x00000014) Common Control Register 3 */ + + struct + { + __IOM uint32_t CPHA : 1; /*!< [0..0] Clock Phase Select */ + __IOM uint32_t CPOL : 1; /*!< [1..1] Clock Polarity Select */ + uint32_t : 5; + __IOM uint32_t BPEN : 1; /*!< [7..7] Synchronizer bypass enable */ + __IOM uint32_t CHR : 2; /*!< [9..8] Character Length */ + uint32_t : 2; + __IOM uint32_t LSBF : 1; /*!< [12..12] LSB First select */ + __IOM uint32_t SINV : 1; /*!< [13..13] Transmitted/Received Data Invert */ + __IOM uint32_t STP : 1; /*!< [14..14] Stop Bit Length */ + __IOM uint32_t RXDESEL : 1; /*!< [15..15] Asynchronous Start Bit Edge Detection Select */ + __IOM uint32_t MOD : 3; /*!< [18..16] Communication mode select */ + __IOM uint32_t MP : 1; /*!< [19..19] Multi-Processor Mode */ + __IOM uint32_t FM : 1; /*!< [20..20] FIFO Mode select */ + __IOM uint32_t DEN : 1; /*!< [21..21] Driver enable */ + uint32_t : 2; + __IOM uint32_t CKE : 2; /*!< [25..24] Clock enable */ + uint32_t : 2; + __IOM uint32_t GM : 1; /*!< [28..28] GSM Mode */ + __IOM uint32_t BLK : 1; /*!< [29..29] Block Transfer Mode */ + uint32_t : 2; + } CCR3_b; + }; + + union + { + __IOM uint32_t CCR4; /*!< (@ 0x00000018) Common Control Register 4 */ + + struct + { + __IOM uint32_t CMPD : 9; /*!< [8..0] Compare Match Data */ + uint32_t : 7; + __IOM uint32_t ASEN : 1; /*!< [16..16] Adjust receive sampling timing enable */ + __IOM uint32_t ATEN : 1; /*!< [17..17] Adjust transmit timing enable */ + uint32_t : 6; + __IOM uint32_t AST : 3; /*!< [26..24] Adjustment value for receive Sampling Timing */ + __IOM uint32_t AJD : 1; /*!< [27..27] Adjustment Direction for receive sampling timing */ + __IOM uint32_t ATT : 3; /*!< [30..28] Adjustment value for Transmit timing */ + __IOM uint32_t AET : 1; /*!< [31..31] Adjustment edge for transmit timing */ + } CCR4_b; + }; + + union + { + __IM uint8_t CESR; /*!< (@ 0x0000001C) Communication Enable Status Register */ + + struct + { + __IM uint8_t RIST : 1; /*!< [0..0] RE Internal status */ + uint8_t : 3; + __IM uint8_t TIST : 1; /*!< [4..4] TE Internal status */ + uint8_t : 3; + } CESR_b; + }; + __IM uint8_t RESERVED; + __IM uint16_t RESERVED1; + + union + { + __IOM uint32_t ICR; /*!< (@ 0x00000020) Simple I2C Control Register */ + + struct + { + __IOM uint32_t IICDL : 5; /*!< [4..0] SDA Delay Output Select */ + uint32_t : 3; + __IOM uint32_t IICINTM : 1; /*!< [8..8] IIC Interrupt Mode Select */ + __IOM uint32_t IICCSC : 1; /*!< [9..9] Clock Synchronization */ + uint32_t : 3; + __IOM uint32_t IICACKT : 1; /*!< [13..13] ACK Transmission Data */ + uint32_t : 2; + __IOM uint32_t IICSTAREQ : 1; /*!< [16..16] Start Condition Generation */ + __IOM uint32_t IICRSTAREQ : 1; /*!< [17..17] Restart Condition Generation */ + __IOM uint32_t IICSTPREQ : 1; /*!< [18..18] Stop Condition Generation */ + uint32_t : 1; + __IOM uint32_t IICSDAS : 2; /*!< [21..20] SDA Output Select */ + __IOM uint32_t IICSCLS : 2; /*!< [23..22] SCL Output Select */ + uint32_t : 8; + } ICR_b; + }; + + union + { + __IOM uint32_t FCR; /*!< (@ 0x00000024) FIFO Control Register */ + + struct + { + __IOM uint32_t DRES : 1; /*!< [0..0] Receive data ready error select bit */ + uint32_t : 7; + __IOM uint32_t TTRG : 5; /*!< [12..8] Transmit FIFO data trigger number */ + uint32_t : 2; + __OM uint32_t TFRST : 1; /*!< [15..15] Transmit FIFO Data Register Reset */ + __IOM uint32_t RTRG : 5; /*!< [20..16] Receive FIFO data trigger number */ + uint32_t : 2; + __OM uint32_t RFRST : 1; /*!< [23..23] Receive FIFO Data Register Reset */ + __IOM uint32_t RSTRG : 5; /*!< [28..24] RTS Output Active Trigger Number Select */ + uint32_t : 3; + } FCR_b; + }; + __IM uint32_t RESERVED2; + + union + { + __IOM uint32_t MCR; /*!< (@ 0x0000002C) Manchester Control Register */ + + struct + { + __IOM uint32_t RMPOL : 1; /*!< [0..0] Polarity of Received Manchester Code */ + __IOM uint32_t TMPOL : 1; /*!< [1..1] Polarity of Transmit Manchester Code */ + __IOM uint32_t ERTEN : 1; /*!< [2..2] Manchester Edge Retiming Enable */ + uint32_t : 1; + __IOM uint32_t SYNVAL : 1; /*!< [4..4] SYNC value Setting */ + __IOM uint32_t SYNSEL : 1; /*!< [5..5] SYNC Select */ + __IOM uint32_t SBSEL : 1; /*!< [6..6] Start Bit Select */ + uint32_t : 1; + __IOM uint32_t TPLEN : 4; /*!< [11..8] Transmit preface length */ + __IOM uint32_t TPPAT : 2; /*!< [13..12] Transmit preface pattern */ + uint32_t : 2; + __IOM uint32_t RPLEN : 4; /*!< [19..16] Receive Preface Length */ + __IOM uint32_t RPPAT : 2; /*!< [21..20] Receive Preface Pattern */ + uint32_t : 2; + __IOM uint32_t PFEREN : 1; /*!< [24..24] Preface Error Enable */ + __IOM uint32_t SYEREN : 1; /*!< [25..25] Receive SYNC Error Enable */ + __IOM uint32_t SBEREN : 1; /*!< [26..26] Start Bit Error Enable */ + uint32_t : 5; + } MCR_b; + }; + + union + { + __IOM uint32_t DCR; /*!< (@ 0x00000030) Driver Control Register */ + + struct + { + __IOM uint32_t DEPOL : 1; /*!< [0..0] Driver effective polarity select */ + uint32_t : 7; + __IOM uint32_t DEAST : 5; /*!< [12..8] Driver Assertion Time */ + uint32_t : 3; + __IOM uint32_t DENGT : 5; /*!< [20..16] Driver negate time */ + uint32_t : 11; + } DCR_b; + }; + + union + { + __IOM uint32_t XCR0; /*!< (@ 0x00000034) Simple LIN(SCIX) Control Register 0 */ + + struct + { + __IOM uint32_t TCSS : 2; /*!< [1..0] Timer count clock source selection */ + uint32_t : 6; + __IOM uint32_t BFE : 1; /*!< [8..8] Break Field enable */ + __IOM uint32_t CF0RE : 1; /*!< [9..9] Control Field 0 enable */ + __IOM uint32_t CF1DS : 2; /*!< [11..10] Control Field1 compare data select */ + __IOM uint32_t PIBE : 1; /*!< [12..12] Priority interrupt bit enable */ + __IOM uint32_t PIBS : 3; /*!< [15..13] Priority interrupt bit select */ + __IOM uint32_t BFOIE : 1; /*!< [16..16] Break Field output completion interrupt enable */ + __IOM uint32_t BCDIE : 1; /*!< [17..17] Bus conflict detection interrupt enable */ + uint32_t : 2; + __IOM uint32_t BFDIE : 1; /*!< [20..20] Break Field detection interrupt enable */ + __IOM uint32_t COFIE : 1; /*!< [21..21] Counter overflow interrupt enable */ + __IOM uint32_t AEDIE : 1; /*!< [22..22] Active edge detection interrupt enable */ + uint32_t : 1; + __IOM uint32_t BCCS : 2; /*!< [25..24] Bus conflict detection clock selection */ + uint32_t : 6; + } XCR0_b; + }; + + union + { + __IOM uint32_t XCR1; /*!< (@ 0x00000038) Simple LIN(SCIX) Control Register 1 */ + + struct + { + __IOM uint32_t TCST : 1; /*!< [0..0] Break Field output timer count start trigger */ + uint32_t : 3; + __IOM uint32_t SDST : 1; /*!< [4..4] Start Frame detection enable */ + __IOM uint32_t BMEN : 1; /*!< [5..5] Bit rate measurement enable */ + uint32_t : 2; + __IOM uint32_t PCF1D : 8; /*!< [15..8] Priority compare data for Control Field 1 */ + __IOM uint32_t SCF1D : 8; /*!< [23..16] Secondary compare data for Control Field 1 */ + __IOM uint32_t CF1CE : 8; /*!< [31..24] Control Field 1 compare bit enable */ + } XCR1_b; + }; + + union + { + __IOM uint32_t XCR2; /*!< (@ 0x0000003C) Simple LIN(SCIX) Control Register 2 */ + + struct + { + __IOM uint32_t CF0D : 8; /*!< [7..0] Control Field 0compare data */ + __IOM uint32_t CF0CE : 8; /*!< [15..8] Control Field 0 compare bit enable */ + __IOM uint32_t BFLW : 16; /*!< [31..16] Break Field length setting */ + } XCR2_b; + }; + __IM uint32_t RESERVED3[2]; + + union + { + __IM uint32_t CSR; /*!< (@ 0x00000048) Common Status Register */ + + struct + { + uint32_t : 4; + __IM uint32_t ERS : 1; /*!< [4..4] Error Signal Status Flag */ + uint32_t : 10; + __IM uint32_t RXDMON : 1; /*!< [15..15] Serial input data monitor bit */ + __IM uint32_t DCMF : 1; /*!< [16..16] Data Compare Match Flag */ + __IM uint32_t DPER : 1; /*!< [17..17] Data Compare Match Parity Error Flag */ + __IM uint32_t DFER : 1; /*!< [18..18] Data Compare Match Framing Error Flag */ + uint32_t : 5; + __IM uint32_t ORER : 1; /*!< [24..24] Overrun Error Flag */ + uint32_t : 1; + __IM uint32_t MFF : 1; /*!< [26..26] Mode Fault Flag */ + __IM uint32_t PER : 1; /*!< [27..27] Parity Error Flag */ + __IM uint32_t FER : 1; /*!< [28..28] Framing Error Flag */ + __IM uint32_t TDRE : 1; /*!< [29..29] Transmit Data Empty Flag */ + __IM uint32_t TEND : 1; /*!< [30..30] Transmit End Flag */ + __IM uint32_t RDRF : 1; /*!< [31..31] Receive Data Full Flag */ + } CSR_b; + }; + + union + { + __IM uint32_t ISR; /*!< (@ 0x0000004C) Simple I2C Status Register */ + + struct + { + __IM uint32_t IICACKR : 1; /*!< [0..0] ACK Reception Data Flag */ + uint32_t : 2; + __IM uint32_t IICSTIF : 1; /*!< [3..3] Issuing of Start, Restart, or Stop Condition Completed + * Flag */ + uint32_t : 28; + } ISR_b; + }; + + union + { + __IM uint32_t FRSR; /*!< (@ 0x00000050) FIFO Receive Status Register */ + + struct + { + __IM uint32_t DR : 1; /*!< [0..0] Receive Data Ready flag */ + uint32_t : 7; + __IM uint32_t R : 6; /*!< [13..8] Receive-FIFO Data Count */ + uint32_t : 2; + __IM uint32_t PNUM : 6; /*!< [21..16] Parity Error Count */ + uint32_t : 2; + __IM uint32_t FNUM : 6; /*!< [29..24] Framing Error Count */ + uint32_t : 2; + } FRSR_b; + }; + + union + { + __IM uint32_t FTSR; /*!< (@ 0x00000054) FIFO Transmit Status Register */ + + struct + { + __IM uint32_t T : 6; /*!< [5..0] Transmit-FIFO Data Count */ + uint32_t : 26; + } FTSR_b; + }; + + union + { + __IM uint32_t MSR; /*!< (@ 0x00000058) Manchester Status Register */ + + struct + { + __IM uint32_t PFER : 1; /*!< [0..0] Preface Error flag */ + __IM uint32_t SYER : 1; /*!< [1..1] SYNC Error flag */ + __IM uint32_t SBER : 1; /*!< [2..2] Start Bit Error flag */ + uint32_t : 1; + __IM uint32_t MER : 1; /*!< [4..4] Manchester Error Flag */ + uint32_t : 1; + __IM uint32_t RSYNC : 1; /*!< [6..6] Receive SYNC data bit */ + uint32_t : 25; + } MSR_b; + }; + + union + { + __IM uint32_t XSR0; /*!< (@ 0x0000005C) Simple LIN (SCIX) Status Register 0 */ + + struct + { + __IM uint32_t SFSF : 1; /*!< [0..0] Start Frame Status flag */ + __IM uint32_t RXDSF : 1; /*!< [1..1] RXDn input status flag */ + uint32_t : 6; + __IM uint32_t BFOF : 1; /*!< [8..8] Break Field Output completion flag */ + __IM uint32_t BCDF : 1; /*!< [9..9] Bus Conflict detection flag */ + __IM uint32_t BFDF : 1; /*!< [10..10] Break Field detection flag */ + __IM uint32_t CF0MF : 1; /*!< [11..11] Control Field 0 compare match flag */ + __IM uint32_t CF1MF : 1; /*!< [12..12] Control Field 1 compare match flag */ + __IM uint32_t PIBDF : 1; /*!< [13..13] Priority interrupt bit detection flag */ + __IM uint32_t COF : 1; /*!< [14..14] Counter Overflow flag */ + __IM uint32_t AEDF : 1; /*!< [15..15] Active Edge detection flag */ + __IM uint32_t CF0RD : 8; /*!< [23..16] Control Field 0 received data */ + __IM uint32_t CF1RD : 8; /*!< [31..24] Control Field 1 received data */ + } XSR0_b; + }; + + union + { + __IM uint32_t XSR1; /*!< (@ 0x00000060) Simple LIN(SCIX) Status Register 1 */ + + struct + { + __IM uint32_t TCNT : 16; /*!< [15..0] Timer Count Capture value */ + uint32_t : 16; + } XSR1_b; + }; + __IM uint32_t RESERVED4; + + union + { + __OM uint32_t CFCLR; /*!< (@ 0x00000068) Common Flag Clear Register */ + + struct + { + uint32_t : 4; + __OM uint32_t ERSC : 1; /*!< [4..4] ERS clear bit */ + uint32_t : 11; + __OM uint32_t DCMFC : 1; /*!< [16..16] DCMF clear bit */ + __OM uint32_t DPERC : 1; /*!< [17..17] DPER clear bit */ + __OM uint32_t DFERC : 1; /*!< [18..18] DFER clear bit */ + uint32_t : 5; + __OM uint32_t ORERC : 1; /*!< [24..24] ORER clear bit */ + uint32_t : 1; + __OM uint32_t MFFC : 1; /*!< [26..26] MFF clear bit */ + __OM uint32_t PERC : 1; /*!< [27..27] PER clear bit */ + __OM uint32_t FERC : 1; /*!< [28..28] FER clear bit */ + __OM uint32_t TDREC : 1; /*!< [29..29] TDRE clear bit */ + uint32_t : 1; + __OM uint32_t RDRFC : 1; /*!< [31..31] RDRF clear bit */ + } CFCLR_b; + }; + + union + { + __OM uint32_t ICFCLR; /*!< (@ 0x0000006C) Simple I2C Flag Clear Register */ + + struct + { + uint32_t : 3; + __OM uint32_t IICSTIFC : 1; /*!< [3..3] IICSTIF clear bit */ + uint32_t : 28; + } ICFCLR_b; + }; + + union + { + __OM uint32_t FFCLR; /*!< (@ 0x00000070) FIFO Flag Clear Register */ + + struct + { + __OM uint32_t DRC : 1; /*!< [0..0] DR clear bit */ + uint32_t : 31; + } FFCLR_b; + }; + + union + { + __OM uint32_t MFCLR; /*!< (@ 0x00000074) Manchester Flag Clear Register */ + + struct + { + __OM uint32_t PFERC : 1; /*!< [0..0] PFER clear bit */ + __OM uint32_t SYERC : 1; /*!< [1..1] SYER clear bit */ + __OM uint32_t SBERC : 1; /*!< [2..2] SBER clear bit */ + uint32_t : 1; + __OM uint32_t MERC : 1; /*!< [4..4] MER clear bit */ + uint32_t : 27; + } MFCLR_b; + }; + + union + { + __OM uint32_t XFCLR; /*!< (@ 0x00000078) Simple LIN(SCIX) Flag Clear Register */ + + struct + { + uint32_t : 8; + __OM uint32_t BFOC : 1; /*!< [8..8] BFOF clear bit */ + __OM uint32_t BCDC : 1; /*!< [9..9] BCDF clear bit */ + __OM uint32_t BFDC : 1; /*!< [10..10] BFDF clear bit */ + __OM uint32_t CF0MC : 1; /*!< [11..11] CF0MF clear bit */ + __OM uint32_t CF1MC : 1; /*!< [12..12] CF1MF clear bit */ + __OM uint32_t PIBDC : 1; /*!< [13..13] PIBDF clear bit */ + __OM uint32_t COFC : 1; /*!< [14..14] COFF clear bit */ + __OM uint32_t AEDC : 1; /*!< [15..15] AEDF clear bit */ + uint32_t : 16; + } XFCLR_b; + }; +} R_SCI_B0_Type; /*!< Size = 124 (0x7c) */ + +/* =========================================================================================================================== */ +/* ================ R_SPI_B0 ================ */ +/* =========================================================================================================================== */ + +/** + * @brief Serial Peripheral Interface 0 (R_SPI_B0) + */ + +typedef struct /*!< (@ 0x4011A000) R_SPI_B0 Structure */ +{ + __IOM uint32_t SPDR; /*!< (@ 0x00000000) RSPI Data Register */ + + union + { + __IOM uint32_t SPDECR; /*!< (@ 0x00000004) RSPI Delay Control Register */ + + struct + { + __IOM uint32_t SCKDL : 3; /*!< [2..0] RSPCK Delay */ + uint32_t : 5; + __IOM uint32_t SLNDL : 3; /*!< [10..8] SSL Negation Delay */ + uint32_t : 5; + __IOM uint32_t SPNDL : 3; /*!< [18..16] RSPI Next-Access Delay */ + uint32_t : 5; + __IOM uint32_t ARST : 3; /*!< [26..24] Receive Sampling Timing Adjustment bits */ + uint32_t : 5; + } SPDECR_b; + }; + + union + { + __IOM uint32_t SPCR; /*!< (@ 0x00000008) RSPI Control Register */ + + struct + { + __IOM uint32_t SPE : 1; /*!< [0..0] RSPI Function Enable */ + uint32_t : 6; + __IOM uint32_t SPSCKSEL : 1; /*!< [7..7] RSPI Master Receive Clock Select */ + __IOM uint32_t SPPE : 1; /*!< [8..8] Parity Enable */ + __IOM uint32_t SPOE : 1; /*!< [9..9] Parity Mode */ + uint32_t : 1; + __IOM uint32_t PTE : 1; /*!< [11..11] Parity Self-Diagnosis Enable */ + __IOM uint32_t SCKASE : 1; /*!< [12..12] RSPCK Auto-Stop Function Enable */ + __IOM uint32_t BFDS : 1; /*!< [13..13] Between Burst Transfer Frames Delay Select */ + __IOM uint32_t MODFEN : 1; /*!< [14..14] Mode Fault Error Detection Enable */ + uint32_t : 1; + __IOM uint32_t SPEIE : 1; /*!< [16..16] RSPI Error Interrupt Enable */ + __IOM uint32_t SPRIE : 1; /*!< [17..17] RSPI Receive Buffer Full Interrupt Enable */ + __IOM uint32_t SPIIE : 1; /*!< [18..18] RSPI Idle Interrupt Enable */ + __IOM uint32_t SPDRES : 1; /*!< [19..19] RSPI receive data ready error select */ + __IOM uint32_t SPTIE : 1; /*!< [20..20] RSPI Transmit Buffer Empty Interrupt Enable */ + __IOM uint32_t CENDIE : 1; /*!< [21..21] RSPI Communication End Interrupt Enable */ + uint32_t : 2; + __IOM uint32_t SPMS : 1; /*!< [24..24] RSPI Mode Select */ + __IOM uint32_t SPFRF : 1; /*!< [25..25] RSPI Frame Format Select */ + uint32_t : 2; + __IOM uint32_t TXMD : 2; /*!< [29..28] Communication Mode Select */ + __IOM uint32_t MSTR : 1; /*!< [30..30] RSPI Master/Slave Mode Select */ + __IOM uint32_t BPEN : 1; /*!< [31..31] Synchronization Circuit Bypass Enable */ + } SPCR_b; + }; + + union + { + __IOM uint32_t SPCR2; /*!< (@ 0x0000000C) RSPI Control Register 2 */ + + struct + { + __IOM uint32_t RMFM : 5; /*!< [4..0] Frame processing count setting in Master Receive only */ + uint32_t : 1; + __OM uint32_t RMEDTG : 1; /*!< [6..6] End Trigger in Master Receive only */ + __OM uint32_t RMSTTG : 1; /*!< [7..7] Start Trigger in Master Receive only */ + __IOM uint32_t SPDRC : 8; /*!< [15..8] RSPI received data ready detect adjustment */ + __IOM uint32_t SPLP : 1; /*!< [16..16] RSPI Loopback */ + __IOM uint32_t SPLP2 : 1; /*!< [17..17] RSPI Loopback 2 */ + uint32_t : 2; + __IOM uint32_t MOIFV : 1; /*!< [20..20] MOSI Idle Fixed Value */ + __IOM uint32_t MOIFE : 1; /*!< [21..21] MOSI Idle Fixed Value Enable */ + uint32_t : 10; + } SPCR2_b; + }; + + union + { + __IOM uint32_t SPCR3; /*!< (@ 0x00000010) RSPI Control Register 3 */ + + struct + { + __IOM uint32_t SSL0P : 1; /*!< [0..0] SSL0 Signal Polarity */ + __IOM uint32_t SSL1P : 1; /*!< [1..1] SSL1 Signal Polarity */ + __IOM uint32_t SSL2P : 1; /*!< [2..2] SSL2 Signal Polarity */ + __IOM uint32_t SSL3P : 1; /*!< [3..3] SSL3 Signal Polarity */ + uint32_t : 4; + __IOM uint32_t SPBR : 8; /*!< [15..8] SPI Bit Rate */ + uint32_t : 8; + __IOM uint32_t SPSLN : 3; /*!< [26..24] RSPI Sequence Length */ + uint32_t : 5; + } SPCR3_b; + }; + + union + { + __IOM uint32_t SPCMD0; /*!< (@ 0x00000014) RSPI Command Register */ + + struct + { + __IOM uint32_t CPHA : 1; /*!< [0..0] RSPCK Phase */ + __IOM uint32_t CPOL : 1; /*!< [1..1] RSPCK Polarity */ + __IOM uint32_t BRDV : 2; /*!< [3..2] Bit Rate Division */ + uint32_t : 3; + __IOM uint32_t SSLKP : 1; /*!< [7..7] SSL Signal Level Hold */ + uint32_t : 4; + __IOM uint32_t LSBF : 1; /*!< [12..12] RSPI LSB First */ + __IOM uint32_t SPNDEN : 1; /*!< [13..13] RSPI Next-Access Delay Enable */ + __IOM uint32_t SLNDEN : 1; /*!< [14..14] SSL Negation Delay Setting Enable */ + __IOM uint32_t SCKDEN : 1; /*!< [15..15] RSPCK Delay Setting Enable */ + __IOM uint32_t SPB : 5; /*!< [20..16] RSPI Data Length */ + uint32_t : 3; + __IOM uint32_t SSLA : 3; /*!< [26..24] SSL Signal Assertion */ + uint32_t : 5; + } SPCMD0_b; + }; + + union + { + __IOM uint32_t SPCMD1; /*!< (@ 0x00000018) RSPI Command Register */ + + struct + { + __IOM uint32_t CPHA : 1; /*!< [0..0] RSPCK Phase */ + __IOM uint32_t CPOL : 1; /*!< [1..1] RSPCK Polarity */ + __IOM uint32_t BRDV : 2; /*!< [3..2] Bit Rate Division */ + uint32_t : 3; + __IOM uint32_t SSLKP : 1; /*!< [7..7] SSL Signal Level Hold */ + uint32_t : 4; + __IOM uint32_t LSBF : 1; /*!< [12..12] RSPI LSB First */ + __IOM uint32_t SPNDEN : 1; /*!< [13..13] RSPI Next-Access Delay Enable */ + __IOM uint32_t SLNDEN : 1; /*!< [14..14] SSL Negation Delay Setting Enable */ + __IOM uint32_t SCKDEN : 1; /*!< [15..15] RSPCK Delay Setting Enable */ + __IOM uint32_t SPB : 5; /*!< [20..16] RSPI Data Length */ + uint32_t : 3; + __IOM uint32_t SSLA : 3; /*!< [26..24] SSL Signal Assertion */ + uint32_t : 5; + } SPCMD1_b; + }; + + union + { + __IOM uint32_t SPCMD2; /*!< (@ 0x0000001C) RSPI Command Register */ + + struct + { + __IOM uint32_t CPHA : 1; /*!< [0..0] RSPCK Phase */ + __IOM uint32_t CPOL : 1; /*!< [1..1] RSPCK Polarity */ + __IOM uint32_t BRDV : 2; /*!< [3..2] Bit Rate Division */ + uint32_t : 3; + __IOM uint32_t SSLKP : 1; /*!< [7..7] SSL Signal Level Hold */ + uint32_t : 4; + __IOM uint32_t LSBF : 1; /*!< [12..12] RSPI LSB First */ + __IOM uint32_t SPNDEN : 1; /*!< [13..13] RSPI Next-Access Delay Enable */ + __IOM uint32_t SLNDEN : 1; /*!< [14..14] SSL Negation Delay Setting Enable */ + __IOM uint32_t SCKDEN : 1; /*!< [15..15] RSPCK Delay Setting Enable */ + __IOM uint32_t SPB : 5; /*!< [20..16] RSPI Data Length */ + uint32_t : 3; + __IOM uint32_t SSLA : 3; /*!< [26..24] SSL Signal Assertion */ + uint32_t : 5; + } SPCMD2_b; + }; + + union + { + __IOM uint32_t SPCMD3; /*!< (@ 0x00000020) RSPI Command Register */ + + struct + { + __IOM uint32_t CPHA : 1; /*!< [0..0] RSPCK Phase */ + __IOM uint32_t CPOL : 1; /*!< [1..1] RSPCK Polarity */ + __IOM uint32_t BRDV : 2; /*!< [3..2] Bit Rate Division */ + uint32_t : 3; + __IOM uint32_t SSLKP : 1; /*!< [7..7] SSL Signal Level Hold */ + uint32_t : 4; + __IOM uint32_t LSBF : 1; /*!< [12..12] RSPI LSB First */ + __IOM uint32_t SPNDEN : 1; /*!< [13..13] RSPI Next-Access Delay Enable */ + __IOM uint32_t SLNDEN : 1; /*!< [14..14] SSL Negation Delay Setting Enable */ + __IOM uint32_t SCKDEN : 1; /*!< [15..15] RSPCK Delay Setting Enable */ + __IOM uint32_t SPB : 5; /*!< [20..16] RSPI Data Length */ + uint32_t : 3; + __IOM uint32_t SSLA : 3; /*!< [26..24] SSL Signal Assertion */ + uint32_t : 5; + } SPCMD3_b; + }; + + union + { + __IOM uint32_t SPCMD4; /*!< (@ 0x00000024) RSPI Command Register */ + + struct + { + __IOM uint32_t CPHA : 1; /*!< [0..0] RSPCK Phase */ + __IOM uint32_t CPOL : 1; /*!< [1..1] RSPCK Polarity */ + __IOM uint32_t BRDV : 2; /*!< [3..2] Bit Rate Division */ + uint32_t : 3; + __IOM uint32_t SSLKP : 1; /*!< [7..7] SSL Signal Level Hold */ + uint32_t : 4; + __IOM uint32_t LSBF : 1; /*!< [12..12] RSPI LSB First */ + __IOM uint32_t SPNDEN : 1; /*!< [13..13] RSPI Next-Access Delay Enable */ + __IOM uint32_t SLNDEN : 1; /*!< [14..14] SSL Negation Delay Setting Enable */ + __IOM uint32_t SCKDEN : 1; /*!< [15..15] RSPCK Delay Setting Enable */ + __IOM uint32_t SPB : 5; /*!< [20..16] RSPI Data Length */ + uint32_t : 3; + __IOM uint32_t SSLA : 3; /*!< [26..24] SSL Signal Assertion */ + uint32_t : 5; + } SPCMD4_b; + }; + + union + { + __IOM uint32_t SPCMD5; /*!< (@ 0x00000028) RSPI Command Register */ + + struct + { + __IOM uint32_t CPHA : 1; /*!< [0..0] RSPCK Phase */ + __IOM uint32_t CPOL : 1; /*!< [1..1] RSPCK Polarity */ + __IOM uint32_t BRDV : 2; /*!< [3..2] Bit Rate Division */ + uint32_t : 3; + __IOM uint32_t SSLKP : 1; /*!< [7..7] SSL Signal Level Hold */ + uint32_t : 4; + __IOM uint32_t LSBF : 1; /*!< [12..12] RSPI LSB First */ + __IOM uint32_t SPNDEN : 1; /*!< [13..13] RSPI Next-Access Delay Enable */ + __IOM uint32_t SLNDEN : 1; /*!< [14..14] SSL Negation Delay Setting Enable */ + __IOM uint32_t SCKDEN : 1; /*!< [15..15] RSPCK Delay Setting Enable */ + __IOM uint32_t SPB : 5; /*!< [20..16] RSPI Data Length */ + uint32_t : 3; + __IOM uint32_t SSLA : 3; /*!< [26..24] SSL Signal Assertion */ + uint32_t : 5; + } SPCMD5_b; + }; + + union + { + __IOM uint32_t SPCMD6; /*!< (@ 0x0000002C) RSPI Command Register */ + + struct + { + __IOM uint32_t CPHA : 1; /*!< [0..0] RSPCK Phase */ + __IOM uint32_t CPOL : 1; /*!< [1..1] RSPCK Polarity */ + __IOM uint32_t BRDV : 2; /*!< [3..2] Bit Rate Division */ + uint32_t : 3; + __IOM uint32_t SSLKP : 1; /*!< [7..7] SSL Signal Level Hold */ + uint32_t : 4; + __IOM uint32_t LSBF : 1; /*!< [12..12] RSPI LSB First */ + __IOM uint32_t SPNDEN : 1; /*!< [13..13] RSPI Next-Access Delay Enable */ + __IOM uint32_t SLNDEN : 1; /*!< [14..14] SSL Negation Delay Setting Enable */ + __IOM uint32_t SCKDEN : 1; /*!< [15..15] RSPCK Delay Setting Enable */ + __IOM uint32_t SPB : 5; /*!< [20..16] RSPI Data Length */ + uint32_t : 3; + __IOM uint32_t SSLA : 3; /*!< [26..24] SSL Signal Assertion */ + uint32_t : 5; + } SPCMD6_b; + }; + + union + { + __IOM uint32_t SPCMD7; /*!< (@ 0x00000030) RSPI Command Register */ + + struct + { + __IOM uint32_t CPHA : 1; /*!< [0..0] RSPCK Phase */ + __IOM uint32_t CPOL : 1; /*!< [1..1] RSPCK Polarity */ + __IOM uint32_t BRDV : 2; /*!< [3..2] Bit Rate Division */ + uint32_t : 3; + __IOM uint32_t SSLKP : 1; /*!< [7..7] SSL Signal Level Hold */ + uint32_t : 4; + __IOM uint32_t LSBF : 1; /*!< [12..12] RSPI LSB First */ + __IOM uint32_t SPNDEN : 1; /*!< [13..13] RSPI Next-Access Delay Enable */ + __IOM uint32_t SLNDEN : 1; /*!< [14..14] SSL Negation Delay Setting Enable */ + __IOM uint32_t SCKDEN : 1; /*!< [15..15] RSPCK Delay Setting Enable */ + __IOM uint32_t SPB : 5; /*!< [20..16] RSPI Data Length */ + uint32_t : 3; + __IOM uint32_t SSLA : 3; /*!< [26..24] SSL Signal Assertion */ + uint32_t : 5; + } SPCMD7_b; + }; + __IM uint32_t RESERVED[3]; + + union + { + __IOM uint32_t SPDCR; /*!< (@ 0x00000040) RSPI Data Control Register */ + + struct + { + __IOM uint32_t BYSW : 1; /*!< [0..0] Byte Swap Operating Mode Select */ + uint32_t : 2; + __IOM uint32_t SPRDTD : 1; /*!< [3..3] RSPI Receive Data or Transmit Data Select */ + __IOM uint32_t SINV : 1; /*!< [4..4] Serial data invert bit */ + uint32_t : 3; + __IOM uint32_t SPFC : 2; /*!< [9..8] Frame Count */ + uint32_t : 22; + } SPDCR_b; + }; + + union + { + __IOM uint32_t SPDCR2; /*!< (@ 0x00000044) RSPI Data Control Register 2 */ + + struct + { + __IOM uint32_t RTRG : 2; /*!< [1..0] Receive FIFO threshold setting */ + uint32_t : 6; + __IOM uint32_t TTRG : 2; /*!< [9..8] Transmission FIFO threshold setting */ + uint32_t : 22; + } SPDCR2_b; + }; + __IM uint32_t RESERVED1[2]; + + union + { + __IM uint32_t SPSR; /*!< (@ 0x00000050) SPI Status Register */ + + struct + { + uint32_t : 8; + __IM uint32_t SPCP : 3; /*!< [10..8] RSPI Command Pointer */ + uint32_t : 1; + __IM uint32_t SPECM : 3; /*!< [14..12] RSPI Error Command */ + uint32_t : 8; + __IM uint32_t SPDRF : 1; /*!< [23..23] RSPI Receive Data Ready Flag */ + __IM uint32_t OVRF : 1; /*!< [24..24] Overrun Error Flag */ + __IM uint32_t IDLNF : 1; /*!< [25..25] RSPI Idle Flag */ + __IM uint32_t MODF : 1; /*!< [26..26] Mode Fault Error Flag */ + __IM uint32_t PERF : 1; /*!< [27..27] Parity Error Flag */ + __IM uint32_t UDRF : 1; /*!< [28..28] Underrun Error Flag */ + __IM uint32_t SPTEF : 1; /*!< [29..29] RSPI Transmit Buffer Empty Flag */ + __IM uint32_t CENDF : 1; /*!< [30..30] Communication End Flag */ + __IM uint32_t SPRF : 1; /*!< [31..31] RSPI Receive Buffer Full Flag */ + } SPSR_b; + }; + __IM uint32_t RESERVED2; + + union + { + __IM uint32_t SPTFSR; /*!< (@ 0x00000058) RSPI Transfer FIFO Status Register */ + + struct + { + __IM uint32_t TFDN : 3; /*!< [2..0] Transmit FIFO data empty stage number */ + uint32_t : 29; + } SPTFSR_b; + }; + + union + { + __IM uint32_t SPRFSR; /*!< (@ 0x0000005C) RSPI Receive FIFO Status Register */ + + struct + { + __IM uint32_t RFDN : 3; /*!< [2..0] Receive FIFO data store stage number */ + uint32_t : 29; + } SPRFSR_b; + }; + + union + { + __IM uint32_t SPPSR; /*!< (@ 0x00000060) RSPI Poling Register */ + + struct + { + __IM uint32_t SPEPS : 1; /*!< [0..0] RSPI Poling Status */ + uint32_t : 31; + } SPPSR_b; + }; + __IM uint32_t RESERVED3; + + union + { + __IOM uint32_t SPSRC; /*!< (@ 0x00000068) RSPI Status Clear Register */ + + struct + { + uint32_t : 23; + __OM uint32_t SPDRFC : 1; /*!< [23..23] RSPI Receive Data Ready Flag Clear */ + __OM uint32_t OVRFC : 1; /*!< [24..24] Overrun Error Flag Clear */ + uint32_t : 1; + __OM uint32_t MODFC : 1; /*!< [26..26] Mode Fault Error Flag Clear */ + __OM uint32_t PERFC : 1; /*!< [27..27] Parity Error Flag Clear */ + __OM uint32_t UDRFC : 1; /*!< [28..28] Underrun Error Flag Clear */ + __OM uint32_t SPTEFC : 1; /*!< [29..29] RSPI Transmit Buffer Empty Flag Clear */ + __OM uint32_t CENDFC : 1; /*!< [30..30] Communication End Flag Clear */ + __OM uint32_t SPRFC : 1; /*!< [31..31] RSPI Receive Buffer Full Flag Clear */ + } SPSRC_b; + }; + + union + { + __IOM uint32_t SPFCR; /*!< (@ 0x0000006C) RSPI FIFO Clear Register */ + + struct + { + __OM uint32_t SPFRST : 1; /*!< [0..0] RSPI FIFO clear */ + uint32_t : 31; + } SPFCR_b; + }; +} R_SPI_B0_Type; /*!< Size = 112 (0x70) */ + +/* =========================================================================================================================== */ +/* ================ R_TFU ================ */ +/* =========================================================================================================================== */ + +/** + * @brief Trigonometric Function Unit (TFU) (R_TFU) + */ + +typedef struct /*!< (@ 0x90003000) R_TFU Structure */ +{ + __IM uint32_t RESERVED[4]; + + union + { + __IOM float SCDT0; /*!< (@ 0x00000010) TBD */ + + struct + { + __IOM uint32_t SCDT0 : 32; /*!< [31..0] TBD */ + } SCDT0_b; + }; + + union + { + __IOM float SCDT1; /*!< (@ 0x00000014) TBD */ + + struct + { + __IOM uint32_t SCDT1 : 32; /*!< [31..0] TBD */ + } SCDT1_b; + }; + + union + { + __IOM float ATDT0; /*!< (@ 0x00000018) TBD */ + + struct + { + __IOM uint32_t ATDT0 : 32; /*!< [31..0] TBD */ + } ATDT0_b; + }; + + union + { + __IOM float ATDT1; /*!< (@ 0x0000001C) TBD */ + + struct + { + __IOM uint32_t ATDT1 : 32; /*!< [31..0] TBD */ + } ATDT1_b; + }; +} R_TFU_Type; /*!< Size = 32 (0x20) */ + /** @} */ /* End of group Device_Peripheral_peripherals */ + #ifdef BSP_OVERRIDE_REG_HEADER + #include BSP_OVERRIDE_REG_HEADER + #endif + #include "base_addresses.h" /* ========================================= End of section using anonymous unions ========================================= */ @@ -24640,6 +32305,355 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_CANFD_CFDTM_DF_TMDB_Pos (0UL) /*!< TMDB (Bit 0) */ #define R_CANFD_CFDTM_DF_TMDB_Msk (0xffUL) /*!< TMDB (Bitfield-Mask: 0xff) */ +/* =========================================================================================================================== */ +/* ================ CFDC ================ */ +/* =========================================================================================================================== */ + +/* ========================================================= NCFG ========================================================== */ + #define R_CANFDL_CFDC_NCFG_NBRP_Pos (0UL) /*!< NBRP (Bit 0) */ + #define R_CANFDL_CFDC_NCFG_NBRP_Msk (0x3ffUL) /*!< NBRP (Bitfield-Mask: 0x3ff) */ + #define R_CANFDL_CFDC_NCFG_NSJW_Pos (10UL) /*!< NSJW (Bit 10) */ + #define R_CANFDL_CFDC_NCFG_NSJW_Msk (0x1fc00UL) /*!< NSJW (Bitfield-Mask: 0x7f) */ + #define R_CANFDL_CFDC_NCFG_NTSEG1_Pos (17UL) /*!< NTSEG1 (Bit 17) */ + #define R_CANFDL_CFDC_NCFG_NTSEG1_Msk (0x1fe0000UL) /*!< NTSEG1 (Bitfield-Mask: 0xff) */ + #define R_CANFDL_CFDC_NCFG_NTSEG2_Pos (25UL) /*!< NTSEG2 (Bit 25) */ + #define R_CANFDL_CFDC_NCFG_NTSEG2_Msk (0xfe000000UL) /*!< NTSEG2 (Bitfield-Mask: 0x7f) */ +/* ========================================================== CTR ========================================================== */ + #define R_CANFDL_CFDC_CTR_CHMDC_Pos (0UL) /*!< CHMDC (Bit 0) */ + #define R_CANFDL_CFDC_CTR_CHMDC_Msk (0x3UL) /*!< CHMDC (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDC_CTR_CSLPR_Pos (2UL) /*!< CSLPR (Bit 2) */ + #define R_CANFDL_CFDC_CTR_CSLPR_Msk (0x4UL) /*!< CSLPR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_RTBO_Pos (3UL) /*!< RTBO (Bit 3) */ + #define R_CANFDL_CFDC_CTR_RTBO_Msk (0x8UL) /*!< RTBO (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_BEIE_Pos (8UL) /*!< BEIE (Bit 8) */ + #define R_CANFDL_CFDC_CTR_BEIE_Msk (0x100UL) /*!< BEIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_EWIE_Pos (9UL) /*!< EWIE (Bit 9) */ + #define R_CANFDL_CFDC_CTR_EWIE_Msk (0x200UL) /*!< EWIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_EPIE_Pos (10UL) /*!< EPIE (Bit 10) */ + #define R_CANFDL_CFDC_CTR_EPIE_Msk (0x400UL) /*!< EPIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_BOEIE_Pos (11UL) /*!< BOEIE (Bit 11) */ + #define R_CANFDL_CFDC_CTR_BOEIE_Msk (0x800UL) /*!< BOEIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_BORIE_Pos (12UL) /*!< BORIE (Bit 12) */ + #define R_CANFDL_CFDC_CTR_BORIE_Msk (0x1000UL) /*!< BORIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_OLIE_Pos (13UL) /*!< OLIE (Bit 13) */ + #define R_CANFDL_CFDC_CTR_OLIE_Msk (0x2000UL) /*!< OLIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_BLIE_Pos (14UL) /*!< BLIE (Bit 14) */ + #define R_CANFDL_CFDC_CTR_BLIE_Msk (0x4000UL) /*!< BLIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_ALIE_Pos (15UL) /*!< ALIE (Bit 15) */ + #define R_CANFDL_CFDC_CTR_ALIE_Msk (0x8000UL) /*!< ALIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_TAIE_Pos (16UL) /*!< TAIE (Bit 16) */ + #define R_CANFDL_CFDC_CTR_TAIE_Msk (0x10000UL) /*!< TAIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_EOCOIE_Pos (17UL) /*!< EOCOIE (Bit 17) */ + #define R_CANFDL_CFDC_CTR_EOCOIE_Msk (0x20000UL) /*!< EOCOIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_SOCOIE_Pos (18UL) /*!< SOCOIE (Bit 18) */ + #define R_CANFDL_CFDC_CTR_SOCOIE_Msk (0x40000UL) /*!< SOCOIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_TDCVFIE_Pos (19UL) /*!< TDCVFIE (Bit 19) */ + #define R_CANFDL_CFDC_CTR_TDCVFIE_Msk (0x80000UL) /*!< TDCVFIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_BOM_Pos (21UL) /*!< BOM (Bit 21) */ + #define R_CANFDL_CFDC_CTR_BOM_Msk (0x600000UL) /*!< BOM (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDC_CTR_ERRD_Pos (23UL) /*!< ERRD (Bit 23) */ + #define R_CANFDL_CFDC_CTR_ERRD_Msk (0x800000UL) /*!< ERRD (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_CTME_Pos (24UL) /*!< CTME (Bit 24) */ + #define R_CANFDL_CFDC_CTR_CTME_Msk (0x1000000UL) /*!< CTME (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_CTMS_Pos (25UL) /*!< CTMS (Bit 25) */ + #define R_CANFDL_CFDC_CTR_CTMS_Msk (0x6000000UL) /*!< CTMS (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDC_CTR_CRCT_Pos (30UL) /*!< CRCT (Bit 30) */ + #define R_CANFDL_CFDC_CTR_CRCT_Msk (0x40000000UL) /*!< CRCT (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_CTR_ROM_Pos (31UL) /*!< ROM (Bit 31) */ + #define R_CANFDL_CFDC_CTR_ROM_Msk (0x80000000UL) /*!< ROM (Bitfield-Mask: 0x01) */ +/* ========================================================== STS ========================================================== */ + #define R_CANFDL_CFDC_STS_CRSTSTS_Pos (0UL) /*!< CRSTSTS (Bit 0) */ + #define R_CANFDL_CFDC_STS_CRSTSTS_Msk (0x1UL) /*!< CRSTSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_STS_CHLTSTS_Pos (1UL) /*!< CHLTSTS (Bit 1) */ + #define R_CANFDL_CFDC_STS_CHLTSTS_Msk (0x2UL) /*!< CHLTSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_STS_CSLPSTS_Pos (2UL) /*!< CSLPSTS (Bit 2) */ + #define R_CANFDL_CFDC_STS_CSLPSTS_Msk (0x4UL) /*!< CSLPSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_STS_EPSTS_Pos (3UL) /*!< EPSTS (Bit 3) */ + #define R_CANFDL_CFDC_STS_EPSTS_Msk (0x8UL) /*!< EPSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_STS_BOSTS_Pos (4UL) /*!< BOSTS (Bit 4) */ + #define R_CANFDL_CFDC_STS_BOSTS_Msk (0x10UL) /*!< BOSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_STS_TRMSTS_Pos (5UL) /*!< TRMSTS (Bit 5) */ + #define R_CANFDL_CFDC_STS_TRMSTS_Msk (0x20UL) /*!< TRMSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_STS_RECSTS_Pos (6UL) /*!< RECSTS (Bit 6) */ + #define R_CANFDL_CFDC_STS_RECSTS_Msk (0x40UL) /*!< RECSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_STS_COMSTS_Pos (7UL) /*!< COMSTS (Bit 7) */ + #define R_CANFDL_CFDC_STS_COMSTS_Msk (0x80UL) /*!< COMSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_STS_ESIF_Pos (8UL) /*!< ESIF (Bit 8) */ + #define R_CANFDL_CFDC_STS_ESIF_Msk (0x100UL) /*!< ESIF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_STS_REC_Pos (16UL) /*!< REC (Bit 16) */ + #define R_CANFDL_CFDC_STS_REC_Msk (0xff0000UL) /*!< REC (Bitfield-Mask: 0xff) */ + #define R_CANFDL_CFDC_STS_TEC_Pos (24UL) /*!< TEC (Bit 24) */ + #define R_CANFDL_CFDC_STS_TEC_Msk (0xff000000UL) /*!< TEC (Bitfield-Mask: 0xff) */ +/* ========================================================= ERFL ========================================================== */ + #define R_CANFDL_CFDC_ERFL_BEF_Pos (0UL) /*!< BEF (Bit 0) */ + #define R_CANFDL_CFDC_ERFL_BEF_Msk (0x1UL) /*!< BEF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_EWF_Pos (1UL) /*!< EWF (Bit 1) */ + #define R_CANFDL_CFDC_ERFL_EWF_Msk (0x2UL) /*!< EWF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_EPF_Pos (2UL) /*!< EPF (Bit 2) */ + #define R_CANFDL_CFDC_ERFL_EPF_Msk (0x4UL) /*!< EPF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_BOEF_Pos (3UL) /*!< BOEF (Bit 3) */ + #define R_CANFDL_CFDC_ERFL_BOEF_Msk (0x8UL) /*!< BOEF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_BORF_Pos (4UL) /*!< BORF (Bit 4) */ + #define R_CANFDL_CFDC_ERFL_BORF_Msk (0x10UL) /*!< BORF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_OVLF_Pos (5UL) /*!< OVLF (Bit 5) */ + #define R_CANFDL_CFDC_ERFL_OVLF_Msk (0x20UL) /*!< OVLF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_BLF_Pos (6UL) /*!< BLF (Bit 6) */ + #define R_CANFDL_CFDC_ERFL_BLF_Msk (0x40UL) /*!< BLF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_ALF_Pos (7UL) /*!< ALF (Bit 7) */ + #define R_CANFDL_CFDC_ERFL_ALF_Msk (0x80UL) /*!< ALF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_SERR_Pos (8UL) /*!< SERR (Bit 8) */ + #define R_CANFDL_CFDC_ERFL_SERR_Msk (0x100UL) /*!< SERR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_FERR_Pos (9UL) /*!< FERR (Bit 9) */ + #define R_CANFDL_CFDC_ERFL_FERR_Msk (0x200UL) /*!< FERR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_AERR_Pos (10UL) /*!< AERR (Bit 10) */ + #define R_CANFDL_CFDC_ERFL_AERR_Msk (0x400UL) /*!< AERR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_CERR_Pos (11UL) /*!< CERR (Bit 11) */ + #define R_CANFDL_CFDC_ERFL_CERR_Msk (0x800UL) /*!< CERR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_B1ERR_Pos (12UL) /*!< B1ERR (Bit 12) */ + #define R_CANFDL_CFDC_ERFL_B1ERR_Msk (0x1000UL) /*!< B1ERR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_B0ERR_Pos (13UL) /*!< B0ERR (Bit 13) */ + #define R_CANFDL_CFDC_ERFL_B0ERR_Msk (0x2000UL) /*!< B0ERR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_ADERR_Pos (14UL) /*!< ADERR (Bit 14) */ + #define R_CANFDL_CFDC_ERFL_ADERR_Msk (0x4000UL) /*!< ADERR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC_ERFL_CRCREG_Pos (16UL) /*!< CRCREG (Bit 16) */ + #define R_CANFDL_CFDC_ERFL_CRCREG_Msk (0x7fff0000UL) /*!< CRCREG (Bitfield-Mask: 0x7fff) */ + +/* =========================================================================================================================== */ +/* ================ CFDC2 ================ */ +/* =========================================================================================================================== */ + +/* ========================================================= DCFG ========================================================== */ + #define R_CANFDL_CFDC2_DCFG_DBRP_Pos (0UL) /*!< DBRP (Bit 0) */ + #define R_CANFDL_CFDC2_DCFG_DBRP_Msk (0xffUL) /*!< DBRP (Bitfield-Mask: 0xff) */ + #define R_CANFDL_CFDC2_DCFG_DTSEG1_Pos (8UL) /*!< DTSEG1 (Bit 8) */ + #define R_CANFDL_CFDC2_DCFG_DTSEG1_Msk (0x1f00UL) /*!< DTSEG1 (Bitfield-Mask: 0x1f) */ + #define R_CANFDL_CFDC2_DCFG_DTSEG2_Pos (16UL) /*!< DTSEG2 (Bit 16) */ + #define R_CANFDL_CFDC2_DCFG_DTSEG2_Msk (0xf0000UL) /*!< DTSEG2 (Bitfield-Mask: 0x0f) */ + #define R_CANFDL_CFDC2_DCFG_DSJW_Pos (24UL) /*!< DSJW (Bit 24) */ + #define R_CANFDL_CFDC2_DCFG_DSJW_Msk (0xf000000UL) /*!< DSJW (Bitfield-Mask: 0x0f) */ +/* ========================================================= FDCFG ========================================================= */ + #define R_CANFDL_CFDC2_FDCFG_EOCCFG_Pos (0UL) /*!< EOCCFG (Bit 0) */ + #define R_CANFDL_CFDC2_FDCFG_EOCCFG_Msk (0x7UL) /*!< EOCCFG (Bitfield-Mask: 0x07) */ + #define R_CANFDL_CFDC2_FDCFG_TDCOC_Pos (8UL) /*!< TDCOC (Bit 8) */ + #define R_CANFDL_CFDC2_FDCFG_TDCOC_Msk (0x100UL) /*!< TDCOC (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC2_FDCFG_TDCE_Pos (9UL) /*!< TDCE (Bit 9) */ + #define R_CANFDL_CFDC2_FDCFG_TDCE_Msk (0x200UL) /*!< TDCE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC2_FDCFG_ESIC_Pos (10UL) /*!< ESIC (Bit 10) */ + #define R_CANFDL_CFDC2_FDCFG_ESIC_Msk (0x400UL) /*!< ESIC (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC2_FDCFG_TDCO_Pos (16UL) /*!< TDCO (Bit 16) */ + #define R_CANFDL_CFDC2_FDCFG_TDCO_Msk (0xff0000UL) /*!< TDCO (Bitfield-Mask: 0xff) */ + #define R_CANFDL_CFDC2_FDCFG_FDOE_Pos (28UL) /*!< FDOE (Bit 28) */ + #define R_CANFDL_CFDC2_FDCFG_FDOE_Msk (0x10000000UL) /*!< FDOE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC2_FDCFG_REFE_Pos (29UL) /*!< REFE (Bit 29) */ + #define R_CANFDL_CFDC2_FDCFG_REFE_Msk (0x20000000UL) /*!< REFE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC2_FDCFG_CLOE_Pos (30UL) /*!< CLOE (Bit 30) */ + #define R_CANFDL_CFDC2_FDCFG_CLOE_Msk (0x40000000UL) /*!< CLOE (Bitfield-Mask: 0x01) */ +/* ========================================================= FDCTR ========================================================= */ + #define R_CANFDL_CFDC2_FDCTR_EOCCLR_Pos (0UL) /*!< EOCCLR (Bit 0) */ + #define R_CANFDL_CFDC2_FDCTR_EOCCLR_Msk (0x1UL) /*!< EOCCLR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC2_FDCTR_SOCCLR_Pos (1UL) /*!< SOCCLR (Bit 1) */ + #define R_CANFDL_CFDC2_FDCTR_SOCCLR_Msk (0x2UL) /*!< SOCCLR (Bitfield-Mask: 0x01) */ +/* ========================================================= FDSTS ========================================================= */ + #define R_CANFDL_CFDC2_FDSTS_TDCR_Pos (0UL) /*!< TDCR (Bit 0) */ + #define R_CANFDL_CFDC2_FDSTS_TDCR_Msk (0xffUL) /*!< TDCR (Bitfield-Mask: 0xff) */ + #define R_CANFDL_CFDC2_FDSTS_EOCO_Pos (8UL) /*!< EOCO (Bit 8) */ + #define R_CANFDL_CFDC2_FDSTS_EOCO_Msk (0x100UL) /*!< EOCO (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC2_FDSTS_SOCO_Pos (9UL) /*!< SOCO (Bit 9) */ + #define R_CANFDL_CFDC2_FDSTS_SOCO_Msk (0x200UL) /*!< SOCO (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC2_FDSTS_TDCVF_Pos (15UL) /*!< TDCVF (Bit 15) */ + #define R_CANFDL_CFDC2_FDSTS_TDCVF_Msk (0x8000UL) /*!< TDCVF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDC2_FDSTS_EOC_Pos (16UL) /*!< EOC (Bit 16) */ + #define R_CANFDL_CFDC2_FDSTS_EOC_Msk (0xff0000UL) /*!< EOC (Bitfield-Mask: 0xff) */ + #define R_CANFDL_CFDC2_FDSTS_SOC_Pos (24UL) /*!< SOC (Bit 24) */ + #define R_CANFDL_CFDC2_FDSTS_SOC_Msk (0xff000000UL) /*!< SOC (Bitfield-Mask: 0xff) */ +/* ========================================================= FDCRC ========================================================= */ + #define R_CANFDL_CFDC2_FDCRC_CRCREG_Pos (0UL) /*!< CRCREG (Bit 0) */ + #define R_CANFDL_CFDC2_FDCRC_CRCREG_Msk (0x1fffffUL) /*!< CRCREG (Bitfield-Mask: 0x1fffff) */ + #define R_CANFDL_CFDC2_FDCRC_SCNT_Pos (24UL) /*!< SCNT (Bit 24) */ + #define R_CANFDL_CFDC2_FDCRC_SCNT_Msk (0xf000000UL) /*!< SCNT (Bitfield-Mask: 0x0f) */ + +/* =========================================================================================================================== */ +/* ================ CFDGAFL ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== ID =========================================================== */ + #define R_CANFDL_CFDGAFL_ID_GAFLID_Pos (0UL) /*!< GAFLID (Bit 0) */ + #define R_CANFDL_CFDGAFL_ID_GAFLID_Msk (0x1fffffffUL) /*!< GAFLID (Bitfield-Mask: 0x1fffffff) */ + #define R_CANFDL_CFDGAFL_ID_GAFLLB_Pos (29UL) /*!< GAFLLB (Bit 29) */ + #define R_CANFDL_CFDGAFL_ID_GAFLLB_Msk (0x20000000UL) /*!< GAFLLB (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGAFL_ID_GAFLRTR_Pos (30UL) /*!< GAFLRTR (Bit 30) */ + #define R_CANFDL_CFDGAFL_ID_GAFLRTR_Msk (0x40000000UL) /*!< GAFLRTR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGAFL_ID_GAFLIDE_Pos (31UL) /*!< GAFLIDE (Bit 31) */ + #define R_CANFDL_CFDGAFL_ID_GAFLIDE_Msk (0x80000000UL) /*!< GAFLIDE (Bitfield-Mask: 0x01) */ +/* =========================================================== M =========================================================== */ + #define R_CANFDL_CFDGAFL_M_GAFLIDM_Pos (0UL) /*!< GAFLIDM (Bit 0) */ + #define R_CANFDL_CFDGAFL_M_GAFLIDM_Msk (0x1fffffffUL) /*!< GAFLIDM (Bitfield-Mask: 0x1fffffff) */ + #define R_CANFDL_CFDGAFL_M_GAFLIFL1_Pos (29UL) /*!< GAFLIFL1 (Bit 29) */ + #define R_CANFDL_CFDGAFL_M_GAFLIFL1_Msk (0x20000000UL) /*!< GAFLIFL1 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGAFL_M_GAFLRTRM_Pos (30UL) /*!< GAFLRTRM (Bit 30) */ + #define R_CANFDL_CFDGAFL_M_GAFLRTRM_Msk (0x40000000UL) /*!< GAFLRTRM (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGAFL_M_GAFLIDEM_Pos (31UL) /*!< GAFLIDEM (Bit 31) */ + #define R_CANFDL_CFDGAFL_M_GAFLIDEM_Msk (0x80000000UL) /*!< GAFLIDEM (Bitfield-Mask: 0x01) */ +/* ========================================================== P0 =========================================================== */ + #define R_CANFDL_CFDGAFL_P0_GAFLDLC_Pos (0UL) /*!< GAFLDLC (Bit 0) */ + #define R_CANFDL_CFDGAFL_P0_GAFLDLC_Msk (0xfUL) /*!< GAFLDLC (Bitfield-Mask: 0x0f) */ + #define R_CANFDL_CFDGAFL_P0_GAFLIFL0_Pos (7UL) /*!< GAFLIFL0 (Bit 7) */ + #define R_CANFDL_CFDGAFL_P0_GAFLIFL0_Msk (0x80UL) /*!< GAFLIFL0 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGAFL_P0_GAFLRMDP_Pos (8UL) /*!< GAFLRMDP (Bit 8) */ + #define R_CANFDL_CFDGAFL_P0_GAFLRMDP_Msk (0x1f00UL) /*!< GAFLRMDP (Bitfield-Mask: 0x1f) */ + #define R_CANFDL_CFDGAFL_P0_GAFLRMV_Pos (15UL) /*!< GAFLRMV (Bit 15) */ + #define R_CANFDL_CFDGAFL_P0_GAFLRMV_Msk (0x8000UL) /*!< GAFLRMV (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGAFL_P0_GAFLPTR_Pos (16UL) /*!< GAFLPTR (Bit 16) */ + #define R_CANFDL_CFDGAFL_P0_GAFLPTR_Msk (0xffff0000UL) /*!< GAFLPTR (Bitfield-Mask: 0xffff) */ +/* ========================================================== P1 =========================================================== */ + #define R_CANFDL_CFDGAFL_P1_GAFLFDP_Pos (0UL) /*!< GAFLFDP (Bit 0) */ + #define R_CANFDL_CFDGAFL_P1_GAFLFDP_Msk (0x1ffUL) /*!< GAFLFDP (Bitfield-Mask: 0x1ff) */ + +/* =========================================================================================================================== */ +/* ================ CFDTHL ================ */ +/* =========================================================================================================================== */ + +/* ========================================================= ACC0 ========================================================== */ + #define R_CANFDL_CFDTHL_ACC0_BT_Pos (0UL) /*!< BT (Bit 0) */ + #define R_CANFDL_CFDTHL_ACC0_BT_Msk (0x7UL) /*!< BT (Bitfield-Mask: 0x07) */ + #define R_CANFDL_CFDTHL_ACC0_BN_Pos (3UL) /*!< BN (Bit 3) */ + #define R_CANFDL_CFDTHL_ACC0_BN_Msk (0x3f8UL) /*!< BN (Bitfield-Mask: 0x7f) */ + #define R_CANFDL_CFDTHL_ACC0_TMTS_Pos (16UL) /*!< TMTS (Bit 16) */ + #define R_CANFDL_CFDTHL_ACC0_TMTS_Msk (0xffff0000UL) /*!< TMTS (Bitfield-Mask: 0xffff) */ +/* ========================================================= ACC1 ========================================================== */ + #define R_CANFDL_CFDTHL_ACC1_TID_Pos (0UL) /*!< TID (Bit 0) */ + #define R_CANFDL_CFDTHL_ACC1_TID_Msk (0xffffUL) /*!< TID (Bitfield-Mask: 0xffff) */ + #define R_CANFDL_CFDTHL_ACC1_TIFL_Pos (16UL) /*!< TIFL (Bit 16) */ + #define R_CANFDL_CFDTHL_ACC1_TIFL_Msk (0x30000UL) /*!< TIFL (Bitfield-Mask: 0x03) */ + +/* =========================================================================================================================== */ +/* ================ CFDRF ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== ID =========================================================== */ + #define R_CANFDL_CFDRF_ID_RFID_Pos (0UL) /*!< RFID (Bit 0) */ + #define R_CANFDL_CFDRF_ID_RFID_Msk (0x1fffffffUL) /*!< RFID (Bitfield-Mask: 0x1fffffff) */ + #define R_CANFDL_CFDRF_ID_RFRTR_Pos (30UL) /*!< RFRTR (Bit 30) */ + #define R_CANFDL_CFDRF_ID_RFRTR_Msk (0x40000000UL) /*!< RFRTR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRF_ID_RFIDE_Pos (31UL) /*!< RFIDE (Bit 31) */ + #define R_CANFDL_CFDRF_ID_RFIDE_Msk (0x80000000UL) /*!< RFIDE (Bitfield-Mask: 0x01) */ +/* ========================================================== PTR ========================================================== */ + #define R_CANFDL_CFDRF_PTR_RFTS_Pos (0UL) /*!< RFTS (Bit 0) */ + #define R_CANFDL_CFDRF_PTR_RFTS_Msk (0xffffUL) /*!< RFTS (Bitfield-Mask: 0xffff) */ + #define R_CANFDL_CFDRF_PTR_RFDLC_Pos (28UL) /*!< RFDLC (Bit 28) */ + #define R_CANFDL_CFDRF_PTR_RFDLC_Msk (0xf0000000UL) /*!< RFDLC (Bitfield-Mask: 0x0f) */ +/* ========================================================= FDSTS ========================================================= */ + #define R_CANFDL_CFDRF_FDSTS_RFESI_Pos (0UL) /*!< RFESI (Bit 0) */ + #define R_CANFDL_CFDRF_FDSTS_RFESI_Msk (0x1UL) /*!< RFESI (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRF_FDSTS_RFBRS_Pos (1UL) /*!< RFBRS (Bit 1) */ + #define R_CANFDL_CFDRF_FDSTS_RFBRS_Msk (0x2UL) /*!< RFBRS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRF_FDSTS_RFFDF_Pos (2UL) /*!< RFFDF (Bit 2) */ + #define R_CANFDL_CFDRF_FDSTS_RFFDF_Msk (0x4UL) /*!< RFFDF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRF_FDSTS_RFIFL_Pos (8UL) /*!< RFIFL (Bit 8) */ + #define R_CANFDL_CFDRF_FDSTS_RFIFL_Msk (0x300UL) /*!< RFIFL (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDRF_FDSTS_RFPTR_Pos (16UL) /*!< RFPTR (Bit 16) */ + #define R_CANFDL_CFDRF_FDSTS_RFPTR_Msk (0xffff0000UL) /*!< RFPTR (Bitfield-Mask: 0xffff) */ +/* ========================================================== DF =========================================================== */ + #define R_CANFDL_CFDRF_DF_RFDB_Pos (0UL) /*!< RFDB (Bit 0) */ + #define R_CANFDL_CFDRF_DF_RFDB_Msk (0xffUL) /*!< RFDB (Bitfield-Mask: 0xff) */ + +/* =========================================================================================================================== */ +/* ================ CFDCF ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== ID =========================================================== */ + #define R_CANFDL_CFDCF_ID_CFID_Pos (0UL) /*!< CFID (Bit 0) */ + #define R_CANFDL_CFDCF_ID_CFID_Msk (0x1fffffffUL) /*!< CFID (Bitfield-Mask: 0x1fffffff) */ + #define R_CANFDL_CFDCF_ID_CFRTR_Pos (30UL) /*!< CFRTR (Bit 30) */ + #define R_CANFDL_CFDCF_ID_CFRTR_Msk (0x40000000UL) /*!< CFRTR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCF_ID_CFIDE_Pos (31UL) /*!< CFIDE (Bit 31) */ + #define R_CANFDL_CFDCF_ID_CFIDE_Msk (0x80000000UL) /*!< CFIDE (Bitfield-Mask: 0x01) */ +/* ========================================================== PTR ========================================================== */ + #define R_CANFDL_CFDCF_PTR_CFTS_Pos (0UL) /*!< CFTS (Bit 0) */ + #define R_CANFDL_CFDCF_PTR_CFTS_Msk (0xffffUL) /*!< CFTS (Bitfield-Mask: 0xffff) */ + #define R_CANFDL_CFDCF_PTR_CFDLC_Pos (28UL) /*!< CFDLC (Bit 28) */ + #define R_CANFDL_CFDCF_PTR_CFDLC_Msk (0xf0000000UL) /*!< CFDLC (Bitfield-Mask: 0x0f) */ +/* ========================================================= FDSTS ========================================================= */ + #define R_CANFDL_CFDCF_FDSTS_CFESI_Pos (0UL) /*!< CFESI (Bit 0) */ + #define R_CANFDL_CFDCF_FDSTS_CFESI_Msk (0x1UL) /*!< CFESI (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCF_FDSTS_CFBRS_Pos (1UL) /*!< CFBRS (Bit 1) */ + #define R_CANFDL_CFDCF_FDSTS_CFBRS_Msk (0x2UL) /*!< CFBRS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCF_FDSTS_CFFDF_Pos (2UL) /*!< CFFDF (Bit 2) */ + #define R_CANFDL_CFDCF_FDSTS_CFFDF_Msk (0x4UL) /*!< CFFDF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCF_FDSTS_CFIFL_Pos (8UL) /*!< CFIFL (Bit 8) */ + #define R_CANFDL_CFDCF_FDSTS_CFIFL_Msk (0x300UL) /*!< CFIFL (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDCF_FDSTS_CFPTR_Pos (16UL) /*!< CFPTR (Bit 16) */ + #define R_CANFDL_CFDCF_FDSTS_CFPTR_Msk (0xffff0000UL) /*!< CFPTR (Bitfield-Mask: 0xffff) */ +/* ========================================================== DF =========================================================== */ + #define R_CANFDL_CFDCF_DF_CFDB_Pos (0UL) /*!< CFDB (Bit 0) */ + #define R_CANFDL_CFDCF_DF_CFDB_Msk (0xffUL) /*!< CFDB (Bitfield-Mask: 0xff) */ + +/* =========================================================================================================================== */ +/* ================ CFDTM ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== ID =========================================================== */ + #define R_CANFDL_CFDTM_ID_TMID_Pos (0UL) /*!< TMID (Bit 0) */ + #define R_CANFDL_CFDTM_ID_TMID_Msk (0x1fffffffUL) /*!< TMID (Bitfield-Mask: 0x1fffffff) */ + #define R_CANFDL_CFDTM_ID_TMRTR_Pos (30UL) /*!< TMRTR (Bit 30) */ + #define R_CANFDL_CFDTM_ID_TMRTR_Msk (0x40000000UL) /*!< TMRTR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTM_ID_TMIDE_Pos (31UL) /*!< TMIDE (Bit 31) */ + #define R_CANFDL_CFDTM_ID_TMIDE_Msk (0x80000000UL) /*!< TMIDE (Bitfield-Mask: 0x01) */ +/* ========================================================== PTR ========================================================== */ + #define R_CANFDL_CFDTM_PTR_TMTS_Pos (0UL) /*!< TMTS (Bit 0) */ + #define R_CANFDL_CFDTM_PTR_TMTS_Msk (0xffffUL) /*!< TMTS (Bitfield-Mask: 0xffff) */ + #define R_CANFDL_CFDTM_PTR_TMDLC_Pos (28UL) /*!< TMDLC (Bit 28) */ + #define R_CANFDL_CFDTM_PTR_TMDLC_Msk (0xf0000000UL) /*!< TMDLC (Bitfield-Mask: 0x0f) */ +/* ========================================================= FDCTR ========================================================= */ + #define R_CANFDL_CFDTM_FDCTR_TMESI_Pos (0UL) /*!< TMESI (Bit 0) */ + #define R_CANFDL_CFDTM_FDCTR_TMESI_Msk (0x1UL) /*!< TMESI (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTM_FDCTR_TMBRS_Pos (1UL) /*!< TMBRS (Bit 1) */ + #define R_CANFDL_CFDTM_FDCTR_TMBRS_Msk (0x2UL) /*!< TMBRS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTM_FDCTR_TMFDF_Pos (2UL) /*!< TMFDF (Bit 2) */ + #define R_CANFDL_CFDTM_FDCTR_TMFDF_Msk (0x4UL) /*!< TMFDF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTM_FDCTR_TMIFL_Pos (8UL) /*!< TMIFL (Bit 8) */ + #define R_CANFDL_CFDTM_FDCTR_TMIFL_Msk (0x300UL) /*!< TMIFL (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDTM_FDCTR_TMPTR_Pos (16UL) /*!< TMPTR (Bit 16) */ + #define R_CANFDL_CFDTM_FDCTR_TMPTR_Msk (0xffff0000UL) /*!< TMPTR (Bitfield-Mask: 0xffff) */ +/* ========================================================== DF =========================================================== */ + #define R_CANFDL_CFDTM_DF_TMDB_Pos (0UL) /*!< TMDB (Bit 0) */ + #define R_CANFDL_CFDTM_DF_TMDB_Msk (0xffUL) /*!< TMDB (Bitfield-Mask: 0xff) */ + +/* =========================================================================================================================== */ +/* ================ RM ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== ID =========================================================== */ + #define R_CANFDL_CFDRMC_RM_ID_RMID_Pos (0UL) /*!< RMID (Bit 0) */ + #define R_CANFDL_CFDRMC_RM_ID_RMID_Msk (0x1fffffffUL) /*!< RMID (Bitfield-Mask: 0x1fffffff) */ + #define R_CANFDL_CFDRMC_RM_ID_RMRTR_Pos (30UL) /*!< RMRTR (Bit 30) */ + #define R_CANFDL_CFDRMC_RM_ID_RMRTR_Msk (0x40000000UL) /*!< RMRTR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRMC_RM_ID_RMIDE_Pos (31UL) /*!< RMIDE (Bit 31) */ + #define R_CANFDL_CFDRMC_RM_ID_RMIDE_Msk (0x80000000UL) /*!< RMIDE (Bitfield-Mask: 0x01) */ +/* ========================================================== PTR ========================================================== */ + #define R_CANFDL_CFDRMC_RM_PTR_RMTS_Pos (0UL) /*!< RMTS (Bit 0) */ + #define R_CANFDL_CFDRMC_RM_PTR_RMTS_Msk (0xffffUL) /*!< RMTS (Bitfield-Mask: 0xffff) */ + #define R_CANFDL_CFDRMC_RM_PTR_RMDLC_Pos (28UL) /*!< RMDLC (Bit 28) */ + #define R_CANFDL_CFDRMC_RM_PTR_RMDLC_Msk (0xf0000000UL) /*!< RMDLC (Bitfield-Mask: 0x0f) */ +/* ========================================================= FDSTS ========================================================= */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMESI_Pos (0UL) /*!< RMESI (Bit 0) */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMESI_Msk (0x1UL) /*!< RMESI (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMBRS_Pos (1UL) /*!< RMBRS (Bit 1) */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMBRS_Msk (0x2UL) /*!< RMBRS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMFDF_Pos (2UL) /*!< RMFDF (Bit 2) */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMFDF_Msk (0x4UL) /*!< RMFDF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMIFL_Pos (8UL) /*!< RMIFL (Bit 8) */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMIFL_Msk (0x300UL) /*!< RMIFL (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMPTR_Pos (16UL) /*!< RMPTR (Bit 16) */ + #define R_CANFDL_CFDRMC_RM_FDSTS_RMPTR_Msk (0xffff0000UL) /*!< RMPTR (Bitfield-Mask: 0xffff) */ +/* ========================================================== DF =========================================================== */ + #define R_CANFDL_CFDRMC_RM_DF_RMDB_Pos (0UL) /*!< RMDB (Bit 0) */ + #define R_CANFDL_CFDRMC_RM_DF_RMDB_Msk (0xffUL) /*!< RMDB (Bitfield-Mask: 0xff) */ + +/* =========================================================================================================================== */ +/* ================ CFDRMC ================ */ +/* =========================================================================================================================== */ + /* =========================================================================================================================== */ /* ================ ELSEGR ================ */ /* =========================================================================================================================== */ @@ -25276,6 +33290,89 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_RTC_CP_RMON_MON1_Pos (0UL) /*!< MON1 (Bit 0) */ #define R_RTC_CP_RMON_MON1_Msk (0xfUL) /*!< MON1 (Bitfield-Mask: 0x0f) */ +/* =========================================================================================================================== */ +/* ================ CSa ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== MOD ========================================================== */ + #define R_BUS_B_CSa_MOD_PRMOD_Pos (15UL) /*!< PRMOD (Bit 15) */ + #define R_BUS_B_CSa_MOD_PRMOD_Msk (0x8000UL) /*!< PRMOD (Bitfield-Mask: 0x01) */ + #define R_BUS_B_CSa_MOD_PWENB_Pos (9UL) /*!< PWENB (Bit 9) */ + #define R_BUS_B_CSa_MOD_PWENB_Msk (0x200UL) /*!< PWENB (Bitfield-Mask: 0x01) */ + #define R_BUS_B_CSa_MOD_PRENB_Pos (8UL) /*!< PRENB (Bit 8) */ + #define R_BUS_B_CSa_MOD_PRENB_Msk (0x100UL) /*!< PRENB (Bitfield-Mask: 0x01) */ + #define R_BUS_B_CSa_MOD_EWENB_Pos (3UL) /*!< EWENB (Bit 3) */ + #define R_BUS_B_CSa_MOD_EWENB_Msk (0x8UL) /*!< EWENB (Bitfield-Mask: 0x01) */ + #define R_BUS_B_CSa_MOD_WRMOD_Pos (0UL) /*!< WRMOD (Bit 0) */ + #define R_BUS_B_CSa_MOD_WRMOD_Msk (0x1UL) /*!< WRMOD (Bitfield-Mask: 0x01) */ +/* ========================================================= WCR1 ========================================================== */ + #define R_BUS_B_CSa_WCR1_CSRWAIT_Pos (24UL) /*!< CSRWAIT (Bit 24) */ + #define R_BUS_B_CSa_WCR1_CSRWAIT_Msk (0x1f000000UL) /*!< CSRWAIT (Bitfield-Mask: 0x1f) */ + #define R_BUS_B_CSa_WCR1_CSWWAIT_Pos (16UL) /*!< CSWWAIT (Bit 16) */ + #define R_BUS_B_CSa_WCR1_CSWWAIT_Msk (0x1f0000UL) /*!< CSWWAIT (Bitfield-Mask: 0x1f) */ + #define R_BUS_B_CSa_WCR1_CSPRWAIT_Pos (8UL) /*!< CSPRWAIT (Bit 8) */ + #define R_BUS_B_CSa_WCR1_CSPRWAIT_Msk (0x700UL) /*!< CSPRWAIT (Bitfield-Mask: 0x07) */ + #define R_BUS_B_CSa_WCR1_CSPWWAIT_Pos (0UL) /*!< CSPWWAIT (Bit 0) */ + #define R_BUS_B_CSa_WCR1_CSPWWAIT_Msk (0x7UL) /*!< CSPWWAIT (Bitfield-Mask: 0x07) */ +/* ========================================================= WCR2 ========================================================== */ + #define R_BUS_B_CSa_WCR2_CSON_Pos (28UL) /*!< CSON (Bit 28) */ + #define R_BUS_B_CSa_WCR2_CSON_Msk (0x70000000UL) /*!< CSON (Bitfield-Mask: 0x07) */ + #define R_BUS_B_CSa_WCR2_WDON_Pos (24UL) /*!< WDON (Bit 24) */ + #define R_BUS_B_CSa_WCR2_WDON_Msk (0x7000000UL) /*!< WDON (Bitfield-Mask: 0x07) */ + #define R_BUS_B_CSa_WCR2_WRON_Pos (20UL) /*!< WRON (Bit 20) */ + #define R_BUS_B_CSa_WCR2_WRON_Msk (0x700000UL) /*!< WRON (Bitfield-Mask: 0x07) */ + #define R_BUS_B_CSa_WCR2_RDON_Pos (16UL) /*!< RDON (Bit 16) */ + #define R_BUS_B_CSa_WCR2_RDON_Msk (0x70000UL) /*!< RDON (Bitfield-Mask: 0x07) */ + #define R_BUS_B_CSa_WCR2_AWAIT_Pos (12UL) /*!< AWAIT (Bit 12) */ + #define R_BUS_B_CSa_WCR2_AWAIT_Msk (0x3000UL) /*!< AWAIT (Bitfield-Mask: 0x03) */ + #define R_BUS_B_CSa_WCR2_WDOFF_Pos (8UL) /*!< WDOFF (Bit 8) */ + #define R_BUS_B_CSa_WCR2_WDOFF_Msk (0x700UL) /*!< WDOFF (Bitfield-Mask: 0x07) */ + #define R_BUS_B_CSa_WCR2_CSWOFF_Pos (4UL) /*!< CSWOFF (Bit 4) */ + #define R_BUS_B_CSa_WCR2_CSWOFF_Msk (0x70UL) /*!< CSWOFF (Bitfield-Mask: 0x07) */ + #define R_BUS_B_CSa_WCR2_CSROFF_Pos (0UL) /*!< CSROFF (Bit 0) */ + #define R_BUS_B_CSa_WCR2_CSROFF_Msk (0x7UL) /*!< CSROFF (Bitfield-Mask: 0x07) */ + +/* =========================================================================================================================== */ +/* ================ CSb ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== CR =========================================================== */ + #define R_BUS_B_CSb_CR_MPXEN_Pos (12UL) /*!< MPXEN (Bit 12) */ + #define R_BUS_B_CSb_CR_MPXEN_Msk (0x1000UL) /*!< MPXEN (Bitfield-Mask: 0x01) */ + #define R_BUS_B_CSb_CR_EMODE_Pos (8UL) /*!< EMODE (Bit 8) */ + #define R_BUS_B_CSb_CR_EMODE_Msk (0x100UL) /*!< EMODE (Bitfield-Mask: 0x01) */ + #define R_BUS_B_CSb_CR_BSIZE_Pos (4UL) /*!< BSIZE (Bit 4) */ + #define R_BUS_B_CSb_CR_BSIZE_Msk (0x30UL) /*!< BSIZE (Bitfield-Mask: 0x03) */ + #define R_BUS_B_CSb_CR_EXENB_Pos (0UL) /*!< EXENB (Bit 0) */ + #define R_BUS_B_CSb_CR_EXENB_Msk (0x1UL) /*!< EXENB (Bitfield-Mask: 0x01) */ +/* ========================================================== REC ========================================================== */ + #define R_BUS_B_CSb_REC_WRCV_Pos (8UL) /*!< WRCV (Bit 8) */ + #define R_BUS_B_CSb_REC_WRCV_Msk (0xf00UL) /*!< WRCV (Bitfield-Mask: 0x0f) */ + #define R_BUS_B_CSb_REC_RRCV_Pos (0UL) /*!< RRCV (Bit 0) */ + #define R_BUS_B_CSb_REC_RRCV_Msk (0xfUL) /*!< RRCV (Bitfield-Mask: 0x0f) */ + +/* =========================================================================================================================== */ +/* ================ BUSERR ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== ADD ========================================================== */ + #define R_BUS_B_BUSERR_ADD_BERAD_Pos (0UL) /*!< BERAD (Bit 0) */ + #define R_BUS_B_BUSERR_ADD_BERAD_Msk (0xffffffffUL) /*!< BERAD (Bitfield-Mask: 0xffffffff) */ +/* ========================================================= ERRRW ========================================================= */ + #define R_BUS_B_BUSERR_ERRRW_RWSTAT_Pos (0UL) /*!< RWSTAT (Bit 0) */ + #define R_BUS_B_BUSERR_ERRRW_RWSTAT_Msk (0x1UL) /*!< RWSTAT (Bitfield-Mask: 0x01) */ + +/* =========================================================================================================================== */ +/* ================ BUSTZFERR ================ */ +/* =========================================================================================================================== */ + +/* ======================================================== TZFADD ========================================================= */ + #define R_BUS_B_BUSTZFERR_TZFADD_BTZFERAD_Pos (0UL) /*!< BTZFERAD (Bit 0) */ + #define R_BUS_B_BUSTZFERR_TZFADD_BTZFERAD_Msk (0xffffffffUL) /*!< BTZFERAD (Bitfield-Mask: 0xffffffff) */ +/* ======================================================= TZFERRRW ======================================================== */ + #define R_BUS_B_BUSTZFERR_TZFERRRW_TRWSTAT_Pos (0UL) /*!< TRWSTAT (Bit 0) */ + #define R_BUS_B_BUSTZFERR_TZFERRRW_TRWSTAT_Msk (0x1UL) /*!< TRWSTAT (Bitfield-Mask: 0x01) */ + /* =========================================================================================================================== */ /* ================ PIPE_TR ================ */ /* =========================================================================================================================== */ @@ -25504,6 +33601,9 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure /* ======================================================== ADSHMSR ======================================================== */ #define R_ADC0_ADSHMSR_SHMD_Pos (0UL) /*!< SHMD (Bit 0) */ #define R_ADC0_ADSHMSR_SHMD_Msk (0x1UL) /*!< SHMD (Bitfield-Mask: 0x01) */ +/* ======================================================== ADACSR ========================================================= */ + #define R_ADC0_ADACSR_ADSAC_Pos (1UL) /*!< ADSAC (Bit 1) */ + #define R_ADC0_ADACSR_ADSAC_Msk (0x2UL) /*!< ADSAC (Bitfield-Mask: 0x01) */ /* ======================================================== ADGSPCR ======================================================== */ #define R_ADC0_ADGSPCR_GBRP_Pos (15UL) /*!< GBRP (Bit 15) */ #define R_ADC0_ADGSPCR_GBRP_Msk (0x8000UL) /*!< GBRP (Bitfield-Mask: 0x01) */ @@ -25874,8 +33974,6 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure /* ======================================================= ADREFMON ======================================================== */ #define R_ADC0_ADREFMON_PGAMON_Pos (0UL) /*!< PGAMON (Bit 0) */ #define R_ADC0_ADREFMON_PGAMON_Msk (0x7UL) /*!< PGAMON (Bitfield-Mask: 0x07) */ - #define R_ADC0_ADREFMON_MONSEL_Pos (4UL) /*!< MONSEL (Bit 4) */ - #define R_ADC0_ADREFMON_MONSEL_Msk (0xf0UL) /*!< MONSEL (Bitfield-Mask: 0x0f) */ /* =========================================================================================================================== */ /* ================ R_PSCU ================ */ @@ -25941,6 +34039,8 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_PSCU_PSARC_PSARC12_Msk (0x1000UL) /*!< PSARC12 (Bitfield-Mask: 0x01) */ #define R_PSCU_PSARC_PSARC13_Pos (13UL) /*!< PSARC13 (Bit 13) */ #define R_PSCU_PSARC_PSARC13_Msk (0x2000UL) /*!< PSARC13 (Bitfield-Mask: 0x01) */ + #define R_PSCU_PSARC_PSARC20_Pos (20UL) /*!< PSARC20 (Bit 20) */ + #define R_PSCU_PSARC_PSARC20_Msk (0x100000UL) /*!< PSARC20 (Bitfield-Mask: 0x01) */ #define R_PSCU_PSARC_PSARC27_Pos (27UL) /*!< PSARC27 (Bit 27) */ #define R_PSCU_PSARC_PSARC27_Msk (0x8000000UL) /*!< PSARC27 (Bitfield-Mask: 0x01) */ #define R_PSCU_PSARC_PSARC31_Pos (31UL) /*!< PSARC31 (Bit 31) */ @@ -25966,10 +34066,20 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_PSCU_PSARD_PSARD15_Msk (0x8000UL) /*!< PSARD15 (Bitfield-Mask: 0x01) */ #define R_PSCU_PSARD_PSARD16_Pos (16UL) /*!< PSARD16 (Bit 16) */ #define R_PSCU_PSARD_PSARD16_Msk (0x10000UL) /*!< PSARD16 (Bitfield-Mask: 0x01) */ + #define R_PSCU_PSARD_PSARD19_Pos (19UL) /*!< PSARD19 (Bit 19) */ + #define R_PSCU_PSARD_PSARD19_Msk (0x80000UL) /*!< PSARD19 (Bitfield-Mask: 0x01) */ #define R_PSCU_PSARD_PSARD20_Pos (20UL) /*!< PSARD20 (Bit 20) */ #define R_PSCU_PSARD_PSARD20_Msk (0x100000UL) /*!< PSARD20 (Bitfield-Mask: 0x01) */ #define R_PSCU_PSARD_PSARD22_Pos (22UL) /*!< PSARD22 (Bit 22) */ #define R_PSCU_PSARD_PSARD22_Msk (0x400000UL) /*!< PSARD22 (Bitfield-Mask: 0x01) */ + #define R_PSCU_PSARD_PSARD25_Pos (25UL) /*!< PSARD25 (Bit 25) */ + #define R_PSCU_PSARD_PSARD25_Msk (0x2000000UL) /*!< PSARD25 (Bitfield-Mask: 0x01) */ + #define R_PSCU_PSARD_PSARD26_Pos (26UL) /*!< PSARD26 (Bit 26) */ + #define R_PSCU_PSARD_PSARD26_Msk (0x4000000UL) /*!< PSARD26 (Bitfield-Mask: 0x01) */ + #define R_PSCU_PSARD_PSARD27_Pos (27UL) /*!< PSARD27 (Bit 27) */ + #define R_PSCU_PSARD_PSARD27_Msk (0x8000000UL) /*!< PSARD27 (Bitfield-Mask: 0x01) */ + #define R_PSCU_PSARD_PSARD28_Pos (28UL) /*!< PSARD28 (Bit 28) */ + #define R_PSCU_PSARD_PSARD28_Msk (0x10000000UL) /*!< PSARD28 (Bitfield-Mask: 0x01) */ /* ========================================================= PSARE ========================================================= */ #define R_PSCU_PSARE_PSARE0_Pos (0UL) /*!< PSARE0 (Bit 0) */ #define R_PSCU_PSARE_PSARE0_Msk (0x1UL) /*!< PSARE0 (Bitfield-Mask: 0x01) */ @@ -26100,6 +34210,75 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_AGT0_AGTIOSEL_SEL_Pos (0UL) /*!< SEL (Bit 0) */ #define R_AGT0_AGTIOSEL_SEL_Msk (0x3UL) /*!< SEL (Bitfield-Mask: 0x03) */ +/* =========================================================================================================================== */ +/* ================ R_AGTW0 ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== AGT ========================================================== */ + #define R_AGTW0_AGT_AGT_Pos (0UL) /*!< AGT (Bit 0) */ + #define R_AGTW0_AGT_AGT_Msk (0xffffffffUL) /*!< AGT (Bitfield-Mask: 0xffffffff) */ +/* ======================================================== AGTCMA ========================================================= */ + #define R_AGTW0_AGTCMA_AGTCMA_Pos (0UL) /*!< AGTCMA (Bit 0) */ + #define R_AGTW0_AGTCMA_AGTCMA_Msk (0xffffffffUL) /*!< AGTCMA (Bitfield-Mask: 0xffffffff) */ +/* ======================================================== AGTCMB ========================================================= */ + #define R_AGTW0_AGTCMB_AGTCMB_Pos (0UL) /*!< AGTCMB (Bit 0) */ + #define R_AGTW0_AGTCMB_AGTCMB_Msk (0xffffffffUL) /*!< AGTCMB (Bitfield-Mask: 0xffffffff) */ +/* ========================================================= AGTCR ========================================================= */ + #define R_AGTW0_AGTCR_TCMBF_Pos (7UL) /*!< TCMBF (Bit 7) */ + #define R_AGTW0_AGTCR_TCMBF_Msk (0x80UL) /*!< TCMBF (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCR_TCMAF_Pos (6UL) /*!< TCMAF (Bit 6) */ + #define R_AGTW0_AGTCR_TCMAF_Msk (0x40UL) /*!< TCMAF (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCR_TUNDF_Pos (5UL) /*!< TUNDF (Bit 5) */ + #define R_AGTW0_AGTCR_TUNDF_Msk (0x20UL) /*!< TUNDF (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCR_TEDGF_Pos (4UL) /*!< TEDGF (Bit 4) */ + #define R_AGTW0_AGTCR_TEDGF_Msk (0x10UL) /*!< TEDGF (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCR_TSTOP_Pos (2UL) /*!< TSTOP (Bit 2) */ + #define R_AGTW0_AGTCR_TSTOP_Msk (0x4UL) /*!< TSTOP (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCR_TCSTF_Pos (1UL) /*!< TCSTF (Bit 1) */ + #define R_AGTW0_AGTCR_TCSTF_Msk (0x2UL) /*!< TCSTF (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCR_TSTART_Pos (0UL) /*!< TSTART (Bit 0) */ + #define R_AGTW0_AGTCR_TSTART_Msk (0x1UL) /*!< TSTART (Bitfield-Mask: 0x01) */ +/* ======================================================== AGTMR1 ========================================================= */ + #define R_AGTW0_AGTMR1_TCK_Pos (4UL) /*!< TCK (Bit 4) */ + #define R_AGTW0_AGTMR1_TCK_Msk (0x70UL) /*!< TCK (Bitfield-Mask: 0x07) */ + #define R_AGTW0_AGTMR1_TEDGPL_Pos (3UL) /*!< TEDGPL (Bit 3) */ + #define R_AGTW0_AGTMR1_TEDGPL_Msk (0x8UL) /*!< TEDGPL (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTMR1_TMOD_Pos (0UL) /*!< TMOD (Bit 0) */ + #define R_AGTW0_AGTMR1_TMOD_Msk (0x7UL) /*!< TMOD (Bitfield-Mask: 0x07) */ +/* ======================================================== AGTMR2 ========================================================= */ + #define R_AGTW0_AGTMR2_LPM_Pos (7UL) /*!< LPM (Bit 7) */ + #define R_AGTW0_AGTMR2_LPM_Msk (0x80UL) /*!< LPM (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTMR2_CKS_Pos (0UL) /*!< CKS (Bit 0) */ + #define R_AGTW0_AGTMR2_CKS_Msk (0x7UL) /*!< CKS (Bitfield-Mask: 0x07) */ +/* ======================================================== AGTIOC ========================================================= */ + #define R_AGTW0_AGTIOC_TIOGT_Pos (6UL) /*!< TIOGT (Bit 6) */ + #define R_AGTW0_AGTIOC_TIOGT_Msk (0xc0UL) /*!< TIOGT (Bitfield-Mask: 0x03) */ + #define R_AGTW0_AGTIOC_TIPF_Pos (4UL) /*!< TIPF (Bit 4) */ + #define R_AGTW0_AGTIOC_TIPF_Msk (0x30UL) /*!< TIPF (Bitfield-Mask: 0x03) */ + #define R_AGTW0_AGTIOC_TOE_Pos (2UL) /*!< TOE (Bit 2) */ + #define R_AGTW0_AGTIOC_TOE_Msk (0x4UL) /*!< TOE (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTIOC_TEDGSEL_Pos (0UL) /*!< TEDGSEL (Bit 0) */ + #define R_AGTW0_AGTIOC_TEDGSEL_Msk (0x1UL) /*!< TEDGSEL (Bitfield-Mask: 0x01) */ +/* ======================================================== AGTISR ========================================================= */ + #define R_AGTW0_AGTISR_EEPS_Pos (2UL) /*!< EEPS (Bit 2) */ + #define R_AGTW0_AGTISR_EEPS_Msk (0x4UL) /*!< EEPS (Bitfield-Mask: 0x01) */ +/* ======================================================== AGTCMSR ======================================================== */ + #define R_AGTW0_AGTCMSR_TOPOLB_Pos (6UL) /*!< TOPOLB (Bit 6) */ + #define R_AGTW0_AGTCMSR_TOPOLB_Msk (0x40UL) /*!< TOPOLB (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCMSR_TOEB_Pos (5UL) /*!< TOEB (Bit 5) */ + #define R_AGTW0_AGTCMSR_TOEB_Msk (0x20UL) /*!< TOEB (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCMSR_TCMEB_Pos (4UL) /*!< TCMEB (Bit 4) */ + #define R_AGTW0_AGTCMSR_TCMEB_Msk (0x10UL) /*!< TCMEB (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCMSR_TOPOLA_Pos (2UL) /*!< TOPOLA (Bit 2) */ + #define R_AGTW0_AGTCMSR_TOPOLA_Msk (0x4UL) /*!< TOPOLA (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCMSR_TOEA_Pos (1UL) /*!< TOEA (Bit 1) */ + #define R_AGTW0_AGTCMSR_TOEA_Msk (0x2UL) /*!< TOEA (Bitfield-Mask: 0x01) */ + #define R_AGTW0_AGTCMSR_TCMEA_Pos (0UL) /*!< TCMEA (Bit 0) */ + #define R_AGTW0_AGTCMSR_TCMEA_Msk (0x1UL) /*!< TCMEA (Bitfield-Mask: 0x01) */ +/* ======================================================= AGTIOSEL ======================================================== */ + #define R_AGTW0_AGTIOSEL_TIES_Pos (4UL) /*!< TIES (Bit 4) */ + #define R_AGTW0_AGTIOSEL_TIES_Msk (0x10UL) /*!< TIES (Bitfield-Mask: 0x01) */ + /* =========================================================================================================================== */ /* ================ R_BUS ================ */ /* =========================================================================================================================== */ @@ -27181,6 +35360,305 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_CANFD_CFDRPGACC_RDTA_Pos (0UL) /*!< RDTA (Bit 0) */ #define R_CANFD_CFDRPGACC_RDTA_Msk (0xffffffffUL) /*!< RDTA (Bitfield-Mask: 0xffffffff) */ +/* =========================================================================================================================== */ +/* ================ R_CANFDL ================ */ +/* =========================================================================================================================== */ + +/* ======================================================== CFDGCFG ======================================================== */ + #define R_CANFDL_CFDGCFG_TPRI_Pos (0UL) /*!< TPRI (Bit 0) */ + #define R_CANFDL_CFDGCFG_TPRI_Msk (0x1UL) /*!< TPRI (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCFG_DCE_Pos (1UL) /*!< DCE (Bit 1) */ + #define R_CANFDL_CFDGCFG_DCE_Msk (0x2UL) /*!< DCE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCFG_DRE_Pos (2UL) /*!< DRE (Bit 2) */ + #define R_CANFDL_CFDGCFG_DRE_Msk (0x4UL) /*!< DRE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCFG_MME_Pos (3UL) /*!< MME (Bit 3) */ + #define R_CANFDL_CFDGCFG_MME_Msk (0x8UL) /*!< MME (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCFG_DCS_Pos (4UL) /*!< DCS (Bit 4) */ + #define R_CANFDL_CFDGCFG_DCS_Msk (0x10UL) /*!< DCS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCFG_CMPOC_Pos (5UL) /*!< CMPOC (Bit 5) */ + #define R_CANFDL_CFDGCFG_CMPOC_Msk (0x20UL) /*!< CMPOC (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCFG_TSP_Pos (8UL) /*!< TSP (Bit 8) */ + #define R_CANFDL_CFDGCFG_TSP_Msk (0xf00UL) /*!< TSP (Bitfield-Mask: 0x0f) */ + #define R_CANFDL_CFDGCFG_TSSS_Pos (12UL) /*!< TSSS (Bit 12) */ + #define R_CANFDL_CFDGCFG_TSSS_Msk (0x1000UL) /*!< TSSS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCFG_ITRCP_Pos (16UL) /*!< ITRCP (Bit 16) */ + #define R_CANFDL_CFDGCFG_ITRCP_Msk (0xffff0000UL) /*!< ITRCP (Bitfield-Mask: 0xffff) */ +/* ======================================================== CFDGCTR ======================================================== */ + #define R_CANFDL_CFDGCTR_GMDC_Pos (0UL) /*!< GMDC (Bit 0) */ + #define R_CANFDL_CFDGCTR_GMDC_Msk (0x3UL) /*!< GMDC (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDGCTR_GSLPR_Pos (2UL) /*!< GSLPR (Bit 2) */ + #define R_CANFDL_CFDGCTR_GSLPR_Msk (0x4UL) /*!< GSLPR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCTR_DEIE_Pos (8UL) /*!< DEIE (Bit 8) */ + #define R_CANFDL_CFDGCTR_DEIE_Msk (0x100UL) /*!< DEIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCTR_MEIE_Pos (9UL) /*!< MEIE (Bit 9) */ + #define R_CANFDL_CFDGCTR_MEIE_Msk (0x200UL) /*!< MEIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCTR_THLEIE_Pos (10UL) /*!< THLEIE (Bit 10) */ + #define R_CANFDL_CFDGCTR_THLEIE_Msk (0x400UL) /*!< THLEIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCTR_CMPOFIE_Pos (11UL) /*!< CMPOFIE (Bit 11) */ + #define R_CANFDL_CFDGCTR_CMPOFIE_Msk (0x800UL) /*!< CMPOFIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGCTR_TSRST_Pos (16UL) /*!< TSRST (Bit 16) */ + #define R_CANFDL_CFDGCTR_TSRST_Msk (0x10000UL) /*!< TSRST (Bitfield-Mask: 0x01) */ +/* ======================================================== CFDGSTS ======================================================== */ + #define R_CANFDL_CFDGSTS_GRSTSTS_Pos (0UL) /*!< GRSTSTS (Bit 0) */ + #define R_CANFDL_CFDGSTS_GRSTSTS_Msk (0x1UL) /*!< GRSTSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGSTS_GHLTSTS_Pos (1UL) /*!< GHLTSTS (Bit 1) */ + #define R_CANFDL_CFDGSTS_GHLTSTS_Msk (0x2UL) /*!< GHLTSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGSTS_GSLPSTS_Pos (2UL) /*!< GSLPSTS (Bit 2) */ + #define R_CANFDL_CFDGSTS_GSLPSTS_Msk (0x4UL) /*!< GSLPSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGSTS_GRAMINIT_Pos (3UL) /*!< GRAMINIT (Bit 3) */ + #define R_CANFDL_CFDGSTS_GRAMINIT_Msk (0x8UL) /*!< GRAMINIT (Bitfield-Mask: 0x01) */ +/* ======================================================= CFDGERFL ======================================================== */ + #define R_CANFDL_CFDGERFL_DEF_Pos (0UL) /*!< DEF (Bit 0) */ + #define R_CANFDL_CFDGERFL_DEF_Msk (0x1UL) /*!< DEF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGERFL_MES_Pos (1UL) /*!< MES (Bit 1) */ + #define R_CANFDL_CFDGERFL_MES_Msk (0x2UL) /*!< MES (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGERFL_THLES_Pos (2UL) /*!< THLES (Bit 2) */ + #define R_CANFDL_CFDGERFL_THLES_Msk (0x4UL) /*!< THLES (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGERFL_CMPOF_Pos (3UL) /*!< CMPOF (Bit 3) */ + #define R_CANFDL_CFDGERFL_CMPOF_Msk (0x8UL) /*!< CMPOF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGERFL_EEF0_Pos (16UL) /*!< EEF0 (Bit 16) */ + #define R_CANFDL_CFDGERFL_EEF0_Msk (0x10000UL) /*!< EEF0 (Bitfield-Mask: 0x01) */ +/* ======================================================== CFDGTSC ======================================================== */ + #define R_CANFDL_CFDGTSC_TS_Pos (0UL) /*!< TS (Bit 0) */ + #define R_CANFDL_CFDGTSC_TS_Msk (0xffffUL) /*!< TS (Bitfield-Mask: 0xffff) */ +/* ====================================================== CFDGAFLECTR ====================================================== */ + #define R_CANFDL_CFDGAFLECTR_AFLPN_Pos (0UL) /*!< AFLPN (Bit 0) */ + #define R_CANFDL_CFDGAFLECTR_AFLPN_Msk (0xfUL) /*!< AFLPN (Bitfield-Mask: 0x0f) */ + #define R_CANFDL_CFDGAFLECTR_AFLDAE_Pos (8UL) /*!< AFLDAE (Bit 8) */ + #define R_CANFDL_CFDGAFLECTR_AFLDAE_Msk (0x100UL) /*!< AFLDAE (Bitfield-Mask: 0x01) */ +/* ====================================================== CFDGAFLCFG0 ====================================================== */ + #define R_CANFDL_CFDGAFLCFG0_RNC1_Pos (0UL) /*!< RNC1 (Bit 0) */ + #define R_CANFDL_CFDGAFLCFG0_RNC1_Msk (0x1ffUL) /*!< RNC1 (Bitfield-Mask: 0x1ff) */ + #define R_CANFDL_CFDGAFLCFG0_RNC0_Pos (16UL) /*!< RNC0 (Bit 16) */ + #define R_CANFDL_CFDGAFLCFG0_RNC0_Msk (0x1ff0000UL) /*!< RNC0 (Bitfield-Mask: 0x1ff) */ +/* ======================================================== CFDRMNB ======================================================== */ + #define R_CANFDL_CFDRMNB_NRXMB_Pos (0UL) /*!< NRXMB (Bit 0) */ + #define R_CANFDL_CFDRMNB_NRXMB_Msk (0xffUL) /*!< NRXMB (Bitfield-Mask: 0xff) */ + #define R_CANFDL_CFDRMNB_RMPLS_Pos (8UL) /*!< RMPLS (Bit 8) */ + #define R_CANFDL_CFDRMNB_RMPLS_Msk (0x700UL) /*!< RMPLS (Bitfield-Mask: 0x07) */ +/* ======================================================= CFDRMND0 ======================================================== */ + #define R_CANFDL_CFDRMND0_RMNSu_Pos (0UL) /*!< RMNSu (Bit 0) */ + #define R_CANFDL_CFDRMND0_RMNSu_Msk (0xffffffffUL) /*!< RMNSu (Bitfield-Mask: 0xffffffff) */ +/* ======================================================= CFDRMIEC ======================================================== */ + #define R_CANFDL_CFDRMIEC_RMIE_Pos (0UL) /*!< RMIE (Bit 0) */ + #define R_CANFDL_CFDRMIEC_RMIE_Msk (0xffffffffUL) /*!< RMIE (Bitfield-Mask: 0xffffffff) */ +/* ======================================================== CFDRFCC ======================================================== */ + #define R_CANFDL_CFDRFCC_RFE_Pos (0UL) /*!< RFE (Bit 0) */ + #define R_CANFDL_CFDRFCC_RFE_Msk (0x1UL) /*!< RFE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRFCC_RFIE_Pos (1UL) /*!< RFIE (Bit 1) */ + #define R_CANFDL_CFDRFCC_RFIE_Msk (0x2UL) /*!< RFIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRFCC_RFPLS_Pos (4UL) /*!< RFPLS (Bit 4) */ + #define R_CANFDL_CFDRFCC_RFPLS_Msk (0x70UL) /*!< RFPLS (Bitfield-Mask: 0x07) */ + #define R_CANFDL_CFDRFCC_RFDC_Pos (8UL) /*!< RFDC (Bit 8) */ + #define R_CANFDL_CFDRFCC_RFDC_Msk (0x700UL) /*!< RFDC (Bitfield-Mask: 0x07) */ + #define R_CANFDL_CFDRFCC_RFIM_Pos (12UL) /*!< RFIM (Bit 12) */ + #define R_CANFDL_CFDRFCC_RFIM_Msk (0x1000UL) /*!< RFIM (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRFCC_RFIGCV_Pos (13UL) /*!< RFIGCV (Bit 13) */ + #define R_CANFDL_CFDRFCC_RFIGCV_Msk (0xe000UL) /*!< RFIGCV (Bitfield-Mask: 0x07) */ +/* ======================================================= CFDRFSTS ======================================================== */ + #define R_CANFDL_CFDRFSTS_RFEMP_Pos (0UL) /*!< RFEMP (Bit 0) */ + #define R_CANFDL_CFDRFSTS_RFEMP_Msk (0x1UL) /*!< RFEMP (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRFSTS_RFFLL_Pos (1UL) /*!< RFFLL (Bit 1) */ + #define R_CANFDL_CFDRFSTS_RFFLL_Msk (0x2UL) /*!< RFFLL (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRFSTS_RFMLT_Pos (2UL) /*!< RFMLT (Bit 2) */ + #define R_CANFDL_CFDRFSTS_RFMLT_Msk (0x4UL) /*!< RFMLT (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRFSTS_RFIF_Pos (3UL) /*!< RFIF (Bit 3) */ + #define R_CANFDL_CFDRFSTS_RFIF_Msk (0x8UL) /*!< RFIF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDRFSTS_RFMC_Pos (8UL) /*!< RFMC (Bit 8) */ + #define R_CANFDL_CFDRFSTS_RFMC_Msk (0xff00UL) /*!< RFMC (Bitfield-Mask: 0xff) */ +/* ======================================================= CFDRFPCTR ======================================================= */ + #define R_CANFDL_CFDRFPCTR_RFPC_Pos (0UL) /*!< RFPC (Bit 0) */ + #define R_CANFDL_CFDRFPCTR_RFPC_Msk (0xffUL) /*!< RFPC (Bitfield-Mask: 0xff) */ +/* ======================================================== CFDCFCC ======================================================== */ + #define R_CANFDL_CFDCFCC_CFE_Pos (0UL) /*!< CFE (Bit 0) */ + #define R_CANFDL_CFDCFCC_CFE_Msk (0x1UL) /*!< CFE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFCC_CFRXIE_Pos (1UL) /*!< CFRXIE (Bit 1) */ + #define R_CANFDL_CFDCFCC_CFRXIE_Msk (0x2UL) /*!< CFRXIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFCC_CFTXIE_Pos (2UL) /*!< CFTXIE (Bit 2) */ + #define R_CANFDL_CFDCFCC_CFTXIE_Msk (0x4UL) /*!< CFTXIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFCC_CFPLS_Pos (4UL) /*!< CFPLS (Bit 4) */ + #define R_CANFDL_CFDCFCC_CFPLS_Msk (0x70UL) /*!< CFPLS (Bitfield-Mask: 0x07) */ + #define R_CANFDL_CFDCFCC_CFM_Pos (8UL) /*!< CFM (Bit 8) */ + #define R_CANFDL_CFDCFCC_CFM_Msk (0x300UL) /*!< CFM (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDCFCC_CFITSS_Pos (10UL) /*!< CFITSS (Bit 10) */ + #define R_CANFDL_CFDCFCC_CFITSS_Msk (0x400UL) /*!< CFITSS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFCC_CFITR_Pos (11UL) /*!< CFITR (Bit 11) */ + #define R_CANFDL_CFDCFCC_CFITR_Msk (0x800UL) /*!< CFITR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFCC_CFIM_Pos (12UL) /*!< CFIM (Bit 12) */ + #define R_CANFDL_CFDCFCC_CFIM_Msk (0x1000UL) /*!< CFIM (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFCC_CFIGCV_Pos (13UL) /*!< CFIGCV (Bit 13) */ + #define R_CANFDL_CFDCFCC_CFIGCV_Msk (0xe000UL) /*!< CFIGCV (Bitfield-Mask: 0x07) */ + #define R_CANFDL_CFDCFCC_CFTML_Pos (16UL) /*!< CFTML (Bit 16) */ + #define R_CANFDL_CFDCFCC_CFTML_Msk (0x1f0000UL) /*!< CFTML (Bitfield-Mask: 0x1f) */ + #define R_CANFDL_CFDCFCC_CFDC_Pos (21UL) /*!< CFDC (Bit 21) */ + #define R_CANFDL_CFDCFCC_CFDC_Msk (0xe00000UL) /*!< CFDC (Bitfield-Mask: 0x07) */ + #define R_CANFDL_CFDCFCC_CFITT_Pos (24UL) /*!< CFITT (Bit 24) */ + #define R_CANFDL_CFDCFCC_CFITT_Msk (0xff000000UL) /*!< CFITT (Bitfield-Mask: 0xff) */ +/* ======================================================= CFDCFSTS ======================================================== */ + #define R_CANFDL_CFDCFSTS_CFEMP_Pos (0UL) /*!< CFEMP (Bit 0) */ + #define R_CANFDL_CFDCFSTS_CFEMP_Msk (0x1UL) /*!< CFEMP (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFSTS_CFFLL_Pos (1UL) /*!< CFFLL (Bit 1) */ + #define R_CANFDL_CFDCFSTS_CFFLL_Msk (0x2UL) /*!< CFFLL (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFSTS_CFMLT_Pos (2UL) /*!< CFMLT (Bit 2) */ + #define R_CANFDL_CFDCFSTS_CFMLT_Msk (0x4UL) /*!< CFMLT (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFSTS_CFRXIF_Pos (3UL) /*!< CFRXIF (Bit 3) */ + #define R_CANFDL_CFDCFSTS_CFRXIF_Msk (0x8UL) /*!< CFRXIF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFSTS_CFTXIF_Pos (4UL) /*!< CFTXIF (Bit 4) */ + #define R_CANFDL_CFDCFSTS_CFTXIF_Msk (0x10UL) /*!< CFTXIF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCFSTS_CFMC_Pos (8UL) /*!< CFMC (Bit 8) */ + #define R_CANFDL_CFDCFSTS_CFMC_Msk (0xff00UL) /*!< CFMC (Bitfield-Mask: 0xff) */ +/* ======================================================= CFDCFPCTR ======================================================= */ + #define R_CANFDL_CFDCFPCTR_CFPC_Pos (0UL) /*!< CFPC (Bit 0) */ + #define R_CANFDL_CFDCFPCTR_CFPC_Msk (0xffUL) /*!< CFPC (Bitfield-Mask: 0xff) */ +/* ======================================================= CFDFESTS ======================================================== */ + #define R_CANFDL_CFDFESTS_RFXEMP_Pos (0UL) /*!< RFXEMP (Bit 0) */ + #define R_CANFDL_CFDFESTS_RFXEMP_Msk (0x3UL) /*!< RFXEMP (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDFESTS_CFXEMP_Pos (8UL) /*!< CFXEMP (Bit 8) */ + #define R_CANFDL_CFDFESTS_CFXEMP_Msk (0x100UL) /*!< CFXEMP (Bitfield-Mask: 0x01) */ +/* ======================================================= CFDFFSTS ======================================================== */ + #define R_CANFDL_CFDFFSTS_RFXFLL_Pos (0UL) /*!< RFXFLL (Bit 0) */ + #define R_CANFDL_CFDFFSTS_RFXFLL_Msk (0x3UL) /*!< RFXFLL (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDFFSTS_CFXFLL_Pos (8UL) /*!< CFXFLL (Bit 8) */ + #define R_CANFDL_CFDFFSTS_CFXFLL_Msk (0x100UL) /*!< CFXFLL (Bitfield-Mask: 0x01) */ +/* ======================================================= CFDFMSTS ======================================================== */ + #define R_CANFDL_CFDFMSTS_RFXMLT_Pos (0UL) /*!< RFXMLT (Bit 0) */ + #define R_CANFDL_CFDFMSTS_RFXMLT_Msk (0x3UL) /*!< RFXMLT (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDFMSTS_CFXMLT_Pos (8UL) /*!< CFXMLT (Bit 8) */ + #define R_CANFDL_CFDFMSTS_CFXMLT_Msk (0x100UL) /*!< CFXMLT (Bitfield-Mask: 0x01) */ +/* ======================================================= CFDRFISTS ======================================================= */ + #define R_CANFDL_CFDRFISTS_RFXIF_Pos (0UL) /*!< RFXIF (Bit 0) */ + #define R_CANFDL_CFDRFISTS_RFXIF_Msk (0x1UL) /*!< RFXIF (Bitfield-Mask: 0x01) */ +/* ======================================================== CFDTMC ========================================================= */ + #define R_CANFDL_CFDTMC_TMTR_Pos (0UL) /*!< TMTR (Bit 0) */ + #define R_CANFDL_CFDTMC_TMTR_Msk (0x1UL) /*!< TMTR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTMC_TMTAR_Pos (1UL) /*!< TMTAR (Bit 1) */ + #define R_CANFDL_CFDTMC_TMTAR_Msk (0x2UL) /*!< TMTAR (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTMC_TMOM_Pos (2UL) /*!< TMOM (Bit 2) */ + #define R_CANFDL_CFDTMC_TMOM_Msk (0x4UL) /*!< TMOM (Bitfield-Mask: 0x01) */ +/* ======================================================= CFDTMSTS ======================================================== */ + #define R_CANFDL_CFDTMSTS_TMTSTS_Pos (0UL) /*!< TMTSTS (Bit 0) */ + #define R_CANFDL_CFDTMSTS_TMTSTS_Msk (0x1UL) /*!< TMTSTS (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTMSTS_TMTRF_Pos (1UL) /*!< TMTRF (Bit 1) */ + #define R_CANFDL_CFDTMSTS_TMTRF_Msk (0x6UL) /*!< TMTRF (Bitfield-Mask: 0x03) */ + #define R_CANFDL_CFDTMSTS_TMTRM_Pos (3UL) /*!< TMTRM (Bit 3) */ + #define R_CANFDL_CFDTMSTS_TMTRM_Msk (0x8UL) /*!< TMTRM (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTMSTS_TMTARM_Pos (4UL) /*!< TMTARM (Bit 4) */ + #define R_CANFDL_CFDTMSTS_TMTARM_Msk (0x10UL) /*!< TMTARM (Bitfield-Mask: 0x01) */ +/* ====================================================== CFDTMTRSTS ======================================================= */ + #define R_CANFDL_CFDTMTRSTS_CFDTMTRSTSg_Pos (0UL) /*!< CFDTMTRSTSg (Bit 0) */ + #define R_CANFDL_CFDTMTRSTS_CFDTMTRSTSg_Msk (0xfUL) /*!< CFDTMTRSTSg (Bitfield-Mask: 0x0f) */ +/* ====================================================== CFDTMTARSTS ====================================================== */ + #define R_CANFDL_CFDTMTARSTS_CFDTMTARSTSg_Pos (0UL) /*!< CFDTMTARSTSg (Bit 0) */ + #define R_CANFDL_CFDTMTARSTS_CFDTMTARSTSg_Msk (0xfUL) /*!< CFDTMTARSTSg (Bitfield-Mask: 0x0f) */ +/* ====================================================== CFDTMTCSTS ======================================================= */ + #define R_CANFDL_CFDTMTCSTS_CFDTMTCSTSg_Pos (0UL) /*!< CFDTMTCSTSg (Bit 0) */ + #define R_CANFDL_CFDTMTCSTS_CFDTMTCSTSg_Msk (0xfUL) /*!< CFDTMTCSTSg (Bitfield-Mask: 0x0f) */ +/* ====================================================== CFDTMTASTS ======================================================= */ + #define R_CANFDL_CFDTMTASTS_CFDTMTASTSg_Pos (0UL) /*!< CFDTMTASTSg (Bit 0) */ + #define R_CANFDL_CFDTMTASTS_CFDTMTASTSg_Msk (0xfUL) /*!< CFDTMTASTSg (Bitfield-Mask: 0x0f) */ +/* ======================================================= CFDTMIEC ======================================================== */ + #define R_CANFDL_CFDTMIEC_TMIEg_Pos (0UL) /*!< TMIEg (Bit 0) */ + #define R_CANFDL_CFDTMIEC_TMIEg_Msk (0xfUL) /*!< TMIEg (Bitfield-Mask: 0x0f) */ +/* ======================================================= CFDTXQCC0 ======================================================= */ + #define R_CANFDL_CFDTXQCC0_TXQE_Pos (0UL) /*!< TXQE (Bit 0) */ + #define R_CANFDL_CFDTXQCC0_TXQE_Msk (0x1UL) /*!< TXQE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTXQCC0_TXQTXIE_Pos (5UL) /*!< TXQTXIE (Bit 5) */ + #define R_CANFDL_CFDTXQCC0_TXQTXIE_Msk (0x20UL) /*!< TXQTXIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTXQCC0_TXQIM_Pos (7UL) /*!< TXQIM (Bit 7) */ + #define R_CANFDL_CFDTXQCC0_TXQIM_Msk (0x80UL) /*!< TXQIM (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTXQCC0_TXQDC_Pos (8UL) /*!< TXQDC (Bit 8) */ + #define R_CANFDL_CFDTXQCC0_TXQDC_Msk (0x300UL) /*!< TXQDC (Bitfield-Mask: 0x03) */ +/* ====================================================== CFDTXQSTS0 ======================================================= */ + #define R_CANFDL_CFDTXQSTS0_TXQEMP_Pos (0UL) /*!< TXQEMP (Bit 0) */ + #define R_CANFDL_CFDTXQSTS0_TXQEMP_Msk (0x1UL) /*!< TXQEMP (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTXQSTS0_TXQFLL_Pos (1UL) /*!< TXQFLL (Bit 1) */ + #define R_CANFDL_CFDTXQSTS0_TXQFLL_Msk (0x2UL) /*!< TXQFLL (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTXQSTS0_TXQTXIF_Pos (2UL) /*!< TXQTXIF (Bit 2) */ + #define R_CANFDL_CFDTXQSTS0_TXQTXIF_Msk (0x4UL) /*!< TXQTXIF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTXQSTS0_TXQMC_Pos (8UL) /*!< TXQMC (Bit 8) */ + #define R_CANFDL_CFDTXQSTS0_TXQMC_Msk (0x3f00UL) /*!< TXQMC (Bitfield-Mask: 0x3f) */ +/* ====================================================== CFDTXQPCTR0 ====================================================== */ + #define R_CANFDL_CFDTXQPCTR0_TXQPC_Pos (0UL) /*!< TXQPC (Bit 0) */ + #define R_CANFDL_CFDTXQPCTR0_TXQPC_Msk (0xffUL) /*!< TXQPC (Bitfield-Mask: 0xff) */ +/* ======================================================= CFDTHLCC ======================================================== */ + #define R_CANFDL_CFDTHLCC_THLE_Pos (0UL) /*!< THLE (Bit 0) */ + #define R_CANFDL_CFDTHLCC_THLE_Msk (0x1UL) /*!< THLE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTHLCC_THLIE_Pos (8UL) /*!< THLIE (Bit 8) */ + #define R_CANFDL_CFDTHLCC_THLIE_Msk (0x100UL) /*!< THLIE (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTHLCC_THLIM_Pos (9UL) /*!< THLIM (Bit 9) */ + #define R_CANFDL_CFDTHLCC_THLIM_Msk (0x200UL) /*!< THLIM (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTHLCC_THLDTE_Pos (10UL) /*!< THLDTE (Bit 10) */ + #define R_CANFDL_CFDTHLCC_THLDTE_Msk (0x400UL) /*!< THLDTE (Bitfield-Mask: 0x01) */ +/* ======================================================= CFDTHLSTS ======================================================= */ + #define R_CANFDL_CFDTHLSTS_THLEMP_Pos (0UL) /*!< THLEMP (Bit 0) */ + #define R_CANFDL_CFDTHLSTS_THLEMP_Msk (0x1UL) /*!< THLEMP (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTHLSTS_THLFLL_Pos (1UL) /*!< THLFLL (Bit 1) */ + #define R_CANFDL_CFDTHLSTS_THLFLL_Msk (0x2UL) /*!< THLFLL (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTHLSTS_THLELT_Pos (2UL) /*!< THLELT (Bit 2) */ + #define R_CANFDL_CFDTHLSTS_THLELT_Msk (0x4UL) /*!< THLELT (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTHLSTS_THLIF_Pos (3UL) /*!< THLIF (Bit 3) */ + #define R_CANFDL_CFDTHLSTS_THLIF_Msk (0x8UL) /*!< THLIF (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDTHLSTS_THLMC_Pos (8UL) /*!< THLMC (Bit 8) */ + #define R_CANFDL_CFDTHLSTS_THLMC_Msk (0x3f00UL) /*!< THLMC (Bitfield-Mask: 0x3f) */ +/* ====================================================== CFDTHLPCTR ======================================================= */ + #define R_CANFDL_CFDTHLPCTR_THLPC_Pos (0UL) /*!< THLPC (Bit 0) */ + #define R_CANFDL_CFDTHLPCTR_THLPC_Msk (0xffUL) /*!< THLPC (Bitfield-Mask: 0xff) */ +/* ===================================================== CFDGTINTSTS0 ====================================================== */ + #define R_CANFDL_CFDGTINTSTS0_TSIF0_Pos (0UL) /*!< TSIF0 (Bit 0) */ + #define R_CANFDL_CFDGTINTSTS0_TSIF0_Msk (0x1UL) /*!< TSIF0 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGTINTSTS0_TAIF0_Pos (1UL) /*!< TAIF0 (Bit 1) */ + #define R_CANFDL_CFDGTINTSTS0_TAIF0_Msk (0x2UL) /*!< TAIF0 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGTINTSTS0_TQIF0_Pos (2UL) /*!< TQIF0 (Bit 2) */ + #define R_CANFDL_CFDGTINTSTS0_TQIF0_Msk (0x4UL) /*!< TQIF0 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGTINTSTS0_CFTIF0_Pos (3UL) /*!< CFTIF0 (Bit 3) */ + #define R_CANFDL_CFDGTINTSTS0_CFTIF0_Msk (0x8UL) /*!< CFTIF0 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGTINTSTS0_THIF0_Pos (4UL) /*!< THIF0 (Bit 4) */ + #define R_CANFDL_CFDGTINTSTS0_THIF0_Msk (0x10UL) /*!< THIF0 (Bitfield-Mask: 0x01) */ +/* ====================================================== CFDGTSTCFG ======================================================= */ + #define R_CANFDL_CFDGTSTCFG_RTMPS_Pos (16UL) /*!< RTMPS (Bit 16) */ + #define R_CANFDL_CFDGTSTCFG_RTMPS_Msk (0x3ff0000UL) /*!< RTMPS (Bitfield-Mask: 0x3ff) */ +/* ====================================================== CFDGTSTCTR ======================================================= */ + #define R_CANFDL_CFDGTSTCTR_RTME_Pos (2UL) /*!< RTME (Bit 2) */ + #define R_CANFDL_CFDGTSTCTR_RTME_Msk (0x4UL) /*!< RTME (Bitfield-Mask: 0x01) */ +/* ======================================================= CFDGFDCFG ======================================================= */ + #define R_CANFDL_CFDGFDCFG_RPED_Pos (0UL) /*!< RPED (Bit 0) */ + #define R_CANFDL_CFDGFDCFG_RPED_Msk (0x1UL) /*!< RPED (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGFDCFG_TSCCFG_Pos (8UL) /*!< TSCCFG (Bit 8) */ + #define R_CANFDL_CFDGFDCFG_TSCCFG_Msk (0x300UL) /*!< TSCCFG (Bitfield-Mask: 0x03) */ +/* ======================================================= CFDGLOCKK ======================================================= */ + #define R_CANFDL_CFDGLOCKK_LOCK_Pos (0UL) /*!< LOCK (Bit 0) */ + #define R_CANFDL_CFDGLOCKK_LOCK_Msk (0xffffUL) /*!< LOCK (Bitfield-Mask: 0xffff) */ +/* ===================================================== CFDGAFLIGNENT ===================================================== */ + #define R_CANFDL_CFDGAFLIGNENT_IRN_Pos (0UL) /*!< IRN (Bit 0) */ + #define R_CANFDL_CFDGAFLIGNENT_IRN_Msk (0x1fUL) /*!< IRN (Bitfield-Mask: 0x1f) */ +/* ===================================================== CFDGAFLIGNCTR ===================================================== */ + #define R_CANFDL_CFDGAFLIGNCTR_IREN_Pos (0UL) /*!< IREN (Bit 0) */ + #define R_CANFDL_CFDGAFLIGNCTR_IREN_Msk (0x1UL) /*!< IREN (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGAFLIGNCTR_KEY_Pos (8UL) /*!< KEY (Bit 8) */ + #define R_CANFDL_CFDGAFLIGNCTR_KEY_Msk (0xff00UL) /*!< KEY (Bitfield-Mask: 0xff) */ +/* ======================================================= CFDCDTCT ======================================================== */ + #define R_CANFDL_CFDCDTCT_RFDMAE0_Pos (0UL) /*!< RFDMAE0 (Bit 0) */ + #define R_CANFDL_CFDCDTCT_RFDMAE0_Msk (0x1UL) /*!< RFDMAE0 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCDTCT_RFDMAE1_Pos (1UL) /*!< RFDMAE1 (Bit 1) */ + #define R_CANFDL_CFDCDTCT_RFDMAE1_Msk (0x2UL) /*!< RFDMAE1 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCDTCT_CFDMAE0_Pos (8UL) /*!< CFDMAE0 (Bit 8) */ + #define R_CANFDL_CFDCDTCT_CFDMAE0_Msk (0x100UL) /*!< CFDMAE0 (Bitfield-Mask: 0x01) */ +/* ======================================================= CFDCDTSTS ======================================================= */ + #define R_CANFDL_CFDCDTSTS_RFDMASTS0_Pos (0UL) /*!< RFDMASTS0 (Bit 0) */ + #define R_CANFDL_CFDCDTSTS_RFDMASTS0_Msk (0x1UL) /*!< RFDMASTS0 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCDTSTS_RFDMASTS1_Pos (1UL) /*!< RFDMASTS1 (Bit 1) */ + #define R_CANFDL_CFDCDTSTS_RFDMASTS1_Msk (0x2UL) /*!< RFDMASTS1 (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDCDTSTS_CFDMASTS0_Pos (8UL) /*!< CFDMASTS0 (Bit 8) */ + #define R_CANFDL_CFDCDTSTS_CFDMASTS0_Msk (0x100UL) /*!< CFDMASTS0 (Bitfield-Mask: 0x01) */ +/* ======================================================= CFDGRSTC ======================================================== */ + #define R_CANFDL_CFDGRSTC_SRST_Pos (0UL) /*!< SRST (Bit 0) */ + #define R_CANFDL_CFDGRSTC_SRST_Msk (0x1UL) /*!< SRST (Bitfield-Mask: 0x01) */ + #define R_CANFDL_CFDGRSTC_KEY_Pos (8UL) /*!< KEY (Bit 8) */ + #define R_CANFDL_CFDGRSTC_KEY_Msk (0xff00UL) /*!< KEY (Bitfield-Mask: 0xff) */ +/* ======================================================= CFDRPGACC ======================================================= */ + #define R_CANFDL_CFDRPGACC_RDTA_Pos (0UL) /*!< RDTA (Bit 0) */ + #define R_CANFDL_CFDRPGACC_RDTA_Msk (0xffffffffUL) /*!< RDTA (Bitfield-Mask: 0xffffffff) */ + /* =========================================================================================================================== */ /* ================ R_CRC ================ */ /* =========================================================================================================================== */ @@ -27314,6 +35792,8 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_CTSU_CTSUERRS_CTSUTSOD_Msk (0x4UL) /*!< CTSUTSOD (Bitfield-Mask: 0x01) */ #define R_CTSU_CTSUERRS_CTSUDRV_Pos (3UL) /*!< CTSUDRV (Bit 3) */ #define R_CTSU_CTSUERRS_CTSUDRV_Msk (0x8UL) /*!< CTSUDRV (Bitfield-Mask: 0x01) */ + #define R_CTSU_CTSUERRS_CTSUCLKSEL1_Pos (6UL) /*!< CTSUCLKSEL1 (Bit 6) */ + #define R_CTSU_CTSUERRS_CTSUCLKSEL1_Msk (0x40UL) /*!< CTSUCLKSEL1 (Bitfield-Mask: 0x01) */ #define R_CTSU_CTSUERRS_CTSUTSOC_Pos (7UL) /*!< CTSUTSOC (Bit 7) */ #define R_CTSU_CTSUERRS_CTSUTSOC_Msk (0x80UL) /*!< CTSUTSOC (Bitfield-Mask: 0x01) */ /* ======================================================= CTSUTRMR ======================================================== */ @@ -27576,6 +36056,8 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_CTSU2_CTSUSR_DTSR_Msk (0x1000UL) /*!< DTSR (Bitfield-Mask: 0x01) */ #define R_CTSU2_CTSUSR_SENSOVF_Pos (13UL) /*!< SENSOVF (Bit 13) */ #define R_CTSU2_CTSUSR_SENSOVF_Msk (0x2000UL) /*!< SENSOVF (Bitfield-Mask: 0x01) */ + #define R_CTSU2_CTSUSR_SUOVF_Pos (14UL) /*!< SUOVF (Bit 14) */ + #define R_CTSU2_CTSUSR_SUOVF_Msk (0x4000UL) /*!< SUOVF (Bitfield-Mask: 0x01) */ #define R_CTSU2_CTSUSR_PS_Pos (15UL) /*!< PS (Bit 15) */ #define R_CTSU2_CTSUSR_PS_Msk (0x8000UL) /*!< PS (Bitfield-Mask: 0x01) */ #define R_CTSU2_CTSUSR_CFCRDCH_Pos (16UL) /*!< CFCRDCH (Bit 16) */ @@ -27625,8 +36107,12 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_CTSU2_CTSUCALIB_CFCSEL_Msk (0x3f0000UL) /*!< CFCSEL (Bitfield-Mask: 0x3f) */ #define R_CTSU2_CTSUCALIB_CFCMODE_Pos (22UL) /*!< CFCMODE (Bit 22) */ #define R_CTSU2_CTSUCALIB_CFCMODE_Msk (0x400000UL) /*!< CFCMODE (Bitfield-Mask: 0x01) */ + #define R_CTSU2_CTSUCALIB_DACMSEL_Pos (24UL) /*!< DACMSEL (Bit 24) */ + #define R_CTSU2_CTSUCALIB_DACMSEL_Msk (0x1000000UL) /*!< DACMSEL (Bitfield-Mask: 0x01) */ #define R_CTSU2_CTSUCALIB_DACCARRY_Pos (25UL) /*!< DACCARRY (Bit 25) */ #define R_CTSU2_CTSUCALIB_DACCARRY_Msk (0x2000000UL) /*!< DACCARRY (Bitfield-Mask: 0x01) */ + #define R_CTSU2_CTSUCALIB_SUMSEL_Pos (26UL) /*!< SUMSEL (Bit 26) */ + #define R_CTSU2_CTSUCALIB_SUMSEL_Msk (0x4000000UL) /*!< SUMSEL (Bitfield-Mask: 0x01) */ #define R_CTSU2_CTSUCALIB_SUCARRY_Pos (27UL) /*!< SUCARRY (Bit 27) */ #define R_CTSU2_CTSUCALIB_SUCARRY_Msk (0x8000000UL) /*!< SUCARRY (Bitfield-Mask: 0x01) */ #define R_CTSU2_CTSUCALIB_DACCLK_Pos (28UL) /*!< DACCLK (Bit 28) */ @@ -28404,12 +36890,12 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_ELC_ELCR_ELCON_Pos (7UL) /*!< ELCON (Bit 7) */ #define R_ELC_ELCR_ELCON_Msk (0x80UL) /*!< ELCON (Bitfield-Mask: 0x01) */ /* ======================================================== ELCSARA ======================================================== */ - #define R_ELC_ELCSARA_ELSEGR0_Pos (0UL) /*!< ELSEGR0 (Bit 0) */ - #define R_ELC_ELCSARA_ELSEGR0_Msk (0x1UL) /*!< ELSEGR0 (Bitfield-Mask: 0x01) */ - #define R_ELC_ELCSARA_ELSEGR1_Pos (1UL) /*!< ELSEGR1 (Bit 1) */ - #define R_ELC_ELCSARA_ELSEGR1_Msk (0x2UL) /*!< ELSEGR1 (Bitfield-Mask: 0x01) */ - #define R_ELC_ELCSARA_ELCR_Pos (2UL) /*!< ELCR (Bit 2) */ - #define R_ELC_ELCSARA_ELCR_Msk (0x4UL) /*!< ELCR (Bitfield-Mask: 0x01) */ + #define R_ELC_ELCSARA_ELCR_Pos (0UL) /*!< ELCR (Bit 0) */ + #define R_ELC_ELCSARA_ELCR_Msk (0x1UL) /*!< ELCR (Bitfield-Mask: 0x01) */ + #define R_ELC_ELCSARA_ELSEGR0_Pos (1UL) /*!< ELSEGR0 (Bit 1) */ + #define R_ELC_ELCSARA_ELSEGR0_Msk (0x2UL) /*!< ELSEGR0 (Bitfield-Mask: 0x01) */ + #define R_ELC_ELCSARA_ELSEGR1_Pos (2UL) /*!< ELSEGR1 (Bit 2) */ + #define R_ELC_ELCSARA_ELSEGR1_Msk (0x4UL) /*!< ELSEGR1 (Bitfield-Mask: 0x01) */ /* ======================================================== ELCSARB ======================================================== */ #define R_ELC_ELCSARB_ELSR0_Pos (0UL) /*!< ELSR0 (Bit 0) */ #define R_ELC_ELCSARB_ELSR0_Msk (0x1UL) /*!< ELSR0 (Bitfield-Mask: 0x01) */ @@ -29896,6 +38382,8 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_GPT0_GTCSR_CSGTRGR_Pos (0UL) /*!< CSGTRGR (Bit 0) */ #define R_GPT0_GTCSR_CSGTRGR_Msk (0x1UL) /*!< CSGTRGR (Bitfield-Mask: 0x01) */ /* ======================================================== GTUPSR ========================================================= */ + #define R_GPT0_GTUPSR_USILVL_Pos (24UL) /*!< USILVL (Bit 24) */ + #define R_GPT0_GTUPSR_USILVL_Msk (0xf000000UL) /*!< USILVL (Bitfield-Mask: 0x0f) */ #define R_GPT0_GTUPSR_USELC_Pos (16UL) /*!< USELC (Bit 16) */ #define R_GPT0_GTUPSR_USELC_Msk (0x10000UL) /*!< USELC (Bitfield-Mask: 0x01) */ #define R_GPT0_GTUPSR_USCBFAH_Pos (15UL) /*!< USCBFAH (Bit 15) */ @@ -29919,6 +38407,8 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_GPT0_GTUPSR_USGTRGR_Pos (0UL) /*!< USGTRGR (Bit 0) */ #define R_GPT0_GTUPSR_USGTRGR_Msk (0x1UL) /*!< USGTRGR (Bitfield-Mask: 0x01) */ /* ======================================================== GTDNSR ========================================================= */ + #define R_GPT0_GTDNSR_DSILVL_Pos (24UL) /*!< DSILVL (Bit 24) */ + #define R_GPT0_GTDNSR_DSILVL_Msk (0xf000000UL) /*!< DSILVL (Bitfield-Mask: 0x0f) */ #define R_GPT0_GTDNSR_DSELC_Pos (16UL) /*!< DSELC (Bit 16) */ #define R_GPT0_GTDNSR_DSELC_Msk (0x10000UL) /*!< DSELC (Bitfield-Mask: 0x01) */ #define R_GPT0_GTDNSR_DSCBFAH_Pos (15UL) /*!< DSCBFAH (Bit 15) */ @@ -30247,13 +38737,21 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_GPT0_GTSECR_SPCD_Pos (24UL) /*!< SPCD (Bit 24) */ #define R_GPT0_GTSECR_SPCD_Msk (0x1000000UL) /*!< SPCD (Bitfield-Mask: 0x01) */ +/* =========================================================================================================================== */ +/* ================ R_GPT_GTCLK ================ */ +/* =========================================================================================================================== */ + +/* ======================================================== GTCLKCR ======================================================== */ + #define R_GPT_GTCLK_GTCLKCR_BPEN_Pos (0UL) /*!< BPEN (Bit 0) */ + #define R_GPT_GTCLK_GTCLKCR_BPEN_Msk (0x1UL) /*!< BPEN (Bitfield-Mask: 0x01) */ + /* =========================================================================================================================== */ /* ================ R_GPT_ODC ================ */ /* =========================================================================================================================== */ /* ======================================================= GTDLYCR1 ======================================================== */ - #define R_GPT_ODC_GTDLYCR1_DLLMOD_Pos (8UL) /*!< DLLMOD (Bit 8) */ - #define R_GPT_ODC_GTDLYCR1_DLLMOD_Msk (0x100UL) /*!< DLLMOD (Bitfield-Mask: 0x01) */ + #define R_GPT_ODC_GTDLYCR1_FRANGE_Pos (8UL) /*!< FRANGE (Bit 8) */ + #define R_GPT_ODC_GTDLYCR1_FRANGE_Msk (0x100UL) /*!< FRANGE (Bitfield-Mask: 0x01) */ #define R_GPT_ODC_GTDLYCR1_DLYRST_Pos (1UL) /*!< DLYRST (Bit 1) */ #define R_GPT_ODC_GTDLYCR1_DLYRST_Msk (0x2UL) /*!< DLYRST (Bitfield-Mask: 0x01) */ #define R_GPT_ODC_GTDLYCR1_DLLEN_Pos (0UL) /*!< DLLEN (Bit 0) */ @@ -30496,6 +38994,11 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_ICU_WUPEN1_AGT3CAWUPEN_Msk (0x2UL) /*!< AGT3CAWUPEN (Bitfield-Mask: 0x01) */ #define R_ICU_WUPEN1_AGT3CBWUPEN_Pos (2UL) /*!< AGT3CBWUPEN (Bit 2) */ #define R_ICU_WUPEN1_AGT3CBWUPEN_Msk (0x4UL) /*!< AGT3CBWUPEN (Bitfield-Mask: 0x01) */ +/* ========================================================= IELEN ========================================================= */ + #define R_ICU_IELEN_IELEN_Pos (1UL) /*!< IELEN (Bit 1) */ + #define R_ICU_IELEN_IELEN_Msk (0x2UL) /*!< IELEN (Bitfield-Mask: 0x01) */ + #define R_ICU_IELEN_RTCINTEN_Pos (0UL) /*!< RTCINTEN (Bit 0) */ + #define R_ICU_IELEN_RTCINTEN_Msk (0x1UL) /*!< RTCINTEN (Bitfield-Mask: 0x01) */ /* =========================================================================================================================== */ /* ================ R_IIC0 ================ */ @@ -30928,593 +39431,623 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_KINT_KRM_KRM0_Msk (0x1UL) /*!< KRM0 (Bitfield-Mask: 0x01) */ /* =========================================================================================================================== */ -/* ================ I3C ================ */ +/* ================ R_I3C0 ================ */ /* =========================================================================================================================== */ /* ========================================================= PRTS ========================================================== */ - #define I3C_PRTS_PRTMD_Pos (0UL) /*!< PRTMD (Bit 0) */ - #define I3C_PRTS_PRTMD_Msk (0x1UL) /*!< PRTMD (Bitfield-Mask: 0x01) */ + #define R_I3C0_PRTS_PRTMD_Pos (0UL) /*!< PRTMD (Bit 0) */ + #define R_I3C0_PRTS_PRTMD_Msk (0x1UL) /*!< PRTMD (Bitfield-Mask: 0x01) */ +/* ========================================================= CECTL ========================================================= */ + #define R_I3C0_CECTL_CLKE_Pos (0UL) /*!< CLKE (Bit 0) */ + #define R_I3C0_CECTL_CLKE_Msk (0x1UL) /*!< CLKE (Bitfield-Mask: 0x01) */ /* ========================================================= BCTL ========================================================== */ - #define I3C_BCTL_INCBA_Pos (0UL) /*!< INCBA (Bit 0) */ - #define I3C_BCTL_INCBA_Msk (0x1UL) /*!< INCBA (Bitfield-Mask: 0x01) */ - #define I3C_BCTL_BMDS_Pos (7UL) /*!< BMDS (Bit 7) */ - #define I3C_BCTL_BMDS_Msk (0x80UL) /*!< BMDS (Bitfield-Mask: 0x01) */ - #define I3C_BCTL_HJACKCTL_Pos (8UL) /*!< HJACKCTL (Bit 8) */ - #define I3C_BCTL_HJACKCTL_Msk (0x100UL) /*!< HJACKCTL (Bitfield-Mask: 0x01) */ - #define I3C_BCTL_ABT_Pos (29UL) /*!< ABT (Bit 29) */ - #define I3C_BCTL_ABT_Msk (0x20000000UL) /*!< ABT (Bitfield-Mask: 0x01) */ - #define I3C_BCTL_RSM_Pos (30UL) /*!< RSM (Bit 30) */ - #define I3C_BCTL_RSM_Msk (0x40000000UL) /*!< RSM (Bitfield-Mask: 0x01) */ - #define I3C_BCTL_BUSE_Pos (31UL) /*!< BUSE (Bit 31) */ - #define I3C_BCTL_BUSE_Msk (0x80000000UL) /*!< BUSE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BCTL_INCBA_Pos (0UL) /*!< INCBA (Bit 0) */ + #define R_I3C0_BCTL_INCBA_Msk (0x1UL) /*!< INCBA (Bitfield-Mask: 0x01) */ + #define R_I3C0_BCTL_BMDS_Pos (7UL) /*!< BMDS (Bit 7) */ + #define R_I3C0_BCTL_BMDS_Msk (0x80UL) /*!< BMDS (Bitfield-Mask: 0x01) */ + #define R_I3C0_BCTL_HJACKCTL_Pos (8UL) /*!< HJACKCTL (Bit 8) */ + #define R_I3C0_BCTL_HJACKCTL_Msk (0x100UL) /*!< HJACKCTL (Bitfield-Mask: 0x01) */ + #define R_I3C0_BCTL_ABT_Pos (29UL) /*!< ABT (Bit 29) */ + #define R_I3C0_BCTL_ABT_Msk (0x20000000UL) /*!< ABT (Bitfield-Mask: 0x01) */ + #define R_I3C0_BCTL_RSM_Pos (30UL) /*!< RSM (Bit 30) */ + #define R_I3C0_BCTL_RSM_Msk (0x40000000UL) /*!< RSM (Bitfield-Mask: 0x01) */ + #define R_I3C0_BCTL_BUSE_Pos (31UL) /*!< BUSE (Bit 31) */ + #define R_I3C0_BCTL_BUSE_Msk (0x80000000UL) /*!< BUSE (Bitfield-Mask: 0x01) */ /* ======================================================== MSDVAD ========================================================= */ - #define I3C_MSDVAD_MDYAD_Pos (16UL) /*!< MDYAD (Bit 16) */ - #define I3C_MSDVAD_MDYAD_Msk (0x7f0000UL) /*!< MDYAD (Bitfield-Mask: 0x7f) */ - #define I3C_MSDVAD_MDYADV_Pos (31UL) /*!< MDYADV (Bit 31) */ - #define I3C_MSDVAD_MDYADV_Msk (0x80000000UL) /*!< MDYADV (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDVAD_MDYAD_Pos (16UL) /*!< MDYAD (Bit 16) */ + #define R_I3C0_MSDVAD_MDYAD_Msk (0x7f0000UL) /*!< MDYAD (Bitfield-Mask: 0x7f) */ + #define R_I3C0_MSDVAD_MDYADV_Pos (31UL) /*!< MDYADV (Bit 31) */ + #define R_I3C0_MSDVAD_MDYADV_Msk (0x80000000UL) /*!< MDYADV (Bitfield-Mask: 0x01) */ /* ======================================================== RSTCTL ========================================================= */ - #define I3C_RSTCTL_RI3CRST_Pos (0UL) /*!< RI3CRST (Bit 0) */ - #define I3C_RSTCTL_RI3CRST_Msk (0x1UL) /*!< RI3CRST (Bitfield-Mask: 0x01) */ - #define I3C_RSTCTL_CMDQRST_Pos (1UL) /*!< CMDQRST (Bit 1) */ - #define I3C_RSTCTL_CMDQRST_Msk (0x2UL) /*!< CMDQRST (Bitfield-Mask: 0x01) */ - #define I3C_RSTCTL_RSPQRST_Pos (2UL) /*!< RSPQRST (Bit 2) */ - #define I3C_RSTCTL_RSPQRST_Msk (0x4UL) /*!< RSPQRST (Bitfield-Mask: 0x01) */ - #define I3C_RSTCTL_TDBRST_Pos (3UL) /*!< TDBRST (Bit 3) */ - #define I3C_RSTCTL_TDBRST_Msk (0x8UL) /*!< TDBRST (Bitfield-Mask: 0x01) */ - #define I3C_RSTCTL_RDBRST_Pos (4UL) /*!< RDBRST (Bit 4) */ - #define I3C_RSTCTL_RDBRST_Msk (0x10UL) /*!< RDBRST (Bitfield-Mask: 0x01) */ - #define I3C_RSTCTL_IBIQRST_Pos (5UL) /*!< IBIQRST (Bit 5) */ - #define I3C_RSTCTL_IBIQRST_Msk (0x20UL) /*!< IBIQRST (Bitfield-Mask: 0x01) */ - #define I3C_RSTCTL_RSQRST_Pos (6UL) /*!< RSQRST (Bit 6) */ - #define I3C_RSTCTL_RSQRST_Msk (0x40UL) /*!< RSQRST (Bitfield-Mask: 0x01) */ - #define I3C_RSTCTL_INTLRST_Pos (16UL) /*!< INTLRST (Bit 16) */ - #define I3C_RSTCTL_INTLRST_Msk (0x10000UL) /*!< INTLRST (Bitfield-Mask: 0x01) */ + #define R_I3C0_RSTCTL_RI3CRST_Pos (0UL) /*!< RI3CRST (Bit 0) */ + #define R_I3C0_RSTCTL_RI3CRST_Msk (0x1UL) /*!< RI3CRST (Bitfield-Mask: 0x01) */ + #define R_I3C0_RSTCTL_CMDQRST_Pos (1UL) /*!< CMDQRST (Bit 1) */ + #define R_I3C0_RSTCTL_CMDQRST_Msk (0x2UL) /*!< CMDQRST (Bitfield-Mask: 0x01) */ + #define R_I3C0_RSTCTL_RSPQRST_Pos (2UL) /*!< RSPQRST (Bit 2) */ + #define R_I3C0_RSTCTL_RSPQRST_Msk (0x4UL) /*!< RSPQRST (Bitfield-Mask: 0x01) */ + #define R_I3C0_RSTCTL_TDBRST_Pos (3UL) /*!< TDBRST (Bit 3) */ + #define R_I3C0_RSTCTL_TDBRST_Msk (0x8UL) /*!< TDBRST (Bitfield-Mask: 0x01) */ + #define R_I3C0_RSTCTL_RDBRST_Pos (4UL) /*!< RDBRST (Bit 4) */ + #define R_I3C0_RSTCTL_RDBRST_Msk (0x10UL) /*!< RDBRST (Bitfield-Mask: 0x01) */ + #define R_I3C0_RSTCTL_IBIQRST_Pos (5UL) /*!< IBIQRST (Bit 5) */ + #define R_I3C0_RSTCTL_IBIQRST_Msk (0x20UL) /*!< IBIQRST (Bitfield-Mask: 0x01) */ + #define R_I3C0_RSTCTL_RSQRST_Pos (6UL) /*!< RSQRST (Bit 6) */ + #define R_I3C0_RSTCTL_RSQRST_Msk (0x40UL) /*!< RSQRST (Bitfield-Mask: 0x01) */ + #define R_I3C0_RSTCTL_INTLRST_Pos (16UL) /*!< INTLRST (Bit 16) */ + #define R_I3C0_RSTCTL_INTLRST_Msk (0x10000UL) /*!< INTLRST (Bitfield-Mask: 0x01) */ /* ========================================================= PRSST ========================================================= */ - #define I3C_PRSST_CRMS_Pos (2UL) /*!< CRMS (Bit 2) */ - #define I3C_PRSST_CRMS_Msk (0x4UL) /*!< CRMS (Bitfield-Mask: 0x01) */ - #define I3C_PRSST_TRMD_Pos (4UL) /*!< TRMD (Bit 4) */ - #define I3C_PRSST_TRMD_Msk (0x10UL) /*!< TRMD (Bitfield-Mask: 0x01) */ - #define I3C_PRSST_PRSSTWP_Pos (7UL) /*!< PRSSTWP (Bit 7) */ - #define I3C_PRSST_PRSSTWP_Msk (0x80UL) /*!< PRSSTWP (Bitfield-Mask: 0x01) */ + #define R_I3C0_PRSST_CRMS_Pos (2UL) /*!< CRMS (Bit 2) */ + #define R_I3C0_PRSST_CRMS_Msk (0x4UL) /*!< CRMS (Bitfield-Mask: 0x01) */ + #define R_I3C0_PRSST_TRMD_Pos (4UL) /*!< TRMD (Bit 4) */ + #define R_I3C0_PRSST_TRMD_Msk (0x10UL) /*!< TRMD (Bitfield-Mask: 0x01) */ + #define R_I3C0_PRSST_PRSSTWP_Pos (7UL) /*!< PRSSTWP (Bit 7) */ + #define R_I3C0_PRSST_PRSSTWP_Msk (0x80UL) /*!< PRSSTWP (Bitfield-Mask: 0x01) */ /* ========================================================= INST ========================================================== */ - #define I3C_INST_INEF_Pos (10UL) /*!< INEF (Bit 10) */ - #define I3C_INST_INEF_Msk (0x400UL) /*!< INEF (Bitfield-Mask: 0x01) */ + #define R_I3C0_INST_INEF_Pos (10UL) /*!< INEF (Bit 10) */ + #define R_I3C0_INST_INEF_Msk (0x400UL) /*!< INEF (Bitfield-Mask: 0x01) */ /* ========================================================= INSTE ========================================================= */ - #define I3C_INSTE_INEE_Pos (10UL) /*!< INEE (Bit 10) */ - #define I3C_INSTE_INEE_Msk (0x400UL) /*!< INEE (Bitfield-Mask: 0x01) */ + #define R_I3C0_INSTE_INEE_Pos (10UL) /*!< INEE (Bit 10) */ + #define R_I3C0_INSTE_INEE_Msk (0x400UL) /*!< INEE (Bitfield-Mask: 0x01) */ /* ========================================================= INIE ========================================================== */ - #define I3C_INIE_INEIE_Pos (10UL) /*!< INEIE (Bit 10) */ - #define I3C_INIE_INEIE_Msk (0x400UL) /*!< INEIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_INIE_INEIE_Pos (10UL) /*!< INEIE (Bit 10) */ + #define R_I3C0_INIE_INEIE_Msk (0x400UL) /*!< INEIE (Bitfield-Mask: 0x01) */ /* ======================================================== INSTFC ========================================================= */ - #define I3C_INSTFC_INEFC_Pos (10UL) /*!< INEFC (Bit 10) */ - #define I3C_INSTFC_INEFC_Msk (0x400UL) /*!< INEFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_INSTFC_INEFC_Pos (10UL) /*!< INEFC (Bit 10) */ + #define R_I3C0_INSTFC_INEFC_Msk (0x400UL) /*!< INEFC (Bitfield-Mask: 0x01) */ /* ========================================================= DVCT ========================================================== */ - #define I3C_DVCT_IDX_Pos (19UL) /*!< IDX (Bit 19) */ - #define I3C_DVCT_IDX_Msk (0xf80000UL) /*!< IDX (Bitfield-Mask: 0x1f) */ + #define R_I3C0_DVCT_IDX_Pos (19UL) /*!< IDX (Bit 19) */ + #define R_I3C0_DVCT_IDX_Msk (0xf80000UL) /*!< IDX (Bitfield-Mask: 0x1f) */ /* ======================================================== IBINCTL ======================================================== */ - #define I3C_IBINCTL_NRHJCTL_Pos (0UL) /*!< NRHJCTL (Bit 0) */ - #define I3C_IBINCTL_NRHJCTL_Msk (0x1UL) /*!< NRHJCTL (Bitfield-Mask: 0x01) */ - #define I3C_IBINCTL_NRMRCTL_Pos (1UL) /*!< NRMRCTL (Bit 1) */ - #define I3C_IBINCTL_NRMRCTL_Msk (0x2UL) /*!< NRMRCTL (Bitfield-Mask: 0x01) */ - #define I3C_IBINCTL_NRSIRCTL_Pos (3UL) /*!< NRSIRCTL (Bit 3) */ - #define I3C_IBINCTL_NRSIRCTL_Msk (0x8UL) /*!< NRSIRCTL (Bitfield-Mask: 0x01) */ + #define R_I3C0_IBINCTL_NRHJCTL_Pos (0UL) /*!< NRHJCTL (Bit 0) */ + #define R_I3C0_IBINCTL_NRHJCTL_Msk (0x1UL) /*!< NRHJCTL (Bitfield-Mask: 0x01) */ + #define R_I3C0_IBINCTL_NRMRCTL_Pos (1UL) /*!< NRMRCTL (Bit 1) */ + #define R_I3C0_IBINCTL_NRMRCTL_Msk (0x2UL) /*!< NRMRCTL (Bitfield-Mask: 0x01) */ + #define R_I3C0_IBINCTL_NRSIRCTL_Pos (3UL) /*!< NRSIRCTL (Bit 3) */ + #define R_I3C0_IBINCTL_NRSIRCTL_Msk (0x8UL) /*!< NRSIRCTL (Bitfield-Mask: 0x01) */ /* ========================================================= BFCTL ========================================================= */ - #define I3C_BFCTL_MALE_Pos (0UL) /*!< MALE (Bit 0) */ - #define I3C_BFCTL_MALE_Msk (0x1UL) /*!< MALE (Bitfield-Mask: 0x01) */ - #define I3C_BFCTL_NALE_Pos (1UL) /*!< NALE (Bit 1) */ - #define I3C_BFCTL_NALE_Msk (0x2UL) /*!< NALE (Bitfield-Mask: 0x01) */ - #define I3C_BFCTL_SALE_Pos (2UL) /*!< SALE (Bit 2) */ - #define I3C_BFCTL_SALE_Msk (0x4UL) /*!< SALE (Bitfield-Mask: 0x01) */ - #define I3C_BFCTL_SCSYNE_Pos (8UL) /*!< SCSYNE (Bit 8) */ - #define I3C_BFCTL_SCSYNE_Msk (0x100UL) /*!< SCSYNE (Bitfield-Mask: 0x01) */ - #define I3C_BFCTL_SMBS_Pos (12UL) /*!< SMBS (Bit 12) */ - #define I3C_BFCTL_SMBS_Msk (0x1000UL) /*!< SMBS (Bitfield-Mask: 0x01) */ - #define I3C_BFCTL_FMPE_Pos (14UL) /*!< FMPE (Bit 14) */ - #define I3C_BFCTL_FMPE_Msk (0x4000UL) /*!< FMPE (Bitfield-Mask: 0x01) */ - #define I3C_BFCTL_HSME_Pos (15UL) /*!< HSME (Bit 15) */ - #define I3C_BFCTL_HSME_Msk (0x8000UL) /*!< HSME (Bitfield-Mask: 0x01) */ + #define R_I3C0_BFCTL_MALE_Pos (0UL) /*!< MALE (Bit 0) */ + #define R_I3C0_BFCTL_MALE_Msk (0x1UL) /*!< MALE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BFCTL_NALE_Pos (1UL) /*!< NALE (Bit 1) */ + #define R_I3C0_BFCTL_NALE_Msk (0x2UL) /*!< NALE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BFCTL_SALE_Pos (2UL) /*!< SALE (Bit 2) */ + #define R_I3C0_BFCTL_SALE_Msk (0x4UL) /*!< SALE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BFCTL_SCSYNE_Pos (8UL) /*!< SCSYNE (Bit 8) */ + #define R_I3C0_BFCTL_SCSYNE_Msk (0x100UL) /*!< SCSYNE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BFCTL_SMBS_Pos (12UL) /*!< SMBS (Bit 12) */ + #define R_I3C0_BFCTL_SMBS_Msk (0x1000UL) /*!< SMBS (Bitfield-Mask: 0x01) */ + #define R_I3C0_BFCTL_FMPE_Pos (14UL) /*!< FMPE (Bit 14) */ + #define R_I3C0_BFCTL_FMPE_Msk (0x4000UL) /*!< FMPE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BFCTL_HSME_Pos (15UL) /*!< HSME (Bit 15) */ + #define R_I3C0_BFCTL_HSME_Msk (0x8000UL) /*!< HSME (Bitfield-Mask: 0x01) */ /* ========================================================= SVCTL ========================================================= */ - #define I3C_SVCTL_GCAE_Pos (0UL) /*!< GCAE (Bit 0) */ - #define I3C_SVCTL_GCAE_Msk (0x1UL) /*!< GCAE (Bitfield-Mask: 0x01) */ - #define I3C_SVCTL_HSMCE_Pos (5UL) /*!< HSMCE (Bit 5) */ - #define I3C_SVCTL_HSMCE_Msk (0x20UL) /*!< HSMCE (Bitfield-Mask: 0x01) */ - #define I3C_SVCTL_DVIDE_Pos (6UL) /*!< DVIDE (Bit 6) */ - #define I3C_SVCTL_DVIDE_Msk (0x40UL) /*!< DVIDE (Bitfield-Mask: 0x01) */ - #define I3C_SVCTL_HOAE_Pos (15UL) /*!< HOAE (Bit 15) */ - #define I3C_SVCTL_HOAE_Msk (0x8000UL) /*!< HOAE (Bitfield-Mask: 0x01) */ - #define I3C_SVCTL_SVAEn_Pos (16UL) /*!< SVAEn (Bit 16) */ - #define I3C_SVCTL_SVAEn_Msk (0x10000UL) /*!< SVAEn (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVCTL_GCAE_Pos (0UL) /*!< GCAE (Bit 0) */ + #define R_I3C0_SVCTL_GCAE_Msk (0x1UL) /*!< GCAE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVCTL_HSMCE_Pos (5UL) /*!< HSMCE (Bit 5) */ + #define R_I3C0_SVCTL_HSMCE_Msk (0x20UL) /*!< HSMCE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVCTL_DVIDE_Pos (6UL) /*!< DVIDE (Bit 6) */ + #define R_I3C0_SVCTL_DVIDE_Msk (0x40UL) /*!< DVIDE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVCTL_HOAE_Pos (15UL) /*!< HOAE (Bit 15) */ + #define R_I3C0_SVCTL_HOAE_Msk (0x8000UL) /*!< HOAE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVCTL_SVAEn_Pos (16UL) /*!< SVAEn (Bit 16) */ + #define R_I3C0_SVCTL_SVAEn_Msk (0x10000UL) /*!< SVAEn (Bitfield-Mask: 0x01) */ /* ======================================================= REFCKCTL ======================================================== */ - #define I3C_REFCKCTL_IREFCKS_Pos (0UL) /*!< IREFCKS (Bit 0) */ - #define I3C_REFCKCTL_IREFCKS_Msk (0x7UL) /*!< IREFCKS (Bitfield-Mask: 0x07) */ + #define R_I3C0_REFCKCTL_IREFCKS_Pos (0UL) /*!< IREFCKS (Bit 0) */ + #define R_I3C0_REFCKCTL_IREFCKS_Msk (0x7UL) /*!< IREFCKS (Bitfield-Mask: 0x07) */ /* ========================================================= STDBR ========================================================= */ - #define I3C_STDBR_SBRLO_Pos (0UL) /*!< SBRLO (Bit 0) */ - #define I3C_STDBR_SBRLO_Msk (0xffUL) /*!< SBRLO (Bitfield-Mask: 0xff) */ - #define I3C_STDBR_SBRHO_Pos (8UL) /*!< SBRHO (Bit 8) */ - #define I3C_STDBR_SBRHO_Msk (0xff00UL) /*!< SBRHO (Bitfield-Mask: 0xff) */ - #define I3C_STDBR_SBRLP_Pos (16UL) /*!< SBRLP (Bit 16) */ - #define I3C_STDBR_SBRLP_Msk (0x3f0000UL) /*!< SBRLP (Bitfield-Mask: 0x3f) */ - #define I3C_STDBR_SBRHP_Pos (24UL) /*!< SBRHP (Bit 24) */ - #define I3C_STDBR_SBRHP_Msk (0x3f000000UL) /*!< SBRHP (Bitfield-Mask: 0x3f) */ - #define I3C_STDBR_DSBRPO_Pos (31UL) /*!< DSBRPO (Bit 31) */ - #define I3C_STDBR_DSBRPO_Msk (0x80000000UL) /*!< DSBRPO (Bitfield-Mask: 0x01) */ + #define R_I3C0_STDBR_SBRLO_Pos (0UL) /*!< SBRLO (Bit 0) */ + #define R_I3C0_STDBR_SBRLO_Msk (0xffUL) /*!< SBRLO (Bitfield-Mask: 0xff) */ + #define R_I3C0_STDBR_SBRHO_Pos (8UL) /*!< SBRHO (Bit 8) */ + #define R_I3C0_STDBR_SBRHO_Msk (0xff00UL) /*!< SBRHO (Bitfield-Mask: 0xff) */ + #define R_I3C0_STDBR_SBRLP_Pos (16UL) /*!< SBRLP (Bit 16) */ + #define R_I3C0_STDBR_SBRLP_Msk (0x3f0000UL) /*!< SBRLP (Bitfield-Mask: 0x3f) */ + #define R_I3C0_STDBR_SBRHP_Pos (24UL) /*!< SBRHP (Bit 24) */ + #define R_I3C0_STDBR_SBRHP_Msk (0x3f000000UL) /*!< SBRHP (Bitfield-Mask: 0x3f) */ + #define R_I3C0_STDBR_DSBRPO_Pos (31UL) /*!< DSBRPO (Bit 31) */ + #define R_I3C0_STDBR_DSBRPO_Msk (0x80000000UL) /*!< DSBRPO (Bitfield-Mask: 0x01) */ /* ========================================================= EXTBR ========================================================= */ - #define I3C_EXTBR_EBRLO_Pos (0UL) /*!< EBRLO (Bit 0) */ - #define I3C_EXTBR_EBRLO_Msk (0xffUL) /*!< EBRLO (Bitfield-Mask: 0xff) */ - #define I3C_EXTBR_EBRHO_Pos (8UL) /*!< EBRHO (Bit 8) */ - #define I3C_EXTBR_EBRHO_Msk (0xff00UL) /*!< EBRHO (Bitfield-Mask: 0xff) */ - #define I3C_EXTBR_EBRLP_Pos (16UL) /*!< EBRLP (Bit 16) */ - #define I3C_EXTBR_EBRLP_Msk (0x3f0000UL) /*!< EBRLP (Bitfield-Mask: 0x3f) */ - #define I3C_EXTBR_EBRHP_Pos (24UL) /*!< EBRHP (Bit 24) */ - #define I3C_EXTBR_EBRHP_Msk (0x3f000000UL) /*!< EBRHP (Bitfield-Mask: 0x3f) */ + #define R_I3C0_EXTBR_EBRLO_Pos (0UL) /*!< EBRLO (Bit 0) */ + #define R_I3C0_EXTBR_EBRLO_Msk (0xffUL) /*!< EBRLO (Bitfield-Mask: 0xff) */ + #define R_I3C0_EXTBR_EBRHO_Pos (8UL) /*!< EBRHO (Bit 8) */ + #define R_I3C0_EXTBR_EBRHO_Msk (0xff00UL) /*!< EBRHO (Bitfield-Mask: 0xff) */ + #define R_I3C0_EXTBR_EBRLP_Pos (16UL) /*!< EBRLP (Bit 16) */ + #define R_I3C0_EXTBR_EBRLP_Msk (0x3f0000UL) /*!< EBRLP (Bitfield-Mask: 0x3f) */ + #define R_I3C0_EXTBR_EBRHP_Pos (24UL) /*!< EBRHP (Bit 24) */ + #define R_I3C0_EXTBR_EBRHP_Msk (0x3f000000UL) /*!< EBRHP (Bitfield-Mask: 0x3f) */ /* ======================================================== BFRECDT ======================================================== */ - #define I3C_BFRECDT_FRECYC_Pos (0UL) /*!< FRECYC (Bit 0) */ - #define I3C_BFRECDT_FRECYC_Msk (0x1ffUL) /*!< FRECYC (Bitfield-Mask: 0x1ff) */ + #define R_I3C0_BFRECDT_FRECYC_Pos (0UL) /*!< FRECYC (Bit 0) */ + #define R_I3C0_BFRECDT_FRECYC_Msk (0x1ffUL) /*!< FRECYC (Bitfield-Mask: 0x1ff) */ /* ======================================================== BAVLCDT ======================================================== */ - #define I3C_BAVLCDT_AVLCYC_Pos (0UL) /*!< AVLCYC (Bit 0) */ - #define I3C_BAVLCDT_AVLCYC_Msk (0x1ffUL) /*!< AVLCYC (Bitfield-Mask: 0x1ff) */ + #define R_I3C0_BAVLCDT_AVLCYC_Pos (0UL) /*!< AVLCYC (Bit 0) */ + #define R_I3C0_BAVLCDT_AVLCYC_Msk (0x1ffUL) /*!< AVLCYC (Bitfield-Mask: 0x1ff) */ /* ======================================================== BIDLCDT ======================================================== */ - #define I3C_BIDLCDT_IDLCYC_Pos (0UL) /*!< IDLCYC (Bit 0) */ - #define I3C_BIDLCDT_IDLCYC_Msk (0x3ffffUL) /*!< IDLCYC (Bitfield-Mask: 0x3ffff) */ + #define R_I3C0_BIDLCDT_IDLCYC_Pos (0UL) /*!< IDLCYC (Bit 0) */ + #define R_I3C0_BIDLCDT_IDLCYC_Msk (0x3ffffUL) /*!< IDLCYC (Bitfield-Mask: 0x3ffff) */ /* ======================================================== OUTCTL ========================================================= */ - #define I3C_OUTCTL_SDOC_Pos (0UL) /*!< SDOC (Bit 0) */ - #define I3C_OUTCTL_SDOC_Msk (0x1UL) /*!< SDOC (Bitfield-Mask: 0x01) */ - #define I3C_OUTCTL_SCOC_Pos (1UL) /*!< SCOC (Bit 1) */ - #define I3C_OUTCTL_SCOC_Msk (0x2UL) /*!< SCOC (Bitfield-Mask: 0x01) */ - #define I3C_OUTCTL_SOCWP_Pos (2UL) /*!< SOCWP (Bit 2) */ - #define I3C_OUTCTL_SOCWP_Msk (0x4UL) /*!< SOCWP (Bitfield-Mask: 0x01) */ - #define I3C_OUTCTL_EXCYC_Pos (4UL) /*!< EXCYC (Bit 4) */ - #define I3C_OUTCTL_EXCYC_Msk (0x10UL) /*!< EXCYC (Bitfield-Mask: 0x01) */ - #define I3C_OUTCTL_SDOD_Pos (8UL) /*!< SDOD (Bit 8) */ - #define I3C_OUTCTL_SDOD_Msk (0x700UL) /*!< SDOD (Bitfield-Mask: 0x07) */ - #define I3C_OUTCTL_SDODCS_Pos (15UL) /*!< SDODCS (Bit 15) */ - #define I3C_OUTCTL_SDODCS_Msk (0x8000UL) /*!< SDODCS (Bitfield-Mask: 0x01) */ + #define R_I3C0_OUTCTL_SDOC_Pos (0UL) /*!< SDOC (Bit 0) */ + #define R_I3C0_OUTCTL_SDOC_Msk (0x1UL) /*!< SDOC (Bitfield-Mask: 0x01) */ + #define R_I3C0_OUTCTL_SCOC_Pos (1UL) /*!< SCOC (Bit 1) */ + #define R_I3C0_OUTCTL_SCOC_Msk (0x2UL) /*!< SCOC (Bitfield-Mask: 0x01) */ + #define R_I3C0_OUTCTL_SOCWP_Pos (2UL) /*!< SOCWP (Bit 2) */ + #define R_I3C0_OUTCTL_SOCWP_Msk (0x4UL) /*!< SOCWP (Bitfield-Mask: 0x01) */ + #define R_I3C0_OUTCTL_EXCYC_Pos (4UL) /*!< EXCYC (Bit 4) */ + #define R_I3C0_OUTCTL_EXCYC_Msk (0x10UL) /*!< EXCYC (Bitfield-Mask: 0x01) */ + #define R_I3C0_OUTCTL_SDOD_Pos (8UL) /*!< SDOD (Bit 8) */ + #define R_I3C0_OUTCTL_SDOD_Msk (0x700UL) /*!< SDOD (Bitfield-Mask: 0x07) */ + #define R_I3C0_OUTCTL_SDODCS_Pos (15UL) /*!< SDODCS (Bit 15) */ + #define R_I3C0_OUTCTL_SDODCS_Msk (0x8000UL) /*!< SDODCS (Bitfield-Mask: 0x01) */ /* ========================================================= INCTL ========================================================= */ - #define I3C_INCTL_DNFS_Pos (0UL) /*!< DNFS (Bit 0) */ - #define I3C_INCTL_DNFS_Msk (0xfUL) /*!< DNFS (Bitfield-Mask: 0x0f) */ - #define I3C_INCTL_DNFE_Pos (4UL) /*!< DNFE (Bit 4) */ - #define I3C_INCTL_DNFE_Msk (0x10UL) /*!< DNFE (Bitfield-Mask: 0x01) */ + #define R_I3C0_INCTL_DNFS_Pos (0UL) /*!< DNFS (Bit 0) */ + #define R_I3C0_INCTL_DNFS_Msk (0xfUL) /*!< DNFS (Bitfield-Mask: 0x0f) */ + #define R_I3C0_INCTL_DNFE_Pos (4UL) /*!< DNFE (Bit 4) */ + #define R_I3C0_INCTL_DNFE_Msk (0x10UL) /*!< DNFE (Bitfield-Mask: 0x01) */ /* ======================================================== TMOCTL ========================================================= */ - #define I3C_TMOCTL_TODTS_Pos (0UL) /*!< TODTS (Bit 0) */ - #define I3C_TMOCTL_TODTS_Msk (0x3UL) /*!< TODTS (Bitfield-Mask: 0x03) */ - #define I3C_TMOCTL_TOLCTL_Pos (4UL) /*!< TOLCTL (Bit 4) */ - #define I3C_TMOCTL_TOLCTL_Msk (0x10UL) /*!< TOLCTL (Bitfield-Mask: 0x01) */ - #define I3C_TMOCTL_TOHCTL_Pos (5UL) /*!< TOHCTL (Bit 5) */ - #define I3C_TMOCTL_TOHCTL_Msk (0x20UL) /*!< TOHCTL (Bitfield-Mask: 0x01) */ - #define I3C_TMOCTL_TOMDS_Pos (6UL) /*!< TOMDS (Bit 6) */ - #define I3C_TMOCTL_TOMDS_Msk (0xc0UL) /*!< TOMDS (Bitfield-Mask: 0x03) */ + #define R_I3C0_TMOCTL_TODTS_Pos (0UL) /*!< TODTS (Bit 0) */ + #define R_I3C0_TMOCTL_TODTS_Msk (0x3UL) /*!< TODTS (Bitfield-Mask: 0x03) */ + #define R_I3C0_TMOCTL_TOLCTL_Pos (4UL) /*!< TOLCTL (Bit 4) */ + #define R_I3C0_TMOCTL_TOLCTL_Msk (0x10UL) /*!< TOLCTL (Bitfield-Mask: 0x01) */ + #define R_I3C0_TMOCTL_TOHCTL_Pos (5UL) /*!< TOHCTL (Bit 5) */ + #define R_I3C0_TMOCTL_TOHCTL_Msk (0x20UL) /*!< TOHCTL (Bitfield-Mask: 0x01) */ + #define R_I3C0_TMOCTL_TOMDS_Pos (6UL) /*!< TOMDS (Bit 6) */ + #define R_I3C0_TMOCTL_TOMDS_Msk (0xc0UL) /*!< TOMDS (Bitfield-Mask: 0x03) */ /* ======================================================== ACKCTL ========================================================= */ - #define I3C_ACKCTL_ACKR_Pos (0UL) /*!< ACKR (Bit 0) */ - #define I3C_ACKCTL_ACKR_Msk (0x1UL) /*!< ACKR (Bitfield-Mask: 0x01) */ - #define I3C_ACKCTL_ACKT_Pos (1UL) /*!< ACKT (Bit 1) */ - #define I3C_ACKCTL_ACKT_Msk (0x2UL) /*!< ACKT (Bitfield-Mask: 0x01) */ - #define I3C_ACKCTL_ACKTWP_Pos (2UL) /*!< ACKTWP (Bit 2) */ - #define I3C_ACKCTL_ACKTWP_Msk (0x4UL) /*!< ACKTWP (Bitfield-Mask: 0x01) */ + #define R_I3C0_ACKCTL_ACKR_Pos (0UL) /*!< ACKR (Bit 0) */ + #define R_I3C0_ACKCTL_ACKR_Msk (0x1UL) /*!< ACKR (Bitfield-Mask: 0x01) */ + #define R_I3C0_ACKCTL_ACKT_Pos (1UL) /*!< ACKT (Bit 1) */ + #define R_I3C0_ACKCTL_ACKT_Msk (0x2UL) /*!< ACKT (Bitfield-Mask: 0x01) */ + #define R_I3C0_ACKCTL_ACKTWP_Pos (2UL) /*!< ACKTWP (Bit 2) */ + #define R_I3C0_ACKCTL_ACKTWP_Msk (0x4UL) /*!< ACKTWP (Bitfield-Mask: 0x01) */ /* ======================================================= SCSTRCTL ======================================================== */ - #define I3C_SCSTRCTL_ACKTWE_Pos (0UL) /*!< ACKTWE (Bit 0) */ - #define I3C_SCSTRCTL_ACKTWE_Msk (0x1UL) /*!< ACKTWE (Bitfield-Mask: 0x01) */ - #define I3C_SCSTRCTL_RWE_Pos (1UL) /*!< RWE (Bit 1) */ - #define I3C_SCSTRCTL_RWE_Msk (0x2UL) /*!< RWE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SCSTRCTL_ACKTWE_Pos (0UL) /*!< ACKTWE (Bit 0) */ + #define R_I3C0_SCSTRCTL_ACKTWE_Msk (0x1UL) /*!< ACKTWE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SCSTRCTL_RWE_Pos (1UL) /*!< RWE (Bit 1) */ + #define R_I3C0_SCSTRCTL_RWE_Msk (0x2UL) /*!< RWE (Bitfield-Mask: 0x01) */ /* ======================================================= SCSTLCTL ======================================================== */ - #define I3C_SCSTLCTL_STLCYC_Pos (0UL) /*!< STLCYC (Bit 0) */ - #define I3C_SCSTLCTL_STLCYC_Msk (0xffffUL) /*!< STLCYC (Bitfield-Mask: 0xffff) */ - #define I3C_SCSTLCTL_AAPE_Pos (28UL) /*!< AAPE (Bit 28) */ - #define I3C_SCSTLCTL_AAPE_Msk (0x10000000UL) /*!< AAPE (Bitfield-Mask: 0x01) */ - #define I3C_SCSTLCTL_TRAPE_Pos (29UL) /*!< TRAPE (Bit 29) */ - #define I3C_SCSTLCTL_TRAPE_Msk (0x20000000UL) /*!< TRAPE (Bitfield-Mask: 0x01) */ - #define I3C_SCSTLCTL_PARPE_Pos (30UL) /*!< PARPE (Bit 30) */ - #define I3C_SCSTLCTL_PARPE_Msk (0x40000000UL) /*!< PARPE (Bitfield-Mask: 0x01) */ - #define I3C_SCSTLCTL_ACKPE_Pos (31UL) /*!< ACKPE (Bit 31) */ - #define I3C_SCSTLCTL_ACKPE_Msk (0x80000000UL) /*!< ACKPE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SCSTLCTL_STLCYC_Pos (0UL) /*!< STLCYC (Bit 0) */ + #define R_I3C0_SCSTLCTL_STLCYC_Msk (0xffffUL) /*!< STLCYC (Bitfield-Mask: 0xffff) */ + #define R_I3C0_SCSTLCTL_AAPE_Pos (28UL) /*!< AAPE (Bit 28) */ + #define R_I3C0_SCSTLCTL_AAPE_Msk (0x10000000UL) /*!< AAPE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SCSTLCTL_TRAPE_Pos (29UL) /*!< TRAPE (Bit 29) */ + #define R_I3C0_SCSTLCTL_TRAPE_Msk (0x20000000UL) /*!< TRAPE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SCSTLCTL_PARPE_Pos (30UL) /*!< PARPE (Bit 30) */ + #define R_I3C0_SCSTLCTL_PARPE_Msk (0x40000000UL) /*!< PARPE (Bitfield-Mask: 0x01) */ + #define R_I3C0_SCSTLCTL_ACKPE_Pos (31UL) /*!< ACKPE (Bit 31) */ + #define R_I3C0_SCSTLCTL_ACKPE_Msk (0x80000000UL) /*!< ACKPE (Bitfield-Mask: 0x01) */ /* ======================================================== SVTDLG0 ======================================================== */ - #define I3C_SVTDLG0_STDLG_Pos (16UL) /*!< STDLG (Bit 16) */ - #define I3C_SVTDLG0_STDLG_Msk (0xffff0000UL) /*!< STDLG (Bitfield-Mask: 0xffff) */ + #define R_I3C0_SVTDLG0_STDLG_Pos (16UL) /*!< STDLG (Bit 16) */ + #define R_I3C0_SVTDLG0_STDLG_Msk (0xffff0000UL) /*!< STDLG (Bitfield-Mask: 0xffff) */ /* ======================================================== CNDCTL ========================================================= */ - #define I3C_CNDCTL_STCND_Pos (0UL) /*!< STCND (Bit 0) */ - #define I3C_CNDCTL_STCND_Msk (0x1UL) /*!< STCND (Bitfield-Mask: 0x01) */ - #define I3C_CNDCTL_SRCND_Pos (1UL) /*!< SRCND (Bit 1) */ - #define I3C_CNDCTL_SRCND_Msk (0x2UL) /*!< SRCND (Bitfield-Mask: 0x01) */ - #define I3C_CNDCTL_SPCND_Pos (2UL) /*!< SPCND (Bit 2) */ - #define I3C_CNDCTL_SPCND_Msk (0x4UL) /*!< SPCND (Bitfield-Mask: 0x01) */ + #define R_I3C0_CNDCTL_STCND_Pos (0UL) /*!< STCND (Bit 0) */ + #define R_I3C0_CNDCTL_STCND_Msk (0x1UL) /*!< STCND (Bitfield-Mask: 0x01) */ + #define R_I3C0_CNDCTL_SRCND_Pos (1UL) /*!< SRCND (Bit 1) */ + #define R_I3C0_CNDCTL_SRCND_Msk (0x2UL) /*!< SRCND (Bitfield-Mask: 0x01) */ + #define R_I3C0_CNDCTL_SPCND_Pos (2UL) /*!< SPCND (Bit 2) */ + #define R_I3C0_CNDCTL_SPCND_Msk (0x4UL) /*!< SPCND (Bitfield-Mask: 0x01) */ /* ======================================================== NCMDQP ========================================================= */ /* ======================================================== NRSPQP ========================================================= */ /* ======================================================== NTDTBP0 ======================================================== */ /* ======================================================== NIBIQP ========================================================= */ /* ========================================================= NRSQP ========================================================= */ /* ======================================================== NQTHCTL ======================================================== */ - #define I3C_NQTHCTL_CMDQTH_Pos (0UL) /*!< CMDQTH (Bit 0) */ - #define I3C_NQTHCTL_CMDQTH_Msk (0xffUL) /*!< CMDQTH (Bitfield-Mask: 0xff) */ - #define I3C_NQTHCTL_RSPQTH_Pos (8UL) /*!< RSPQTH (Bit 8) */ - #define I3C_NQTHCTL_RSPQTH_Msk (0xff00UL) /*!< RSPQTH (Bitfield-Mask: 0xff) */ - #define I3C_NQTHCTL_IBIDSSZ_Pos (16UL) /*!< IBIDSSZ (Bit 16) */ - #define I3C_NQTHCTL_IBIDSSZ_Msk (0xff0000UL) /*!< IBIDSSZ (Bitfield-Mask: 0xff) */ - #define I3C_NQTHCTL_IBIQTH_Pos (24UL) /*!< IBIQTH (Bit 24) */ - #define I3C_NQTHCTL_IBIQTH_Msk (0xff000000UL) /*!< IBIQTH (Bitfield-Mask: 0xff) */ + #define R_I3C0_NQTHCTL_CMDQTH_Pos (0UL) /*!< CMDQTH (Bit 0) */ + #define R_I3C0_NQTHCTL_CMDQTH_Msk (0xffUL) /*!< CMDQTH (Bitfield-Mask: 0xff) */ + #define R_I3C0_NQTHCTL_RSPQTH_Pos (8UL) /*!< RSPQTH (Bit 8) */ + #define R_I3C0_NQTHCTL_RSPQTH_Msk (0xff00UL) /*!< RSPQTH (Bitfield-Mask: 0xff) */ + #define R_I3C0_NQTHCTL_IBIDSSZ_Pos (16UL) /*!< IBIDSSZ (Bit 16) */ + #define R_I3C0_NQTHCTL_IBIDSSZ_Msk (0xff0000UL) /*!< IBIDSSZ (Bitfield-Mask: 0xff) */ + #define R_I3C0_NQTHCTL_IBIQTH_Pos (24UL) /*!< IBIQTH (Bit 24) */ + #define R_I3C0_NQTHCTL_IBIQTH_Msk (0xff000000UL) /*!< IBIQTH (Bitfield-Mask: 0xff) */ /* ======================================================= NTBTHCTL0 ======================================================= */ - #define I3C_NTBTHCTL0_TXDBTH_Pos (0UL) /*!< TXDBTH (Bit 0) */ - #define I3C_NTBTHCTL0_TXDBTH_Msk (0x7UL) /*!< TXDBTH (Bitfield-Mask: 0x07) */ - #define I3C_NTBTHCTL0_RXDBTH_Pos (8UL) /*!< RXDBTH (Bit 8) */ - #define I3C_NTBTHCTL0_RXDBTH_Msk (0x700UL) /*!< RXDBTH (Bitfield-Mask: 0x07) */ - #define I3C_NTBTHCTL0_TXSTTH_Pos (16UL) /*!< TXSTTH (Bit 16) */ - #define I3C_NTBTHCTL0_TXSTTH_Msk (0x70000UL) /*!< TXSTTH (Bitfield-Mask: 0x07) */ - #define I3C_NTBTHCTL0_RXSTTH_Pos (24UL) /*!< RXSTTH (Bit 24) */ - #define I3C_NTBTHCTL0_RXSTTH_Msk (0x7000000UL) /*!< RXSTTH (Bitfield-Mask: 0x07) */ + #define R_I3C0_NTBTHCTL0_TXDBTH_Pos (0UL) /*!< TXDBTH (Bit 0) */ + #define R_I3C0_NTBTHCTL0_TXDBTH_Msk (0x7UL) /*!< TXDBTH (Bitfield-Mask: 0x07) */ + #define R_I3C0_NTBTHCTL0_RXDBTH_Pos (8UL) /*!< RXDBTH (Bit 8) */ + #define R_I3C0_NTBTHCTL0_RXDBTH_Msk (0x700UL) /*!< RXDBTH (Bitfield-Mask: 0x07) */ + #define R_I3C0_NTBTHCTL0_TXSTTH_Pos (16UL) /*!< TXSTTH (Bit 16) */ + #define R_I3C0_NTBTHCTL0_TXSTTH_Msk (0x70000UL) /*!< TXSTTH (Bitfield-Mask: 0x07) */ + #define R_I3C0_NTBTHCTL0_RXSTTH_Pos (24UL) /*!< RXSTTH (Bit 24) */ + #define R_I3C0_NTBTHCTL0_RXSTTH_Msk (0x7000000UL) /*!< RXSTTH (Bitfield-Mask: 0x07) */ /* ======================================================= NRQTHCTL ======================================================== */ - #define I3C_NRQTHCTL_RSQTH_Pos (0UL) /*!< RSQTH (Bit 0) */ - #define I3C_NRQTHCTL_RSQTH_Msk (0xffUL) /*!< RSQTH (Bitfield-Mask: 0xff) */ + #define R_I3C0_NRQTHCTL_RSQTH_Pos (0UL) /*!< RSQTH (Bit 0) */ + #define R_I3C0_NRQTHCTL_RSQTH_Msk (0xffUL) /*!< RSQTH (Bitfield-Mask: 0xff) */ /* ========================================================== BST ========================================================== */ - #define I3C_BST_STCNDDF_Pos (0UL) /*!< STCNDDF (Bit 0) */ - #define I3C_BST_STCNDDF_Msk (0x1UL) /*!< STCNDDF (Bitfield-Mask: 0x01) */ - #define I3C_BST_SPCNDDF_Pos (1UL) /*!< SPCNDDF (Bit 1) */ - #define I3C_BST_SPCNDDF_Msk (0x2UL) /*!< SPCNDDF (Bitfield-Mask: 0x01) */ - #define I3C_BST_HDREXDF_Pos (2UL) /*!< HDREXDF (Bit 2) */ - #define I3C_BST_HDREXDF_Msk (0x4UL) /*!< HDREXDF (Bitfield-Mask: 0x01) */ - #define I3C_BST_NACKDF_Pos (4UL) /*!< NACKDF (Bit 4) */ - #define I3C_BST_NACKDF_Msk (0x10UL) /*!< NACKDF (Bitfield-Mask: 0x01) */ - #define I3C_BST_TENDF_Pos (8UL) /*!< TENDF (Bit 8) */ - #define I3C_BST_TENDF_Msk (0x100UL) /*!< TENDF (Bitfield-Mask: 0x01) */ - #define I3C_BST_ALF_Pos (16UL) /*!< ALF (Bit 16) */ - #define I3C_BST_ALF_Msk (0x10000UL) /*!< ALF (Bitfield-Mask: 0x01) */ - #define I3C_BST_TODF_Pos (20UL) /*!< TODF (Bit 20) */ - #define I3C_BST_TODF_Msk (0x100000UL) /*!< TODF (Bitfield-Mask: 0x01) */ + #define R_I3C0_BST_STCNDDF_Pos (0UL) /*!< STCNDDF (Bit 0) */ + #define R_I3C0_BST_STCNDDF_Msk (0x1UL) /*!< STCNDDF (Bitfield-Mask: 0x01) */ + #define R_I3C0_BST_SPCNDDF_Pos (1UL) /*!< SPCNDDF (Bit 1) */ + #define R_I3C0_BST_SPCNDDF_Msk (0x2UL) /*!< SPCNDDF (Bitfield-Mask: 0x01) */ + #define R_I3C0_BST_HDREXDF_Pos (2UL) /*!< HDREXDF (Bit 2) */ + #define R_I3C0_BST_HDREXDF_Msk (0x4UL) /*!< HDREXDF (Bitfield-Mask: 0x01) */ + #define R_I3C0_BST_NACKDF_Pos (4UL) /*!< NACKDF (Bit 4) */ + #define R_I3C0_BST_NACKDF_Msk (0x10UL) /*!< NACKDF (Bitfield-Mask: 0x01) */ + #define R_I3C0_BST_TENDF_Pos (8UL) /*!< TENDF (Bit 8) */ + #define R_I3C0_BST_TENDF_Msk (0x100UL) /*!< TENDF (Bitfield-Mask: 0x01) */ + #define R_I3C0_BST_ALF_Pos (16UL) /*!< ALF (Bit 16) */ + #define R_I3C0_BST_ALF_Msk (0x10000UL) /*!< ALF (Bitfield-Mask: 0x01) */ + #define R_I3C0_BST_TODF_Pos (20UL) /*!< TODF (Bit 20) */ + #define R_I3C0_BST_TODF_Msk (0x100000UL) /*!< TODF (Bitfield-Mask: 0x01) */ /* ========================================================= BSTE ========================================================== */ - #define I3C_BSTE_STCNDDE_Pos (0UL) /*!< STCNDDE (Bit 0) */ - #define I3C_BSTE_STCNDDE_Msk (0x1UL) /*!< STCNDDE (Bitfield-Mask: 0x01) */ - #define I3C_BSTE_SPCNDDE_Pos (1UL) /*!< SPCNDDE (Bit 1) */ - #define I3C_BSTE_SPCNDDE_Msk (0x2UL) /*!< SPCNDDE (Bitfield-Mask: 0x01) */ - #define I3C_BSTE_HDREXDE_Pos (2UL) /*!< HDREXDE (Bit 2) */ - #define I3C_BSTE_HDREXDE_Msk (0x4UL) /*!< HDREXDE (Bitfield-Mask: 0x01) */ - #define I3C_BSTE_NACKDE_Pos (4UL) /*!< NACKDE (Bit 4) */ - #define I3C_BSTE_NACKDE_Msk (0x10UL) /*!< NACKDE (Bitfield-Mask: 0x01) */ - #define I3C_BSTE_TENDE_Pos (8UL) /*!< TENDE (Bit 8) */ - #define I3C_BSTE_TENDE_Msk (0x100UL) /*!< TENDE (Bitfield-Mask: 0x01) */ - #define I3C_BSTE_ALE_Pos (16UL) /*!< ALE (Bit 16) */ - #define I3C_BSTE_ALE_Msk (0x10000UL) /*!< ALE (Bitfield-Mask: 0x01) */ - #define I3C_BSTE_TODE_Pos (20UL) /*!< TODE (Bit 20) */ - #define I3C_BSTE_TODE_Msk (0x100000UL) /*!< TODE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTE_STCNDDE_Pos (0UL) /*!< STCNDDE (Bit 0) */ + #define R_I3C0_BSTE_STCNDDE_Msk (0x1UL) /*!< STCNDDE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTE_SPCNDDE_Pos (1UL) /*!< SPCNDDE (Bit 1) */ + #define R_I3C0_BSTE_SPCNDDE_Msk (0x2UL) /*!< SPCNDDE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTE_HDREXDE_Pos (2UL) /*!< HDREXDE (Bit 2) */ + #define R_I3C0_BSTE_HDREXDE_Msk (0x4UL) /*!< HDREXDE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTE_NACKDE_Pos (4UL) /*!< NACKDE (Bit 4) */ + #define R_I3C0_BSTE_NACKDE_Msk (0x10UL) /*!< NACKDE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTE_TENDE_Pos (8UL) /*!< TENDE (Bit 8) */ + #define R_I3C0_BSTE_TENDE_Msk (0x100UL) /*!< TENDE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTE_ALE_Pos (16UL) /*!< ALE (Bit 16) */ + #define R_I3C0_BSTE_ALE_Msk (0x10000UL) /*!< ALE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTE_TODE_Pos (20UL) /*!< TODE (Bit 20) */ + #define R_I3C0_BSTE_TODE_Msk (0x100000UL) /*!< TODE (Bitfield-Mask: 0x01) */ /* ========================================================== BIE ========================================================== */ - #define I3C_BIE_STCNDDIE_Pos (0UL) /*!< STCNDDIE (Bit 0) */ - #define I3C_BIE_STCNDDIE_Msk (0x1UL) /*!< STCNDDIE (Bitfield-Mask: 0x01) */ - #define I3C_BIE_SPCNDDIE_Pos (1UL) /*!< SPCNDDIE (Bit 1) */ - #define I3C_BIE_SPCNDDIE_Msk (0x2UL) /*!< SPCNDDIE (Bitfield-Mask: 0x01) */ - #define I3C_BIE_HDREXDIE_Pos (2UL) /*!< HDREXDIE (Bit 2) */ - #define I3C_BIE_HDREXDIE_Msk (0x4UL) /*!< HDREXDIE (Bitfield-Mask: 0x01) */ - #define I3C_BIE_NACKDIE_Pos (4UL) /*!< NACKDIE (Bit 4) */ - #define I3C_BIE_NACKDIE_Msk (0x10UL) /*!< NACKDIE (Bitfield-Mask: 0x01) */ - #define I3C_BIE_TENDIE_Pos (8UL) /*!< TENDIE (Bit 8) */ - #define I3C_BIE_TENDIE_Msk (0x100UL) /*!< TENDIE (Bitfield-Mask: 0x01) */ - #define I3C_BIE_ALIE_Pos (16UL) /*!< ALIE (Bit 16) */ - #define I3C_BIE_ALIE_Msk (0x10000UL) /*!< ALIE (Bitfield-Mask: 0x01) */ - #define I3C_BIE_TODIE_Pos (20UL) /*!< TODIE (Bit 20) */ - #define I3C_BIE_TODIE_Msk (0x100000UL) /*!< TODIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BIE_STCNDDIE_Pos (0UL) /*!< STCNDDIE (Bit 0) */ + #define R_I3C0_BIE_STCNDDIE_Msk (0x1UL) /*!< STCNDDIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BIE_SPCNDDIE_Pos (1UL) /*!< SPCNDDIE (Bit 1) */ + #define R_I3C0_BIE_SPCNDDIE_Msk (0x2UL) /*!< SPCNDDIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BIE_HDREXDIE_Pos (2UL) /*!< HDREXDIE (Bit 2) */ + #define R_I3C0_BIE_HDREXDIE_Msk (0x4UL) /*!< HDREXDIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BIE_NACKDIE_Pos (4UL) /*!< NACKDIE (Bit 4) */ + #define R_I3C0_BIE_NACKDIE_Msk (0x10UL) /*!< NACKDIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BIE_TENDIE_Pos (8UL) /*!< TENDIE (Bit 8) */ + #define R_I3C0_BIE_TENDIE_Msk (0x100UL) /*!< TENDIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BIE_ALIE_Pos (16UL) /*!< ALIE (Bit 16) */ + #define R_I3C0_BIE_ALIE_Msk (0x10000UL) /*!< ALIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_BIE_TODIE_Pos (20UL) /*!< TODIE (Bit 20) */ + #define R_I3C0_BIE_TODIE_Msk (0x100000UL) /*!< TODIE (Bitfield-Mask: 0x01) */ /* ========================================================= BSTFC ========================================================= */ - #define I3C_BSTFC_STCNDDFC_Pos (0UL) /*!< STCNDDFC (Bit 0) */ - #define I3C_BSTFC_STCNDDFC_Msk (0x1UL) /*!< STCNDDFC (Bitfield-Mask: 0x01) */ - #define I3C_BSTFC_SPCNDDFC_Pos (1UL) /*!< SPCNDDFC (Bit 1) */ - #define I3C_BSTFC_SPCNDDFC_Msk (0x2UL) /*!< SPCNDDFC (Bitfield-Mask: 0x01) */ - #define I3C_BSTFC_HDREXDFC_Pos (2UL) /*!< HDREXDFC (Bit 2) */ - #define I3C_BSTFC_HDREXDFC_Msk (0x4UL) /*!< HDREXDFC (Bitfield-Mask: 0x01) */ - #define I3C_BSTFC_NACKDFC_Pos (4UL) /*!< NACKDFC (Bit 4) */ - #define I3C_BSTFC_NACKDFC_Msk (0x10UL) /*!< NACKDFC (Bitfield-Mask: 0x01) */ - #define I3C_BSTFC_TENDFC_Pos (8UL) /*!< TENDFC (Bit 8) */ - #define I3C_BSTFC_TENDFC_Msk (0x100UL) /*!< TENDFC (Bitfield-Mask: 0x01) */ - #define I3C_BSTFC_ALFC_Pos (16UL) /*!< ALFC (Bit 16) */ - #define I3C_BSTFC_ALFC_Msk (0x10000UL) /*!< ALFC (Bitfield-Mask: 0x01) */ - #define I3C_BSTFC_TODFC_Pos (20UL) /*!< TODFC (Bit 20) */ - #define I3C_BSTFC_TODFC_Msk (0x100000UL) /*!< TODFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTFC_STCNDDFC_Pos (0UL) /*!< STCNDDFC (Bit 0) */ + #define R_I3C0_BSTFC_STCNDDFC_Msk (0x1UL) /*!< STCNDDFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTFC_SPCNDDFC_Pos (1UL) /*!< SPCNDDFC (Bit 1) */ + #define R_I3C0_BSTFC_SPCNDDFC_Msk (0x2UL) /*!< SPCNDDFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTFC_HDREXDFC_Pos (2UL) /*!< HDREXDFC (Bit 2) */ + #define R_I3C0_BSTFC_HDREXDFC_Msk (0x4UL) /*!< HDREXDFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTFC_NACKDFC_Pos (4UL) /*!< NACKDFC (Bit 4) */ + #define R_I3C0_BSTFC_NACKDFC_Msk (0x10UL) /*!< NACKDFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTFC_TENDFC_Pos (8UL) /*!< TENDFC (Bit 8) */ + #define R_I3C0_BSTFC_TENDFC_Msk (0x100UL) /*!< TENDFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTFC_ALFC_Pos (16UL) /*!< ALFC (Bit 16) */ + #define R_I3C0_BSTFC_ALFC_Msk (0x10000UL) /*!< ALFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_BSTFC_TODFC_Pos (20UL) /*!< TODFC (Bit 20) */ + #define R_I3C0_BSTFC_TODFC_Msk (0x100000UL) /*!< TODFC (Bitfield-Mask: 0x01) */ /* ========================================================= NTST ========================================================== */ - #define I3C_NTST_TDBEF0_Pos (0UL) /*!< TDBEF0 (Bit 0) */ - #define I3C_NTST_TDBEF0_Msk (0x1UL) /*!< TDBEF0 (Bitfield-Mask: 0x01) */ - #define I3C_NTST_RDBFF0_Pos (1UL) /*!< RDBFF0 (Bit 1) */ - #define I3C_NTST_RDBFF0_Msk (0x2UL) /*!< RDBFF0 (Bitfield-Mask: 0x01) */ - #define I3C_NTST_IBIQEFF_Pos (2UL) /*!< IBIQEFF (Bit 2) */ - #define I3C_NTST_IBIQEFF_Msk (0x4UL) /*!< IBIQEFF (Bitfield-Mask: 0x01) */ - #define I3C_NTST_CMDQEF_Pos (3UL) /*!< CMDQEF (Bit 3) */ - #define I3C_NTST_CMDQEF_Msk (0x8UL) /*!< CMDQEF (Bitfield-Mask: 0x01) */ - #define I3C_NTST_RSPQFF_Pos (4UL) /*!< RSPQFF (Bit 4) */ - #define I3C_NTST_RSPQFF_Msk (0x10UL) /*!< RSPQFF (Bitfield-Mask: 0x01) */ - #define I3C_NTST_TABTF_Pos (5UL) /*!< TABTF (Bit 5) */ - #define I3C_NTST_TABTF_Msk (0x20UL) /*!< TABTF (Bitfield-Mask: 0x01) */ - #define I3C_NTST_TEF_Pos (9UL) /*!< TEF (Bit 9) */ - #define I3C_NTST_TEF_Msk (0x200UL) /*!< TEF (Bitfield-Mask: 0x01) */ - #define I3C_NTST_RSQFF_Pos (20UL) /*!< RSQFF (Bit 20) */ - #define I3C_NTST_RSQFF_Msk (0x100000UL) /*!< RSQFF (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTST_TDBEF0_Pos (0UL) /*!< TDBEF0 (Bit 0) */ + #define R_I3C0_NTST_TDBEF0_Msk (0x1UL) /*!< TDBEF0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTST_RDBFF0_Pos (1UL) /*!< RDBFF0 (Bit 1) */ + #define R_I3C0_NTST_RDBFF0_Msk (0x2UL) /*!< RDBFF0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTST_IBIQEFF_Pos (2UL) /*!< IBIQEFF (Bit 2) */ + #define R_I3C0_NTST_IBIQEFF_Msk (0x4UL) /*!< IBIQEFF (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTST_CMDQEF_Pos (3UL) /*!< CMDQEF (Bit 3) */ + #define R_I3C0_NTST_CMDQEF_Msk (0x8UL) /*!< CMDQEF (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTST_RSPQFF_Pos (4UL) /*!< RSPQFF (Bit 4) */ + #define R_I3C0_NTST_RSPQFF_Msk (0x10UL) /*!< RSPQFF (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTST_TABTF_Pos (5UL) /*!< TABTF (Bit 5) */ + #define R_I3C0_NTST_TABTF_Msk (0x20UL) /*!< TABTF (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTST_TEF_Pos (9UL) /*!< TEF (Bit 9) */ + #define R_I3C0_NTST_TEF_Msk (0x200UL) /*!< TEF (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTST_RSQFF_Pos (20UL) /*!< RSQFF (Bit 20) */ + #define R_I3C0_NTST_RSQFF_Msk (0x100000UL) /*!< RSQFF (Bitfield-Mask: 0x01) */ /* ========================================================= NTSTE ========================================================= */ - #define I3C_NTSTE_TDBEE0_Pos (0UL) /*!< TDBEE0 (Bit 0) */ - #define I3C_NTSTE_TDBEE0_Msk (0x1UL) /*!< TDBEE0 (Bitfield-Mask: 0x01) */ - #define I3C_NTSTE_RDBFE0_Pos (1UL) /*!< RDBFE0 (Bit 1) */ - #define I3C_NTSTE_RDBFE0_Msk (0x2UL) /*!< RDBFE0 (Bitfield-Mask: 0x01) */ - #define I3C_NTSTE_IBIQEFE_Pos (2UL) /*!< IBIQEFE (Bit 2) */ - #define I3C_NTSTE_IBIQEFE_Msk (0x4UL) /*!< IBIQEFE (Bitfield-Mask: 0x01) */ - #define I3C_NTSTE_CMDQEE_Pos (3UL) /*!< CMDQEE (Bit 3) */ - #define I3C_NTSTE_CMDQEE_Msk (0x8UL) /*!< CMDQEE (Bitfield-Mask: 0x01) */ - #define I3C_NTSTE_RSPQFE_Pos (4UL) /*!< RSPQFE (Bit 4) */ - #define I3C_NTSTE_RSPQFE_Msk (0x10UL) /*!< RSPQFE (Bitfield-Mask: 0x01) */ - #define I3C_NTSTE_TABTE_Pos (5UL) /*!< TABTE (Bit 5) */ - #define I3C_NTSTE_TABTE_Msk (0x20UL) /*!< TABTE (Bitfield-Mask: 0x01) */ - #define I3C_NTSTE_TEE_Pos (9UL) /*!< TEE (Bit 9) */ - #define I3C_NTSTE_TEE_Msk (0x200UL) /*!< TEE (Bitfield-Mask: 0x01) */ - #define I3C_NTSTE_RSQFE_Pos (20UL) /*!< RSQFE (Bit 20) */ - #define I3C_NTSTE_RSQFE_Msk (0x100000UL) /*!< RSQFE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTE_TDBEE0_Pos (0UL) /*!< TDBEE0 (Bit 0) */ + #define R_I3C0_NTSTE_TDBEE0_Msk (0x1UL) /*!< TDBEE0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTE_RDBFE0_Pos (1UL) /*!< RDBFE0 (Bit 1) */ + #define R_I3C0_NTSTE_RDBFE0_Msk (0x2UL) /*!< RDBFE0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTE_IBIQEFE_Pos (2UL) /*!< IBIQEFE (Bit 2) */ + #define R_I3C0_NTSTE_IBIQEFE_Msk (0x4UL) /*!< IBIQEFE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTE_CMDQEE_Pos (3UL) /*!< CMDQEE (Bit 3) */ + #define R_I3C0_NTSTE_CMDQEE_Msk (0x8UL) /*!< CMDQEE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTE_RSPQFE_Pos (4UL) /*!< RSPQFE (Bit 4) */ + #define R_I3C0_NTSTE_RSPQFE_Msk (0x10UL) /*!< RSPQFE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTE_TABTE_Pos (5UL) /*!< TABTE (Bit 5) */ + #define R_I3C0_NTSTE_TABTE_Msk (0x20UL) /*!< TABTE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTE_TEE_Pos (9UL) /*!< TEE (Bit 9) */ + #define R_I3C0_NTSTE_TEE_Msk (0x200UL) /*!< TEE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTE_RSQFE_Pos (20UL) /*!< RSQFE (Bit 20) */ + #define R_I3C0_NTSTE_RSQFE_Msk (0x100000UL) /*!< RSQFE (Bitfield-Mask: 0x01) */ /* ========================================================= NTIE ========================================================== */ - #define I3C_NTIE_TDBEIE0_Pos (0UL) /*!< TDBEIE0 (Bit 0) */ - #define I3C_NTIE_TDBEIE0_Msk (0x1UL) /*!< TDBEIE0 (Bitfield-Mask: 0x01) */ - #define I3C_NTIE_RDBFIE0_Pos (1UL) /*!< RDBFIE0 (Bit 1) */ - #define I3C_NTIE_RDBFIE0_Msk (0x2UL) /*!< RDBFIE0 (Bitfield-Mask: 0x01) */ - #define I3C_NTIE_IBIQEFIE_Pos (2UL) /*!< IBIQEFIE (Bit 2) */ - #define I3C_NTIE_IBIQEFIE_Msk (0x4UL) /*!< IBIQEFIE (Bitfield-Mask: 0x01) */ - #define I3C_NTIE_CMDQEIE_Pos (3UL) /*!< CMDQEIE (Bit 3) */ - #define I3C_NTIE_CMDQEIE_Msk (0x8UL) /*!< CMDQEIE (Bitfield-Mask: 0x01) */ - #define I3C_NTIE_RSPQFIE_Pos (4UL) /*!< RSPQFIE (Bit 4) */ - #define I3C_NTIE_RSPQFIE_Msk (0x10UL) /*!< RSPQFIE (Bitfield-Mask: 0x01) */ - #define I3C_NTIE_TABTIE_Pos (5UL) /*!< TABTIE (Bit 5) */ - #define I3C_NTIE_TABTIE_Msk (0x20UL) /*!< TABTIE (Bitfield-Mask: 0x01) */ - #define I3C_NTIE_TEIE_Pos (9UL) /*!< TEIE (Bit 9) */ - #define I3C_NTIE_TEIE_Msk (0x200UL) /*!< TEIE (Bitfield-Mask: 0x01) */ - #define I3C_NTIE_RSQFIE_Pos (20UL) /*!< RSQFIE (Bit 20) */ - #define I3C_NTIE_RSQFIE_Msk (0x100000UL) /*!< RSQFIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTIE_TDBEIE0_Pos (0UL) /*!< TDBEIE0 (Bit 0) */ + #define R_I3C0_NTIE_TDBEIE0_Msk (0x1UL) /*!< TDBEIE0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTIE_RDBFIE0_Pos (1UL) /*!< RDBFIE0 (Bit 1) */ + #define R_I3C0_NTIE_RDBFIE0_Msk (0x2UL) /*!< RDBFIE0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTIE_IBIQEFIE_Pos (2UL) /*!< IBIQEFIE (Bit 2) */ + #define R_I3C0_NTIE_IBIQEFIE_Msk (0x4UL) /*!< IBIQEFIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTIE_CMDQEIE_Pos (3UL) /*!< CMDQEIE (Bit 3) */ + #define R_I3C0_NTIE_CMDQEIE_Msk (0x8UL) /*!< CMDQEIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTIE_RSPQFIE_Pos (4UL) /*!< RSPQFIE (Bit 4) */ + #define R_I3C0_NTIE_RSPQFIE_Msk (0x10UL) /*!< RSPQFIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTIE_TABTIE_Pos (5UL) /*!< TABTIE (Bit 5) */ + #define R_I3C0_NTIE_TABTIE_Msk (0x20UL) /*!< TABTIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTIE_TEIE_Pos (9UL) /*!< TEIE (Bit 9) */ + #define R_I3C0_NTIE_TEIE_Msk (0x200UL) /*!< TEIE (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTIE_RSQFIE_Pos (20UL) /*!< RSQFIE (Bit 20) */ + #define R_I3C0_NTIE_RSQFIE_Msk (0x100000UL) /*!< RSQFIE (Bitfield-Mask: 0x01) */ /* ======================================================== NTSTFC ========================================================= */ - #define I3C_NTSTFC_TDBEFC0_Pos (0UL) /*!< TDBEFC0 (Bit 0) */ - #define I3C_NTSTFC_TDBEFC0_Msk (0x1UL) /*!< TDBEFC0 (Bitfield-Mask: 0x01) */ - #define I3C_NTSTFC_RDBFFC0_Pos (1UL) /*!< RDBFFC0 (Bit 1) */ - #define I3C_NTSTFC_RDBFFC0_Msk (0x2UL) /*!< RDBFFC0 (Bitfield-Mask: 0x01) */ - #define I3C_NTSTFC_IBIQEFFC_Pos (2UL) /*!< IBIQEFFC (Bit 2) */ - #define I3C_NTSTFC_IBIQEFFC_Msk (0x4UL) /*!< IBIQEFFC (Bitfield-Mask: 0x01) */ - #define I3C_NTSTFC_CMDQEFC_Pos (3UL) /*!< CMDQEFC (Bit 3) */ - #define I3C_NTSTFC_CMDQEFC_Msk (0x8UL) /*!< CMDQEFC (Bitfield-Mask: 0x01) */ - #define I3C_NTSTFC_RSPQFFC_Pos (4UL) /*!< RSPQFFC (Bit 4) */ - #define I3C_NTSTFC_RSPQFFC_Msk (0x10UL) /*!< RSPQFFC (Bitfield-Mask: 0x01) */ - #define I3C_NTSTFC_TABTFC_Pos (5UL) /*!< TABTFC (Bit 5) */ - #define I3C_NTSTFC_TABTFC_Msk (0x20UL) /*!< TABTFC (Bitfield-Mask: 0x01) */ - #define I3C_NTSTFC_TEFC_Pos (9UL) /*!< TEFC (Bit 9) */ - #define I3C_NTSTFC_TEFC_Msk (0x200UL) /*!< TEFC (Bitfield-Mask: 0x01) */ - #define I3C_NTSTFC_RSQFFC_Pos (20UL) /*!< RSQFFC (Bit 20) */ - #define I3C_NTSTFC_RSQFFC_Msk (0x100000UL) /*!< RSQFFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTFC_TDBEFC0_Pos (0UL) /*!< TDBEFC0 (Bit 0) */ + #define R_I3C0_NTSTFC_TDBEFC0_Msk (0x1UL) /*!< TDBEFC0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTFC_RDBFFC0_Pos (1UL) /*!< RDBFFC0 (Bit 1) */ + #define R_I3C0_NTSTFC_RDBFFC0_Msk (0x2UL) /*!< RDBFFC0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTFC_IBIQEFFC_Pos (2UL) /*!< IBIQEFFC (Bit 2) */ + #define R_I3C0_NTSTFC_IBIQEFFC_Msk (0x4UL) /*!< IBIQEFFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTFC_CMDQEFC_Pos (3UL) /*!< CMDQEFC (Bit 3) */ + #define R_I3C0_NTSTFC_CMDQEFC_Msk (0x8UL) /*!< CMDQEFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTFC_RSPQFFC_Pos (4UL) /*!< RSPQFFC (Bit 4) */ + #define R_I3C0_NTSTFC_RSPQFFC_Msk (0x10UL) /*!< RSPQFFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTFC_TABTFC_Pos (5UL) /*!< TABTFC (Bit 5) */ + #define R_I3C0_NTSTFC_TABTFC_Msk (0x20UL) /*!< TABTFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTFC_TEFC_Pos (9UL) /*!< TEFC (Bit 9) */ + #define R_I3C0_NTSTFC_TEFC_Msk (0x200UL) /*!< TEFC (Bitfield-Mask: 0x01) */ + #define R_I3C0_NTSTFC_RSQFFC_Pos (20UL) /*!< RSQFFC (Bit 20) */ + #define R_I3C0_NTSTFC_RSQFFC_Msk (0x100000UL) /*!< RSQFFC (Bitfield-Mask: 0x01) */ +/* ========================================================= BCST ========================================================== */ + #define R_I3C0_BCST_BFREF_Pos (0UL) /*!< BFREF (Bit 0) */ + #define R_I3C0_BCST_BFREF_Msk (0x1UL) /*!< BFREF (Bitfield-Mask: 0x01) */ + #define R_I3C0_BCST_BAVLF_Pos (1UL) /*!< BAVLF (Bit 1) */ + #define R_I3C0_BCST_BAVLF_Msk (0x2UL) /*!< BAVLF (Bitfield-Mask: 0x01) */ + #define R_I3C0_BCST_BIDLF_Pos (2UL) /*!< BIDLF (Bit 2) */ + #define R_I3C0_BCST_BIDLF_Msk (0x4UL) /*!< BIDLF (Bitfield-Mask: 0x01) */ /* ========================================================= SVST ========================================================== */ - #define I3C_SVST_GCAF_Pos (0UL) /*!< GCAF (Bit 0) */ - #define I3C_SVST_GCAF_Msk (0x1UL) /*!< GCAF (Bitfield-Mask: 0x01) */ - #define I3C_SVST_HSMCF_Pos (5UL) /*!< HSMCF (Bit 5) */ - #define I3C_SVST_HSMCF_Msk (0x20UL) /*!< HSMCF (Bitfield-Mask: 0x01) */ - #define I3C_SVST_DVIDF_Pos (6UL) /*!< DVIDF (Bit 6) */ - #define I3C_SVST_DVIDF_Msk (0x40UL) /*!< DVIDF (Bitfield-Mask: 0x01) */ - #define I3C_SVST_HOAF_Pos (15UL) /*!< HOAF (Bit 15) */ - #define I3C_SVST_HOAF_Msk (0x8000UL) /*!< HOAF (Bitfield-Mask: 0x01) */ - #define I3C_SVST_SVAFn_Pos (16UL) /*!< SVAFn (Bit 16) */ - #define I3C_SVST_SVAFn_Msk (0x10000UL) /*!< SVAFn (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVST_GCAF_Pos (0UL) /*!< GCAF (Bit 0) */ + #define R_I3C0_SVST_GCAF_Msk (0x1UL) /*!< GCAF (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVST_HSMCF_Pos (5UL) /*!< HSMCF (Bit 5) */ + #define R_I3C0_SVST_HSMCF_Msk (0x20UL) /*!< HSMCF (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVST_DVIDF_Pos (6UL) /*!< DVIDF (Bit 6) */ + #define R_I3C0_SVST_DVIDF_Msk (0x40UL) /*!< DVIDF (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVST_HOAF_Pos (15UL) /*!< HOAF (Bit 15) */ + #define R_I3C0_SVST_HOAF_Msk (0x8000UL) /*!< HOAF (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVST_SVAFn_Pos (16UL) /*!< SVAFn (Bit 16) */ + #define R_I3C0_SVST_SVAFn_Msk (0x10000UL) /*!< SVAFn (Bitfield-Mask: 0x01) */ /* ======================================================== DATBAS0 ======================================================== */ - #define I3C_DATBAS0_DVSTAD_Pos (0UL) /*!< DVSTAD (Bit 0) */ - #define I3C_DATBAS0_DVSTAD_Msk (0x7fUL) /*!< DVSTAD (Bitfield-Mask: 0x7f) */ - #define I3C_DATBAS0_DVIBIPL_Pos (12UL) /*!< DVIBIPL (Bit 12) */ - #define I3C_DATBAS0_DVIBIPL_Msk (0x1000UL) /*!< DVIBIPL (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS0_DVSIRRJ_Pos (13UL) /*!< DVSIRRJ (Bit 13) */ - #define I3C_DATBAS0_DVSIRRJ_Msk (0x2000UL) /*!< DVSIRRJ (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS0_DVMRRJ_Pos (14UL) /*!< DVMRRJ (Bit 14) */ - #define I3C_DATBAS0_DVMRRJ_Msk (0x4000UL) /*!< DVMRRJ (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS0_DVIBITS_Pos (15UL) /*!< DVIBITS (Bit 15) */ - #define I3C_DATBAS0_DVIBITS_Msk (0x8000UL) /*!< DVIBITS (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS0_DVDYAD_Pos (16UL) /*!< DVDYAD (Bit 16) */ - #define I3C_DATBAS0_DVDYAD_Msk (0xff0000UL) /*!< DVDYAD (Bitfield-Mask: 0xff) */ - #define I3C_DATBAS0_DVNACK_Pos (29UL) /*!< DVNACK (Bit 29) */ - #define I3C_DATBAS0_DVNACK_Msk (0x60000000UL) /*!< DVNACK (Bitfield-Mask: 0x03) */ - #define I3C_DATBAS0_DVTYP_Pos (31UL) /*!< DVTYP (Bit 31) */ - #define I3C_DATBAS0_DVTYP_Msk (0x80000000UL) /*!< DVTYP (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS0_DVSTAD_Pos (0UL) /*!< DVSTAD (Bit 0) */ + #define R_I3C0_DATBAS0_DVSTAD_Msk (0x7fUL) /*!< DVSTAD (Bitfield-Mask: 0x7f) */ + #define R_I3C0_DATBAS0_DVIBIPL_Pos (12UL) /*!< DVIBIPL (Bit 12) */ + #define R_I3C0_DATBAS0_DVIBIPL_Msk (0x1000UL) /*!< DVIBIPL (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS0_DVSIRRJ_Pos (13UL) /*!< DVSIRRJ (Bit 13) */ + #define R_I3C0_DATBAS0_DVSIRRJ_Msk (0x2000UL) /*!< DVSIRRJ (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS0_DVMRRJ_Pos (14UL) /*!< DVMRRJ (Bit 14) */ + #define R_I3C0_DATBAS0_DVMRRJ_Msk (0x4000UL) /*!< DVMRRJ (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS0_DVIBITS_Pos (15UL) /*!< DVIBITS (Bit 15) */ + #define R_I3C0_DATBAS0_DVIBITS_Msk (0x8000UL) /*!< DVIBITS (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS0_DVDYAD_Pos (16UL) /*!< DVDYAD (Bit 16) */ + #define R_I3C0_DATBAS0_DVDYAD_Msk (0xff0000UL) /*!< DVDYAD (Bitfield-Mask: 0xff) */ + #define R_I3C0_DATBAS0_DVNACK_Pos (29UL) /*!< DVNACK (Bit 29) */ + #define R_I3C0_DATBAS0_DVNACK_Msk (0x60000000UL) /*!< DVNACK (Bitfield-Mask: 0x03) */ + #define R_I3C0_DATBAS0_DVTYP_Pos (31UL) /*!< DVTYP (Bit 31) */ + #define R_I3C0_DATBAS0_DVTYP_Msk (0x80000000UL) /*!< DVTYP (Bitfield-Mask: 0x01) */ /* ======================================================== DATBAS1 ======================================================== */ - #define I3C_DATBAS1_DVSTAD_Pos (0UL) /*!< DVSTAD (Bit 0) */ - #define I3C_DATBAS1_DVSTAD_Msk (0x7fUL) /*!< DVSTAD (Bitfield-Mask: 0x7f) */ - #define I3C_DATBAS1_DVIBIPL_Pos (12UL) /*!< DVIBIPL (Bit 12) */ - #define I3C_DATBAS1_DVIBIPL_Msk (0x1000UL) /*!< DVIBIPL (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS1_DVSIRRJ_Pos (13UL) /*!< DVSIRRJ (Bit 13) */ - #define I3C_DATBAS1_DVSIRRJ_Msk (0x2000UL) /*!< DVSIRRJ (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS1_DVMRRJ_Pos (14UL) /*!< DVMRRJ (Bit 14) */ - #define I3C_DATBAS1_DVMRRJ_Msk (0x4000UL) /*!< DVMRRJ (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS1_DVIBITS_Pos (15UL) /*!< DVIBITS (Bit 15) */ - #define I3C_DATBAS1_DVIBITS_Msk (0x8000UL) /*!< DVIBITS (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS1_DVDYAD_Pos (16UL) /*!< DVDYAD (Bit 16) */ - #define I3C_DATBAS1_DVDYAD_Msk (0xff0000UL) /*!< DVDYAD (Bitfield-Mask: 0xff) */ - #define I3C_DATBAS1_DVNACK_Pos (29UL) /*!< DVNACK (Bit 29) */ - #define I3C_DATBAS1_DVNACK_Msk (0x60000000UL) /*!< DVNACK (Bitfield-Mask: 0x03) */ - #define I3C_DATBAS1_DVTYP_Pos (31UL) /*!< DVTYP (Bit 31) */ - #define I3C_DATBAS1_DVTYP_Msk (0x80000000UL) /*!< DVTYP (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS1_DVSTAD_Pos (0UL) /*!< DVSTAD (Bit 0) */ + #define R_I3C0_DATBAS1_DVSTAD_Msk (0x7fUL) /*!< DVSTAD (Bitfield-Mask: 0x7f) */ + #define R_I3C0_DATBAS1_DVIBIPL_Pos (12UL) /*!< DVIBIPL (Bit 12) */ + #define R_I3C0_DATBAS1_DVIBIPL_Msk (0x1000UL) /*!< DVIBIPL (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS1_DVSIRRJ_Pos (13UL) /*!< DVSIRRJ (Bit 13) */ + #define R_I3C0_DATBAS1_DVSIRRJ_Msk (0x2000UL) /*!< DVSIRRJ (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS1_DVMRRJ_Pos (14UL) /*!< DVMRRJ (Bit 14) */ + #define R_I3C0_DATBAS1_DVMRRJ_Msk (0x4000UL) /*!< DVMRRJ (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS1_DVIBITS_Pos (15UL) /*!< DVIBITS (Bit 15) */ + #define R_I3C0_DATBAS1_DVIBITS_Msk (0x8000UL) /*!< DVIBITS (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS1_DVDYAD_Pos (16UL) /*!< DVDYAD (Bit 16) */ + #define R_I3C0_DATBAS1_DVDYAD_Msk (0xff0000UL) /*!< DVDYAD (Bitfield-Mask: 0xff) */ + #define R_I3C0_DATBAS1_DVNACK_Pos (29UL) /*!< DVNACK (Bit 29) */ + #define R_I3C0_DATBAS1_DVNACK_Msk (0x60000000UL) /*!< DVNACK (Bitfield-Mask: 0x03) */ + #define R_I3C0_DATBAS1_DVTYP_Pos (31UL) /*!< DVTYP (Bit 31) */ + #define R_I3C0_DATBAS1_DVTYP_Msk (0x80000000UL) /*!< DVTYP (Bitfield-Mask: 0x01) */ /* ======================================================== DATBAS2 ======================================================== */ - #define I3C_DATBAS2_DVSTAD_Pos (0UL) /*!< DVSTAD (Bit 0) */ - #define I3C_DATBAS2_DVSTAD_Msk (0x7fUL) /*!< DVSTAD (Bitfield-Mask: 0x7f) */ - #define I3C_DATBAS2_DVIBIPL_Pos (12UL) /*!< DVIBIPL (Bit 12) */ - #define I3C_DATBAS2_DVIBIPL_Msk (0x1000UL) /*!< DVIBIPL (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS2_DVSIRRJ_Pos (13UL) /*!< DVSIRRJ (Bit 13) */ - #define I3C_DATBAS2_DVSIRRJ_Msk (0x2000UL) /*!< DVSIRRJ (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS2_DVMRRJ_Pos (14UL) /*!< DVMRRJ (Bit 14) */ - #define I3C_DATBAS2_DVMRRJ_Msk (0x4000UL) /*!< DVMRRJ (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS2_DVIBITS_Pos (15UL) /*!< DVIBITS (Bit 15) */ - #define I3C_DATBAS2_DVIBITS_Msk (0x8000UL) /*!< DVIBITS (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS2_DVDYAD_Pos (16UL) /*!< DVDYAD (Bit 16) */ - #define I3C_DATBAS2_DVDYAD_Msk (0xff0000UL) /*!< DVDYAD (Bitfield-Mask: 0xff) */ - #define I3C_DATBAS2_DVNACK_Pos (29UL) /*!< DVNACK (Bit 29) */ - #define I3C_DATBAS2_DVNACK_Msk (0x60000000UL) /*!< DVNACK (Bitfield-Mask: 0x03) */ - #define I3C_DATBAS2_DVTYP_Pos (31UL) /*!< DVTYP (Bit 31) */ - #define I3C_DATBAS2_DVTYP_Msk (0x80000000UL) /*!< DVTYP (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS2_DVSTAD_Pos (0UL) /*!< DVSTAD (Bit 0) */ + #define R_I3C0_DATBAS2_DVSTAD_Msk (0x7fUL) /*!< DVSTAD (Bitfield-Mask: 0x7f) */ + #define R_I3C0_DATBAS2_DVIBIPL_Pos (12UL) /*!< DVIBIPL (Bit 12) */ + #define R_I3C0_DATBAS2_DVIBIPL_Msk (0x1000UL) /*!< DVIBIPL (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS2_DVSIRRJ_Pos (13UL) /*!< DVSIRRJ (Bit 13) */ + #define R_I3C0_DATBAS2_DVSIRRJ_Msk (0x2000UL) /*!< DVSIRRJ (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS2_DVMRRJ_Pos (14UL) /*!< DVMRRJ (Bit 14) */ + #define R_I3C0_DATBAS2_DVMRRJ_Msk (0x4000UL) /*!< DVMRRJ (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS2_DVIBITS_Pos (15UL) /*!< DVIBITS (Bit 15) */ + #define R_I3C0_DATBAS2_DVIBITS_Msk (0x8000UL) /*!< DVIBITS (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS2_DVDYAD_Pos (16UL) /*!< DVDYAD (Bit 16) */ + #define R_I3C0_DATBAS2_DVDYAD_Msk (0xff0000UL) /*!< DVDYAD (Bitfield-Mask: 0xff) */ + #define R_I3C0_DATBAS2_DVNACK_Pos (29UL) /*!< DVNACK (Bit 29) */ + #define R_I3C0_DATBAS2_DVNACK_Msk (0x60000000UL) /*!< DVNACK (Bitfield-Mask: 0x03) */ + #define R_I3C0_DATBAS2_DVTYP_Pos (31UL) /*!< DVTYP (Bit 31) */ + #define R_I3C0_DATBAS2_DVTYP_Msk (0x80000000UL) /*!< DVTYP (Bitfield-Mask: 0x01) */ /* ======================================================== DATBAS3 ======================================================== */ - #define I3C_DATBAS3_DVSTAD_Pos (0UL) /*!< DVSTAD (Bit 0) */ - #define I3C_DATBAS3_DVSTAD_Msk (0x7fUL) /*!< DVSTAD (Bitfield-Mask: 0x7f) */ - #define I3C_DATBAS3_DVIBIPL_Pos (12UL) /*!< DVIBIPL (Bit 12) */ - #define I3C_DATBAS3_DVIBIPL_Msk (0x1000UL) /*!< DVIBIPL (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS3_DVSIRRJ_Pos (13UL) /*!< DVSIRRJ (Bit 13) */ - #define I3C_DATBAS3_DVSIRRJ_Msk (0x2000UL) /*!< DVSIRRJ (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS3_DVMRRJ_Pos (14UL) /*!< DVMRRJ (Bit 14) */ - #define I3C_DATBAS3_DVMRRJ_Msk (0x4000UL) /*!< DVMRRJ (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS3_DVIBITS_Pos (15UL) /*!< DVIBITS (Bit 15) */ - #define I3C_DATBAS3_DVIBITS_Msk (0x8000UL) /*!< DVIBITS (Bitfield-Mask: 0x01) */ - #define I3C_DATBAS3_DVDYAD_Pos (16UL) /*!< DVDYAD (Bit 16) */ - #define I3C_DATBAS3_DVDYAD_Msk (0xff0000UL) /*!< DVDYAD (Bitfield-Mask: 0xff) */ - #define I3C_DATBAS3_DVNACK_Pos (29UL) /*!< DVNACK (Bit 29) */ - #define I3C_DATBAS3_DVNACK_Msk (0x60000000UL) /*!< DVNACK (Bitfield-Mask: 0x03) */ - #define I3C_DATBAS3_DVTYP_Pos (31UL) /*!< DVTYP (Bit 31) */ - #define I3C_DATBAS3_DVTYP_Msk (0x80000000UL) /*!< DVTYP (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS3_DVSTAD_Pos (0UL) /*!< DVSTAD (Bit 0) */ + #define R_I3C0_DATBAS3_DVSTAD_Msk (0x7fUL) /*!< DVSTAD (Bitfield-Mask: 0x7f) */ + #define R_I3C0_DATBAS3_DVIBIPL_Pos (12UL) /*!< DVIBIPL (Bit 12) */ + #define R_I3C0_DATBAS3_DVIBIPL_Msk (0x1000UL) /*!< DVIBIPL (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS3_DVSIRRJ_Pos (13UL) /*!< DVSIRRJ (Bit 13) */ + #define R_I3C0_DATBAS3_DVSIRRJ_Msk (0x2000UL) /*!< DVSIRRJ (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS3_DVMRRJ_Pos (14UL) /*!< DVMRRJ (Bit 14) */ + #define R_I3C0_DATBAS3_DVMRRJ_Msk (0x4000UL) /*!< DVMRRJ (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS3_DVIBITS_Pos (15UL) /*!< DVIBITS (Bit 15) */ + #define R_I3C0_DATBAS3_DVIBITS_Msk (0x8000UL) /*!< DVIBITS (Bitfield-Mask: 0x01) */ + #define R_I3C0_DATBAS3_DVDYAD_Pos (16UL) /*!< DVDYAD (Bit 16) */ + #define R_I3C0_DATBAS3_DVDYAD_Msk (0xff0000UL) /*!< DVDYAD (Bitfield-Mask: 0xff) */ + #define R_I3C0_DATBAS3_DVNACK_Pos (29UL) /*!< DVNACK (Bit 29) */ + #define R_I3C0_DATBAS3_DVNACK_Msk (0x60000000UL) /*!< DVNACK (Bitfield-Mask: 0x03) */ + #define R_I3C0_DATBAS3_DVTYP_Pos (31UL) /*!< DVTYP (Bit 31) */ + #define R_I3C0_DATBAS3_DVTYP_Msk (0x80000000UL) /*!< DVTYP (Bitfield-Mask: 0x01) */ /* ======================================================= EXDATBAS ======================================================== */ - #define I3C_EXDATBAS_EDSTAD_Pos (0UL) /*!< EDSTAD (Bit 0) */ - #define I3C_EXDATBAS_EDSTAD_Msk (0x7fUL) /*!< EDSTAD (Bitfield-Mask: 0x7f) */ - #define I3C_EXDATBAS_EDDYAD_Pos (16UL) /*!< EDDYAD (Bit 16) */ - #define I3C_EXDATBAS_EDDYAD_Msk (0xff0000UL) /*!< EDDYAD (Bitfield-Mask: 0xff) */ - #define I3C_EXDATBAS_EDNACK_Pos (29UL) /*!< EDNACK (Bit 29) */ - #define I3C_EXDATBAS_EDNACK_Msk (0x60000000UL) /*!< EDNACK (Bitfield-Mask: 0x03) */ - #define I3C_EXDATBAS_EDTYP_Pos (31UL) /*!< EDTYP (Bit 31) */ - #define I3C_EXDATBAS_EDTYP_Msk (0x80000000UL) /*!< EDTYP (Bitfield-Mask: 0x01) */ + #define R_I3C0_EXDATBAS_EDSTAD_Pos (0UL) /*!< EDSTAD (Bit 0) */ + #define R_I3C0_EXDATBAS_EDSTAD_Msk (0x7fUL) /*!< EDSTAD (Bitfield-Mask: 0x7f) */ + #define R_I3C0_EXDATBAS_EDDYAD_Pos (16UL) /*!< EDDYAD (Bit 16) */ + #define R_I3C0_EXDATBAS_EDDYAD_Msk (0xff0000UL) /*!< EDDYAD (Bitfield-Mask: 0xff) */ + #define R_I3C0_EXDATBAS_EDNACK_Pos (29UL) /*!< EDNACK (Bit 29) */ + #define R_I3C0_EXDATBAS_EDNACK_Msk (0x60000000UL) /*!< EDNACK (Bitfield-Mask: 0x03) */ + #define R_I3C0_EXDATBAS_EDTYP_Pos (31UL) /*!< EDTYP (Bit 31) */ + #define R_I3C0_EXDATBAS_EDTYP_Msk (0x80000000UL) /*!< EDTYP (Bitfield-Mask: 0x01) */ /* ======================================================= SDATBAS0 ======================================================== */ - #define I3C_SDATBAS0_SDSTAD_Pos (0UL) /*!< SDSTAD (Bit 0) */ - #define I3C_SDATBAS0_SDSTAD_Msk (0x3ffUL) /*!< SDSTAD (Bitfield-Mask: 0x3ff) */ - #define I3C_SDATBAS0_SDADLS_Pos (10UL) /*!< SDADLS (Bit 10) */ - #define I3C_SDATBAS0_SDADLS_Msk (0x400UL) /*!< SDADLS (Bitfield-Mask: 0x01) */ - #define I3C_SDATBAS0_SDIBIPL_Pos (12UL) /*!< SDIBIPL (Bit 12) */ - #define I3C_SDATBAS0_SDIBIPL_Msk (0x1000UL) /*!< SDIBIPL (Bitfield-Mask: 0x01) */ - #define I3C_SDATBAS0_SDDYAD_Pos (16UL) /*!< SDDYAD (Bit 16) */ - #define I3C_SDATBAS0_SDDYAD_Msk (0x7f0000UL) /*!< SDDYAD (Bitfield-Mask: 0x7f) */ + #define R_I3C0_SDATBAS0_SDSTAD_Pos (0UL) /*!< SDSTAD (Bit 0) */ + #define R_I3C0_SDATBAS0_SDSTAD_Msk (0x3ffUL) /*!< SDSTAD (Bitfield-Mask: 0x3ff) */ + #define R_I3C0_SDATBAS0_SDADLS_Pos (10UL) /*!< SDADLS (Bit 10) */ + #define R_I3C0_SDATBAS0_SDADLS_Msk (0x400UL) /*!< SDADLS (Bitfield-Mask: 0x01) */ + #define R_I3C0_SDATBAS0_SDIBIPL_Pos (12UL) /*!< SDIBIPL (Bit 12) */ + #define R_I3C0_SDATBAS0_SDIBIPL_Msk (0x1000UL) /*!< SDIBIPL (Bitfield-Mask: 0x01) */ + #define R_I3C0_SDATBAS0_SDDYAD_Pos (16UL) /*!< SDDYAD (Bit 16) */ + #define R_I3C0_SDATBAS0_SDDYAD_Msk (0x7f0000UL) /*!< SDDYAD (Bitfield-Mask: 0x7f) */ +/* ======================================================= SDATBAS1 ======================================================== */ + #define R_I3C0_SDATBAS1_SDSTAD_Pos (0UL) /*!< SDSTAD (Bit 0) */ + #define R_I3C0_SDATBAS1_SDSTAD_Msk (0x3ffUL) /*!< SDSTAD (Bitfield-Mask: 0x3ff) */ + #define R_I3C0_SDATBAS1_SDADLS_Pos (10UL) /*!< SDADLS (Bit 10) */ + #define R_I3C0_SDATBAS1_SDADLS_Msk (0x400UL) /*!< SDADLS (Bitfield-Mask: 0x01) */ + #define R_I3C0_SDATBAS1_SDIBIPL_Pos (12UL) /*!< SDIBIPL (Bit 12) */ + #define R_I3C0_SDATBAS1_SDIBIPL_Msk (0x1000UL) /*!< SDIBIPL (Bitfield-Mask: 0x01) */ + #define R_I3C0_SDATBAS1_SDDYAD_Pos (16UL) /*!< SDDYAD (Bit 16) */ + #define R_I3C0_SDATBAS1_SDDYAD_Msk (0x7f0000UL) /*!< SDDYAD (Bitfield-Mask: 0x7f) */ +/* ======================================================= SDATBAS2 ======================================================== */ + #define R_I3C0_SDATBAS2_SDSTAD_Pos (0UL) /*!< SDSTAD (Bit 0) */ + #define R_I3C0_SDATBAS2_SDSTAD_Msk (0x3ffUL) /*!< SDSTAD (Bitfield-Mask: 0x3ff) */ + #define R_I3C0_SDATBAS2_SDADLS_Pos (10UL) /*!< SDADLS (Bit 10) */ + #define R_I3C0_SDATBAS2_SDADLS_Msk (0x400UL) /*!< SDADLS (Bitfield-Mask: 0x01) */ + #define R_I3C0_SDATBAS2_SDIBIPL_Pos (12UL) /*!< SDIBIPL (Bit 12) */ + #define R_I3C0_SDATBAS2_SDIBIPL_Msk (0x1000UL) /*!< SDIBIPL (Bitfield-Mask: 0x01) */ + #define R_I3C0_SDATBAS2_SDDYAD_Pos (16UL) /*!< SDDYAD (Bit 16) */ + #define R_I3C0_SDATBAS2_SDDYAD_Msk (0x7f0000UL) /*!< SDDYAD (Bitfield-Mask: 0x7f) */ /* ======================================================== MSDCT0 ========================================================= */ - #define I3C_MSDCT0_RBCR0_Pos (8UL) /*!< RBCR0 (Bit 8) */ - #define I3C_MSDCT0_RBCR0_Msk (0x100UL) /*!< RBCR0 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT0_RBCR1_Pos (9UL) /*!< RBCR1 (Bit 9) */ - #define I3C_MSDCT0_RBCR1_Msk (0x200UL) /*!< RBCR1 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT0_RBCR2_Pos (10UL) /*!< RBCR2 (Bit 10) */ - #define I3C_MSDCT0_RBCR2_Msk (0x400UL) /*!< RBCR2 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT0_RBCR3_Pos (11UL) /*!< RBCR3 (Bit 11) */ - #define I3C_MSDCT0_RBCR3_Msk (0x800UL) /*!< RBCR3 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT0_RBCR76_Pos (14UL) /*!< RBCR76 (Bit 14) */ - #define I3C_MSDCT0_RBCR76_Msk (0xc000UL) /*!< RBCR76 (Bitfield-Mask: 0x03) */ + #define R_I3C0_MSDCT0_RBCR0_Pos (8UL) /*!< RBCR0 (Bit 8) */ + #define R_I3C0_MSDCT0_RBCR0_Msk (0x100UL) /*!< RBCR0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT0_RBCR1_Pos (9UL) /*!< RBCR1 (Bit 9) */ + #define R_I3C0_MSDCT0_RBCR1_Msk (0x200UL) /*!< RBCR1 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT0_RBCR2_Pos (10UL) /*!< RBCR2 (Bit 10) */ + #define R_I3C0_MSDCT0_RBCR2_Msk (0x400UL) /*!< RBCR2 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT0_RBCR3_Pos (11UL) /*!< RBCR3 (Bit 11) */ + #define R_I3C0_MSDCT0_RBCR3_Msk (0x800UL) /*!< RBCR3 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT0_RBCR76_Pos (14UL) /*!< RBCR76 (Bit 14) */ + #define R_I3C0_MSDCT0_RBCR76_Msk (0xc000UL) /*!< RBCR76 (Bitfield-Mask: 0x03) */ /* ======================================================== MSDCT1 ========================================================= */ - #define I3C_MSDCT1_RBCR0_Pos (8UL) /*!< RBCR0 (Bit 8) */ - #define I3C_MSDCT1_RBCR0_Msk (0x100UL) /*!< RBCR0 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT1_RBCR1_Pos (9UL) /*!< RBCR1 (Bit 9) */ - #define I3C_MSDCT1_RBCR1_Msk (0x200UL) /*!< RBCR1 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT1_RBCR2_Pos (10UL) /*!< RBCR2 (Bit 10) */ - #define I3C_MSDCT1_RBCR2_Msk (0x400UL) /*!< RBCR2 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT1_RBCR3_Pos (11UL) /*!< RBCR3 (Bit 11) */ - #define I3C_MSDCT1_RBCR3_Msk (0x800UL) /*!< RBCR3 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT1_RBCR76_Pos (14UL) /*!< RBCR76 (Bit 14) */ - #define I3C_MSDCT1_RBCR76_Msk (0xc000UL) /*!< RBCR76 (Bitfield-Mask: 0x03) */ + #define R_I3C0_MSDCT1_RBCR0_Pos (8UL) /*!< RBCR0 (Bit 8) */ + #define R_I3C0_MSDCT1_RBCR0_Msk (0x100UL) /*!< RBCR0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT1_RBCR1_Pos (9UL) /*!< RBCR1 (Bit 9) */ + #define R_I3C0_MSDCT1_RBCR1_Msk (0x200UL) /*!< RBCR1 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT1_RBCR2_Pos (10UL) /*!< RBCR2 (Bit 10) */ + #define R_I3C0_MSDCT1_RBCR2_Msk (0x400UL) /*!< RBCR2 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT1_RBCR3_Pos (11UL) /*!< RBCR3 (Bit 11) */ + #define R_I3C0_MSDCT1_RBCR3_Msk (0x800UL) /*!< RBCR3 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT1_RBCR76_Pos (14UL) /*!< RBCR76 (Bit 14) */ + #define R_I3C0_MSDCT1_RBCR76_Msk (0xc000UL) /*!< RBCR76 (Bitfield-Mask: 0x03) */ /* ======================================================== MSDCT2 ========================================================= */ - #define I3C_MSDCT2_RBCR0_Pos (8UL) /*!< RBCR0 (Bit 8) */ - #define I3C_MSDCT2_RBCR0_Msk (0x100UL) /*!< RBCR0 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT2_RBCR1_Pos (9UL) /*!< RBCR1 (Bit 9) */ - #define I3C_MSDCT2_RBCR1_Msk (0x200UL) /*!< RBCR1 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT2_RBCR2_Pos (10UL) /*!< RBCR2 (Bit 10) */ - #define I3C_MSDCT2_RBCR2_Msk (0x400UL) /*!< RBCR2 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT2_RBCR3_Pos (11UL) /*!< RBCR3 (Bit 11) */ - #define I3C_MSDCT2_RBCR3_Msk (0x800UL) /*!< RBCR3 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT2_RBCR76_Pos (14UL) /*!< RBCR76 (Bit 14) */ - #define I3C_MSDCT2_RBCR76_Msk (0xc000UL) /*!< RBCR76 (Bitfield-Mask: 0x03) */ + #define R_I3C0_MSDCT2_RBCR0_Pos (8UL) /*!< RBCR0 (Bit 8) */ + #define R_I3C0_MSDCT2_RBCR0_Msk (0x100UL) /*!< RBCR0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT2_RBCR1_Pos (9UL) /*!< RBCR1 (Bit 9) */ + #define R_I3C0_MSDCT2_RBCR1_Msk (0x200UL) /*!< RBCR1 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT2_RBCR2_Pos (10UL) /*!< RBCR2 (Bit 10) */ + #define R_I3C0_MSDCT2_RBCR2_Msk (0x400UL) /*!< RBCR2 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT2_RBCR3_Pos (11UL) /*!< RBCR3 (Bit 11) */ + #define R_I3C0_MSDCT2_RBCR3_Msk (0x800UL) /*!< RBCR3 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT2_RBCR76_Pos (14UL) /*!< RBCR76 (Bit 14) */ + #define R_I3C0_MSDCT2_RBCR76_Msk (0xc000UL) /*!< RBCR76 (Bitfield-Mask: 0x03) */ /* ======================================================== MSDCT3 ========================================================= */ - #define I3C_MSDCT3_RBCR0_Pos (8UL) /*!< RBCR0 (Bit 8) */ - #define I3C_MSDCT3_RBCR0_Msk (0x100UL) /*!< RBCR0 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT3_RBCR1_Pos (9UL) /*!< RBCR1 (Bit 9) */ - #define I3C_MSDCT3_RBCR1_Msk (0x200UL) /*!< RBCR1 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT3_RBCR2_Pos (10UL) /*!< RBCR2 (Bit 10) */ - #define I3C_MSDCT3_RBCR2_Msk (0x400UL) /*!< RBCR2 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT3_RBCR3_Pos (11UL) /*!< RBCR3 (Bit 11) */ - #define I3C_MSDCT3_RBCR3_Msk (0x800UL) /*!< RBCR3 (Bitfield-Mask: 0x01) */ - #define I3C_MSDCT3_RBCR76_Pos (14UL) /*!< RBCR76 (Bit 14) */ - #define I3C_MSDCT3_RBCR76_Msk (0xc000UL) /*!< RBCR76 (Bitfield-Mask: 0x03) */ + #define R_I3C0_MSDCT3_RBCR0_Pos (8UL) /*!< RBCR0 (Bit 8) */ + #define R_I3C0_MSDCT3_RBCR0_Msk (0x100UL) /*!< RBCR0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT3_RBCR1_Pos (9UL) /*!< RBCR1 (Bit 9) */ + #define R_I3C0_MSDCT3_RBCR1_Msk (0x200UL) /*!< RBCR1 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT3_RBCR2_Pos (10UL) /*!< RBCR2 (Bit 10) */ + #define R_I3C0_MSDCT3_RBCR2_Msk (0x400UL) /*!< RBCR2 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT3_RBCR3_Pos (11UL) /*!< RBCR3 (Bit 11) */ + #define R_I3C0_MSDCT3_RBCR3_Msk (0x800UL) /*!< RBCR3 (Bitfield-Mask: 0x01) */ + #define R_I3C0_MSDCT3_RBCR76_Pos (14UL) /*!< RBCR76 (Bit 14) */ + #define R_I3C0_MSDCT3_RBCR76_Msk (0xc000UL) /*!< RBCR76 (Bitfield-Mask: 0x03) */ /* ========================================================= SVDCT ========================================================= */ - #define I3C_SVDCT_TDCR_Pos (0UL) /*!< TDCR (Bit 0) */ - #define I3C_SVDCT_TDCR_Msk (0xffUL) /*!< TDCR (Bitfield-Mask: 0xff) */ - #define I3C_SVDCT_TBCR0_Pos (8UL) /*!< TBCR0 (Bit 8) */ - #define I3C_SVDCT_TBCR0_Msk (0x100UL) /*!< TBCR0 (Bitfield-Mask: 0x01) */ - #define I3C_SVDCT_TBCR1_Pos (9UL) /*!< TBCR1 (Bit 9) */ - #define I3C_SVDCT_TBCR1_Msk (0x200UL) /*!< TBCR1 (Bitfield-Mask: 0x01) */ - #define I3C_SVDCT_TBCR2_Pos (10UL) /*!< TBCR2 (Bit 10) */ - #define I3C_SVDCT_TBCR2_Msk (0x400UL) /*!< TBCR2 (Bitfield-Mask: 0x01) */ - #define I3C_SVDCT_TBCR3_Pos (11UL) /*!< TBCR3 (Bit 11) */ - #define I3C_SVDCT_TBCR3_Msk (0x800UL) /*!< TBCR3 (Bitfield-Mask: 0x01) */ - #define I3C_SVDCT_TBCR76_Pos (14UL) /*!< TBCR76 (Bit 14) */ - #define I3C_SVDCT_TBCR76_Msk (0xc000UL) /*!< TBCR76 (Bitfield-Mask: 0x03) */ + #define R_I3C0_SVDCT_TDCR_Pos (0UL) /*!< TDCR (Bit 0) */ + #define R_I3C0_SVDCT_TDCR_Msk (0xffUL) /*!< TDCR (Bitfield-Mask: 0xff) */ + #define R_I3C0_SVDCT_TBCR0_Pos (8UL) /*!< TBCR0 (Bit 8) */ + #define R_I3C0_SVDCT_TBCR0_Msk (0x100UL) /*!< TBCR0 (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVDCT_TBCR1_Pos (9UL) /*!< TBCR1 (Bit 9) */ + #define R_I3C0_SVDCT_TBCR1_Msk (0x200UL) /*!< TBCR1 (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVDCT_TBCR2_Pos (10UL) /*!< TBCR2 (Bit 10) */ + #define R_I3C0_SVDCT_TBCR2_Msk (0x400UL) /*!< TBCR2 (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVDCT_TBCR3_Pos (11UL) /*!< TBCR3 (Bit 11) */ + #define R_I3C0_SVDCT_TBCR3_Msk (0x800UL) /*!< TBCR3 (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVDCT_TBCR76_Pos (14UL) /*!< TBCR76 (Bit 14) */ + #define R_I3C0_SVDCT_TBCR76_Msk (0xc000UL) /*!< TBCR76 (Bitfield-Mask: 0x03) */ /* ======================================================= SDCTPIDL ======================================================== */ /* ======================================================= SDCTPIDH ======================================================== */ /* ======================================================== SVDVAD0 ======================================================== */ - #define I3C_SVDVAD0_SVAD_Pos (16UL) /*!< SVAD (Bit 16) */ - #define I3C_SVDVAD0_SVAD_Msk (0x3ff0000UL) /*!< SVAD (Bitfield-Mask: 0x3ff) */ - #define I3C_SVDVAD0_SADLG_Pos (27UL) /*!< SADLG (Bit 27) */ - #define I3C_SVDVAD0_SADLG_Msk (0x8000000UL) /*!< SADLG (Bitfield-Mask: 0x01) */ - #define I3C_SVDVAD0_SSTADV_Pos (30UL) /*!< SSTADV (Bit 30) */ - #define I3C_SVDVAD0_SSTADV_Msk (0x40000000UL) /*!< SSTADV (Bitfield-Mask: 0x01) */ - #define I3C_SVDVAD0_SDYADV_Pos (31UL) /*!< SDYADV (Bit 31) */ - #define I3C_SVDVAD0_SDYADV_Msk (0x80000000UL) /*!< SDYADV (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVDVAD0_SVAD_Pos (16UL) /*!< SVAD (Bit 16) */ + #define R_I3C0_SVDVAD0_SVAD_Msk (0x3ff0000UL) /*!< SVAD (Bitfield-Mask: 0x3ff) */ + #define R_I3C0_SVDVAD0_SADLG_Pos (27UL) /*!< SADLG (Bit 27) */ + #define R_I3C0_SVDVAD0_SADLG_Msk (0x8000000UL) /*!< SADLG (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVDVAD0_SSTADV_Pos (30UL) /*!< SSTADV (Bit 30) */ + #define R_I3C0_SVDVAD0_SSTADV_Msk (0x40000000UL) /*!< SSTADV (Bitfield-Mask: 0x01) */ + #define R_I3C0_SVDVAD0_SDYADV_Pos (31UL) /*!< SDYADV (Bit 31) */ + #define R_I3C0_SVDVAD0_SDYADV_Msk (0x80000000UL) /*!< SDYADV (Bitfield-Mask: 0x01) */ /* ======================================================== CSECMD ========================================================= */ - #define I3C_CSECMD_SVIRQE_Pos (0UL) /*!< SVIRQE (Bit 0) */ - #define I3C_CSECMD_SVIRQE_Msk (0x1UL) /*!< SVIRQE (Bitfield-Mask: 0x01) */ - #define I3C_CSECMD_MSRQE_Pos (1UL) /*!< MSRQE (Bit 1) */ - #define I3C_CSECMD_MSRQE_Msk (0x2UL) /*!< MSRQE (Bitfield-Mask: 0x01) */ - #define I3C_CSECMD_HJEVE_Pos (3UL) /*!< HJEVE (Bit 3) */ - #define I3C_CSECMD_HJEVE_Msk (0x8UL) /*!< HJEVE (Bitfield-Mask: 0x01) */ + #define R_I3C0_CSECMD_SVIRQE_Pos (0UL) /*!< SVIRQE (Bit 0) */ + #define R_I3C0_CSECMD_SVIRQE_Msk (0x1UL) /*!< SVIRQE (Bitfield-Mask: 0x01) */ + #define R_I3C0_CSECMD_MSRQE_Pos (1UL) /*!< MSRQE (Bit 1) */ + #define R_I3C0_CSECMD_MSRQE_Msk (0x2UL) /*!< MSRQE (Bitfield-Mask: 0x01) */ + #define R_I3C0_CSECMD_HJEVE_Pos (3UL) /*!< HJEVE (Bit 3) */ + #define R_I3C0_CSECMD_HJEVE_Msk (0x8UL) /*!< HJEVE (Bitfield-Mask: 0x01) */ /* ======================================================== CEACTST ======================================================== */ - #define I3C_CEACTST_ACTST_Pos (0UL) /*!< ACTST (Bit 0) */ - #define I3C_CEACTST_ACTST_Msk (0xfUL) /*!< ACTST (Bitfield-Mask: 0x0f) */ + #define R_I3C0_CEACTST_ACTST_Pos (0UL) /*!< ACTST (Bit 0) */ + #define R_I3C0_CEACTST_ACTST_Msk (0xfUL) /*!< ACTST (Bitfield-Mask: 0x0f) */ /* ========================================================= CMWLG ========================================================= */ - #define I3C_CMWLG_MWLG_Pos (0UL) /*!< MWLG (Bit 0) */ - #define I3C_CMWLG_MWLG_Msk (0xffffUL) /*!< MWLG (Bitfield-Mask: 0xffff) */ + #define R_I3C0_CMWLG_MWLG_Pos (0UL) /*!< MWLG (Bit 0) */ + #define R_I3C0_CMWLG_MWLG_Msk (0xffffUL) /*!< MWLG (Bitfield-Mask: 0xffff) */ /* ========================================================= CMRLG ========================================================= */ - #define I3C_CMRLG_MRLG_Pos (0UL) /*!< MRLG (Bit 0) */ - #define I3C_CMRLG_MRLG_Msk (0xffffUL) /*!< MRLG (Bitfield-Mask: 0xffff) */ - #define I3C_CMRLG_IBIPSZ_Pos (16UL) /*!< IBIPSZ (Bit 16) */ - #define I3C_CMRLG_IBIPSZ_Msk (0xff0000UL) /*!< IBIPSZ (Bitfield-Mask: 0xff) */ + #define R_I3C0_CMRLG_MRLG_Pos (0UL) /*!< MRLG (Bit 0) */ + #define R_I3C0_CMRLG_MRLG_Msk (0xffffUL) /*!< MRLG (Bitfield-Mask: 0xffff) */ + #define R_I3C0_CMRLG_IBIPSZ_Pos (16UL) /*!< IBIPSZ (Bit 16) */ + #define R_I3C0_CMRLG_IBIPSZ_Msk (0xff0000UL) /*!< IBIPSZ (Bitfield-Mask: 0xff) */ /* ======================================================== CETSTMD ======================================================== */ - #define I3C_CETSTMD_TSTMD_Pos (0UL) /*!< TSTMD (Bit 0) */ - #define I3C_CETSTMD_TSTMD_Msk (0xffUL) /*!< TSTMD (Bitfield-Mask: 0xff) */ + #define R_I3C0_CETSTMD_TSTMD_Pos (0UL) /*!< TSTMD (Bit 0) */ + #define R_I3C0_CETSTMD_TSTMD_Msk (0xffUL) /*!< TSTMD (Bitfield-Mask: 0xff) */ /* ======================================================== CGDVST ========================================================= */ - #define I3C_CGDVST_PNDINT_Pos (0UL) /*!< PNDINT (Bit 0) */ - #define I3C_CGDVST_PNDINT_Msk (0xfUL) /*!< PNDINT (Bitfield-Mask: 0x0f) */ - #define I3C_CGDVST_PRTE_Pos (5UL) /*!< PRTE (Bit 5) */ - #define I3C_CGDVST_PRTE_Msk (0x20UL) /*!< PRTE (Bitfield-Mask: 0x01) */ - #define I3C_CGDVST_ACTMD_Pos (6UL) /*!< ACTMD (Bit 6) */ - #define I3C_CGDVST_ACTMD_Msk (0xc0UL) /*!< ACTMD (Bitfield-Mask: 0x03) */ - #define I3C_CGDVST_VDRSV_Pos (8UL) /*!< VDRSV (Bit 8) */ - #define I3C_CGDVST_VDRSV_Msk (0xff00UL) /*!< VDRSV (Bitfield-Mask: 0xff) */ + #define R_I3C0_CGDVST_PNDINT_Pos (0UL) /*!< PNDINT (Bit 0) */ + #define R_I3C0_CGDVST_PNDINT_Msk (0xfUL) /*!< PNDINT (Bitfield-Mask: 0x0f) */ + #define R_I3C0_CGDVST_PRTE_Pos (5UL) /*!< PRTE (Bit 5) */ + #define R_I3C0_CGDVST_PRTE_Msk (0x20UL) /*!< PRTE (Bitfield-Mask: 0x01) */ + #define R_I3C0_CGDVST_ACTMD_Pos (6UL) /*!< ACTMD (Bit 6) */ + #define R_I3C0_CGDVST_ACTMD_Msk (0xc0UL) /*!< ACTMD (Bitfield-Mask: 0x03) */ + #define R_I3C0_CGDVST_VDRSV_Pos (8UL) /*!< VDRSV (Bit 8) */ + #define R_I3C0_CGDVST_VDRSV_Msk (0xff00UL) /*!< VDRSV (Bitfield-Mask: 0xff) */ /* ======================================================== CMDSPW ========================================================= */ - #define I3C_CMDSPW_MSWDR_Pos (0UL) /*!< MSWDR (Bit 0) */ - #define I3C_CMDSPW_MSWDR_Msk (0x7UL) /*!< MSWDR (Bitfield-Mask: 0x07) */ + #define R_I3C0_CMDSPW_MSWDR_Pos (0UL) /*!< MSWDR (Bit 0) */ + #define R_I3C0_CMDSPW_MSWDR_Msk (0x7UL) /*!< MSWDR (Bitfield-Mask: 0x07) */ /* ======================================================== CMDSPR ========================================================= */ - #define I3C_CMDSPR_MSRDR_Pos (0UL) /*!< MSRDR (Bit 0) */ - #define I3C_CMDSPR_MSRDR_Msk (0x7UL) /*!< MSRDR (Bitfield-Mask: 0x07) */ + #define R_I3C0_CMDSPR_MSRDR_Pos (0UL) /*!< MSRDR (Bit 0) */ + #define R_I3C0_CMDSPR_MSRDR_Msk (0x7UL) /*!< MSRDR (Bitfield-Mask: 0x07) */ + #define R_I3C0_CMDSPR_CDTTIM_Pos (3UL) /*!< CDTTIM (Bit 3) */ + #define R_I3C0_CMDSPR_CDTTIM_Msk (0x38UL) /*!< CDTTIM (Bitfield-Mask: 0x07) */ /* ======================================================== CMDSPT ========================================================= */ - #define I3C_CMDSPT_MRTTIM_Pos (0UL) /*!< MRTTIM (Bit 0) */ - #define I3C_CMDSPT_MRTTIM_Msk (0xffffffUL) /*!< MRTTIM (Bitfield-Mask: 0xffffff) */ - #define I3C_CMDSPT_MRTE_Pos (31UL) /*!< MRTE (Bit 31) */ - #define I3C_CMDSPT_MRTE_Msk (0x80000000UL) /*!< MRTE (Bitfield-Mask: 0x01) */ + #define R_I3C0_CMDSPT_MRTTIM_Pos (0UL) /*!< MRTTIM (Bit 0) */ + #define R_I3C0_CMDSPT_MRTTIM_Msk (0xffffffUL) /*!< MRTTIM (Bitfield-Mask: 0xffffff) */ + #define R_I3C0_CMDSPT_MRTE_Pos (31UL) /*!< MRTE (Bit 31) */ + #define R_I3C0_CMDSPT_MRTE_Msk (0x80000000UL) /*!< MRTE (Bitfield-Mask: 0x01) */ /* ========================================================= CETSM ========================================================= */ - #define I3C_CETSM_FREQ_Pos (8UL) /*!< FREQ (Bit 8) */ - #define I3C_CETSM_FREQ_Msk (0xff00UL) /*!< FREQ (Bitfield-Mask: 0xff) */ - #define I3C_CETSM_INAC_Pos (16UL) /*!< INAC (Bit 16) */ - #define I3C_CETSM_INAC_Msk (0xff0000UL) /*!< INAC (Bitfield-Mask: 0xff) */ + #define R_I3C0_CETSM_FREQ_Pos (8UL) /*!< FREQ (Bit 8) */ + #define R_I3C0_CETSM_FREQ_Msk (0xff00UL) /*!< FREQ (Bitfield-Mask: 0xff) */ + #define R_I3C0_CETSM_INAC_Pos (16UL) /*!< INAC (Bit 16) */ + #define R_I3C0_CETSM_INAC_Msk (0xff0000UL) /*!< INAC (Bitfield-Mask: 0xff) */ /* ======================================================== BITCNT ========================================================= */ - #define I3C_BITCNT_BCNT_Pos (0UL) /*!< BCNT (Bit 0) */ - #define I3C_BITCNT_BCNT_Msk (0x1fUL) /*!< BCNT (Bitfield-Mask: 0x1f) */ - #define I3C_BITCNT_BCNTWP_Pos (7UL) /*!< BCNTWP (Bit 7) */ - #define I3C_BITCNT_BCNTWP_Msk (0x80UL) /*!< BCNTWP (Bitfield-Mask: 0x01) */ + #define R_I3C0_BITCNT_BCNT_Pos (0UL) /*!< BCNT (Bit 0) */ + #define R_I3C0_BITCNT_BCNT_Msk (0x1fUL) /*!< BCNT (Bitfield-Mask: 0x1f) */ + #define R_I3C0_BITCNT_BCNTWP_Pos (7UL) /*!< BCNTWP (Bit 7) */ + #define R_I3C0_BITCNT_BCNTWP_Msk (0x80UL) /*!< BCNTWP (Bitfield-Mask: 0x01) */ /* ======================================================== NQSTLV ========================================================= */ - #define I3C_NQSTLV_CMDQFLV_Pos (0UL) /*!< CMDQFLV (Bit 0) */ - #define I3C_NQSTLV_CMDQFLV_Msk (0xffUL) /*!< CMDQFLV (Bitfield-Mask: 0xff) */ - #define I3C_NQSTLV_RSPQLV_Pos (8UL) /*!< RSPQLV (Bit 8) */ - #define I3C_NQSTLV_RSPQLV_Msk (0xff00UL) /*!< RSPQLV (Bitfield-Mask: 0xff) */ - #define I3C_NQSTLV_IBIQLV_Pos (16UL) /*!< IBIQLV (Bit 16) */ - #define I3C_NQSTLV_IBIQLV_Msk (0xff0000UL) /*!< IBIQLV (Bitfield-Mask: 0xff) */ - #define I3C_NQSTLV_IBISCNT_Pos (24UL) /*!< IBISCNT (Bit 24) */ - #define I3C_NQSTLV_IBISCNT_Msk (0x1f000000UL) /*!< IBISCNT (Bitfield-Mask: 0x1f) */ + #define R_I3C0_NQSTLV_CMDQFLV_Pos (0UL) /*!< CMDQFLV (Bit 0) */ + #define R_I3C0_NQSTLV_CMDQFLV_Msk (0xffUL) /*!< CMDQFLV (Bitfield-Mask: 0xff) */ + #define R_I3C0_NQSTLV_RSPQLV_Pos (8UL) /*!< RSPQLV (Bit 8) */ + #define R_I3C0_NQSTLV_RSPQLV_Msk (0xff00UL) /*!< RSPQLV (Bitfield-Mask: 0xff) */ + #define R_I3C0_NQSTLV_IBIQLV_Pos (16UL) /*!< IBIQLV (Bit 16) */ + #define R_I3C0_NQSTLV_IBIQLV_Msk (0xff0000UL) /*!< IBIQLV (Bitfield-Mask: 0xff) */ + #define R_I3C0_NQSTLV_IBISCNT_Pos (24UL) /*!< IBISCNT (Bit 24) */ + #define R_I3C0_NQSTLV_IBISCNT_Msk (0x1f000000UL) /*!< IBISCNT (Bitfield-Mask: 0x1f) */ /* ======================================================= NDBSTLV0 ======================================================== */ - #define I3C_NDBSTLV0_TDBFLV_Pos (0UL) /*!< TDBFLV (Bit 0) */ - #define I3C_NDBSTLV0_TDBFLV_Msk (0xffUL) /*!< TDBFLV (Bitfield-Mask: 0xff) */ - #define I3C_NDBSTLV0_RDBLV_Pos (8UL) /*!< RDBLV (Bit 8) */ - #define I3C_NDBSTLV0_RDBLV_Msk (0xff00UL) /*!< RDBLV (Bitfield-Mask: 0xff) */ + #define R_I3C0_NDBSTLV0_TDBFLV_Pos (0UL) /*!< TDBFLV (Bit 0) */ + #define R_I3C0_NDBSTLV0_TDBFLV_Msk (0xffUL) /*!< TDBFLV (Bitfield-Mask: 0xff) */ + #define R_I3C0_NDBSTLV0_RDBLV_Pos (8UL) /*!< RDBLV (Bit 8) */ + #define R_I3C0_NDBSTLV0_RDBLV_Msk (0xff00UL) /*!< RDBLV (Bitfield-Mask: 0xff) */ /* ======================================================= NRSQSTLV ======================================================== */ - #define I3C_NRSQSTLV_RSQLV_Pos (0UL) /*!< RSQLV (Bit 0) */ - #define I3C_NRSQSTLV_RSQLV_Msk (0xffUL) /*!< RSQLV (Bitfield-Mask: 0xff) */ + #define R_I3C0_NRSQSTLV_RSQLV_Pos (0UL) /*!< RSQLV (Bit 0) */ + #define R_I3C0_NRSQSTLV_RSQLV_Msk (0xffUL) /*!< RSQLV (Bitfield-Mask: 0xff) */ /* ======================================================== PRSTDBG ======================================================== */ - #define I3C_PRSTDBG_SCILV_Pos (0UL) /*!< SCILV (Bit 0) */ - #define I3C_PRSTDBG_SCILV_Msk (0x1UL) /*!< SCILV (Bitfield-Mask: 0x01) */ - #define I3C_PRSTDBG_SDILV_Pos (1UL) /*!< SDILV (Bit 1) */ - #define I3C_PRSTDBG_SDILV_Msk (0x2UL) /*!< SDILV (Bitfield-Mask: 0x01) */ - #define I3C_PRSTDBG_SCOLV_Pos (2UL) /*!< SCOLV (Bit 2) */ - #define I3C_PRSTDBG_SCOLV_Msk (0x4UL) /*!< SCOLV (Bitfield-Mask: 0x01) */ - #define I3C_PRSTDBG_SDOLV_Pos (3UL) /*!< SDOLV (Bit 3) */ - #define I3C_PRSTDBG_SDOLV_Msk (0x8UL) /*!< SDOLV (Bitfield-Mask: 0x01) */ + #define R_I3C0_PRSTDBG_SCILV_Pos (0UL) /*!< SCILV (Bit 0) */ + #define R_I3C0_PRSTDBG_SCILV_Msk (0x1UL) /*!< SCILV (Bitfield-Mask: 0x01) */ + #define R_I3C0_PRSTDBG_SDILV_Pos (1UL) /*!< SDILV (Bit 1) */ + #define R_I3C0_PRSTDBG_SDILV_Msk (0x2UL) /*!< SDILV (Bitfield-Mask: 0x01) */ + #define R_I3C0_PRSTDBG_SCOLV_Pos (2UL) /*!< SCOLV (Bit 2) */ + #define R_I3C0_PRSTDBG_SCOLV_Msk (0x4UL) /*!< SCOLV (Bitfield-Mask: 0x01) */ + #define R_I3C0_PRSTDBG_SDOLV_Pos (3UL) /*!< SDOLV (Bit 3) */ + #define R_I3C0_PRSTDBG_SDOLV_Msk (0x8UL) /*!< SDOLV (Bitfield-Mask: 0x01) */ /* ======================================================= MSERRCNT ======================================================== */ - #define I3C_MSERRCNT_M2ECNT_Pos (0UL) /*!< M2ECNT (Bit 0) */ - #define I3C_MSERRCNT_M2ECNT_Msk (0xffUL) /*!< M2ECNT (Bitfield-Mask: 0xff) */ + #define R_I3C0_MSERRCNT_M2ECNT_Pos (0UL) /*!< M2ECNT (Bit 0) */ + #define R_I3C0_MSERRCNT_M2ECNT_Msk (0xffUL) /*!< M2ECNT (Bitfield-Mask: 0xff) */ /* =========================================================================================================================== */ /* ================ R_MMF ================ */ @@ -31555,6 +40088,13 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure /* ================ R_MSTP ================ */ /* =========================================================================================================================== */ +/* ======================================================== MSTPCRA ======================================================== */ + #define R_MSTP_MSTPCRA_MSTPA22_Pos (22UL) /*!< MSTPA22 (Bit 22) */ + #define R_MSTP_MSTPCRA_MSTPA22_Msk (0x400000UL) /*!< MSTPA22 (Bitfield-Mask: 0x01) */ + #define R_MSTP_MSTPCRA_MSTPA7_Pos (7UL) /*!< MSTPA7 (Bit 7) */ + #define R_MSTP_MSTPCRA_MSTPA7_Msk (0x80UL) /*!< MSTPA7 (Bitfield-Mask: 0x01) */ + #define R_MSTP_MSTPCRA_MSTPA0_Pos (0UL) /*!< MSTPA0 (Bit 0) */ + #define R_MSTP_MSTPCRA_MSTPA0_Msk (0x1UL) /*!< MSTPA0 (Bitfield-Mask: 0x01) */ /* ======================================================== MSTPCRB ======================================================== */ #define R_MSTP_MSTPCRB_MSTPB31_Pos (31UL) /*!< MSTPB31 (Bit 31) */ #define R_MSTP_MSTPCRB_MSTPB31_Msk (0x80000000UL) /*!< MSTPB31 (Bitfield-Mask: 0x01) */ @@ -31613,6 +40153,10 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_MSTP_MSTPCRC_MSTPC28_Msk (0x10000000UL) /*!< MSTPC28 (Bitfield-Mask: 0x01) */ #define R_MSTP_MSTPCRC_MSTPC27_Pos (27UL) /*!< MSTPC27 (Bit 27) */ #define R_MSTP_MSTPCRC_MSTPC27_Msk (0x8000000UL) /*!< MSTPC27 (Bitfield-Mask: 0x01) */ + #define R_MSTP_MSTPCRC_MSTPC21_Pos (21UL) /*!< MSTPC21 (Bit 21) */ + #define R_MSTP_MSTPCRC_MSTPC21_Msk (0x200000UL) /*!< MSTPC21 (Bitfield-Mask: 0x01) */ + #define R_MSTP_MSTPCRC_MSTPC20_Pos (20UL) /*!< MSTPC20 (Bit 20) */ + #define R_MSTP_MSTPCRC_MSTPC20_Msk (0x100000UL) /*!< MSTPC20 (Bitfield-Mask: 0x01) */ #define R_MSTP_MSTPCRC_MSTPC14_Pos (14UL) /*!< MSTPC14 (Bit 14) */ #define R_MSTP_MSTPCRC_MSTPC14_Msk (0x4000UL) /*!< MSTPC14 (Bitfield-Mask: 0x01) */ #define R_MSTP_MSTPCRC_MSTPC13_Pos (13UL) /*!< MSTPC13 (Bit 13) */ @@ -31691,6 +40235,8 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_MSTP_MSTPCRD_MSTPD0_Pos (0UL) /*!< MSTPD0 (Bit 0) */ #define R_MSTP_MSTPCRD_MSTPD0_Msk (0x1UL) /*!< MSTPD0 (Bitfield-Mask: 0x01) */ /* ======================================================== MSTPCRE ======================================================== */ + #define R_MSTP_MSTPCRE_MSTPE4_Pos (4UL) /*!< MSTPE4 (Bit 4) */ + #define R_MSTP_MSTPCRE_MSTPE4_Msk (0x10UL) /*!< MSTPE4 (Bitfield-Mask: 0x01) */ #define R_MSTP_MSTPCRE_MSTPE14_Pos (14UL) /*!< MSTPE14 (Bit 14) */ #define R_MSTP_MSTPCRE_MSTPE14_Msk (0x4000UL) /*!< MSTPE14 (Bitfield-Mask: 0x01) */ #define R_MSTP_MSTPCRE_MSTPE15_Pos (15UL) /*!< MSTPE15 (Bit 15) */ @@ -32336,6 +40882,8 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_SCI0_SPMR_CKPOL_Msk (0x40UL) /*!< CKPOL (Bitfield-Mask: 0x01) */ #define R_SCI0_SPMR_MFF_Pos (4UL) /*!< MFF (Bit 4) */ #define R_SCI0_SPMR_MFF_Msk (0x10UL) /*!< MFF (Bitfield-Mask: 0x01) */ + #define R_SCI0_SPMR_CSTPEN_Pos (3UL) /*!< CSTPEN (Bit 3) */ + #define R_SCI0_SPMR_CSTPEN_Msk (0x8UL) /*!< CSTPEN (Bitfield-Mask: 0x01) */ #define R_SCI0_SPMR_MSS_Pos (2UL) /*!< MSS (Bit 2) */ #define R_SCI0_SPMR_MSS_Msk (0x4UL) /*!< MSS (Bitfield-Mask: 0x01) */ #define R_SCI0_SPMR_CTSE_Pos (1UL) /*!< CTSE (Bit 1) */ @@ -33150,6 +41698,121 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_SRAM_SRAMPRCR2_KW_Pos (1UL) /*!< KW (Bit 1) */ #define R_SRAM_SRAMPRCR2_KW_Msk (0xfeUL) /*!< KW (Bitfield-Mask: 0x7f) */ +/* =========================================================================================================================== */ +/* ================ R_BUS_B ================ */ +/* =========================================================================================================================== */ + +/* ===================================================== BUSSCNTFHBIU ====================================================== */ + #define R_BUS_B_BUSSCNTFHBIU_ARBS_Pos (0UL) /*!< ARBS (Bit 0) */ + #define R_BUS_B_BUSSCNTFHBIU_ARBS_Msk (0x3UL) /*!< ARBS (Bitfield-Mask: 0x03) */ +/* ===================================================== BUSSCNTFLBIU ====================================================== */ + #define R_BUS_B_BUSSCNTFLBIU_ARBS_Pos (0UL) /*!< ARBS (Bit 0) */ + #define R_BUS_B_BUSSCNTFLBIU_ARBS_Msk (0x3UL) /*!< ARBS (Bitfield-Mask: 0x03) */ +/* ===================================================== BUSSCNTS0BIU ====================================================== */ + #define R_BUS_B_BUSSCNTS0BIU_ARBS_Pos (0UL) /*!< ARBS (Bit 0) */ + #define R_BUS_B_BUSSCNTS0BIU_ARBS_Msk (0x3UL) /*!< ARBS (Bitfield-Mask: 0x03) */ +/* ===================================================== BUSSCNTPSBIU ====================================================== */ + #define R_BUS_B_BUSSCNTPSBIU_ARBS_Pos (0UL) /*!< ARBS (Bit 0) */ + #define R_BUS_B_BUSSCNTPSBIU_ARBS_Msk (0x1UL) /*!< ARBS (Bitfield-Mask: 0x01) */ +/* ===================================================== BUSSCNTPLBIU ====================================================== */ + #define R_BUS_B_BUSSCNTPLBIU_ARBS_Pos (0UL) /*!< ARBS (Bit 0) */ + #define R_BUS_B_BUSSCNTPLBIU_ARBS_Msk (0x1UL) /*!< ARBS (Bitfield-Mask: 0x01) */ +/* ===================================================== BUSSCNTPHBIU ====================================================== */ + #define R_BUS_B_BUSSCNTPHBIU_ARBS_Pos (0UL) /*!< ARBS (Bit 0) */ + #define R_BUS_B_BUSSCNTPHBIU_ARBS_Msk (0x1UL) /*!< ARBS (Bitfield-Mask: 0x01) */ +/* ===================================================== BUSSCNTEQBIU ====================================================== */ + #define R_BUS_B_BUSSCNTEQBIU_ARBS_Pos (0UL) /*!< ARBS (Bit 0) */ + #define R_BUS_B_BUSSCNTEQBIU_ARBS_Msk (0x3UL) /*!< ARBS (Bitfield-Mask: 0x03) */ +/* ===================================================== BUSSCNTEOBIU ====================================================== */ + #define R_BUS_B_BUSSCNTEOBIU_ARBS_Pos (0UL) /*!< ARBS (Bit 0) */ + #define R_BUS_B_BUSSCNTEOBIU_ARBS_Msk (0x3UL) /*!< ARBS (Bitfield-Mask: 0x03) */ +/* ===================================================== BUSSCNTECBIU ====================================================== */ + #define R_BUS_B_BUSSCNTECBIU_ARBS_Pos (0UL) /*!< ARBS (Bit 0) */ + #define R_BUS_B_BUSSCNTECBIU_ARBS_Msk (0x3UL) /*!< ARBS (Bitfield-Mask: 0x03) */ +/* ====================================================== BUS1ERRSTAT ====================================================== */ + #define R_BUS_B_BUS1ERRSTAT_SLERRSTAT_Pos (0UL) /*!< SLERRSTAT (Bit 0) */ + #define R_BUS_B_BUS1ERRSTAT_SLERRSTAT_Msk (0x1UL) /*!< SLERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS1ERRSTAT_STERRSTAT_Pos (1UL) /*!< STERRSTAT (Bit 1) */ + #define R_BUS_B_BUS1ERRSTAT_STERRSTAT_Msk (0x2UL) /*!< STERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS1ERRSTAT_MMERRSTAT_Pos (3UL) /*!< MMERRSTAT (Bit 3) */ + #define R_BUS_B_BUS1ERRSTAT_MMERRSTAT_Msk (0x8UL) /*!< MMERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS1ERRSTAT_ILERRSTAT_Pos (4UL) /*!< ILERRSTAT (Bit 4) */ + #define R_BUS_B_BUS1ERRSTAT_ILERRSTAT_Msk (0x10UL) /*!< ILERRSTAT (Bitfield-Mask: 0x01) */ +/* ====================================================== BUS2ERRSTAT ====================================================== */ + #define R_BUS_B_BUS2ERRSTAT_SLERRSTAT_Pos (0UL) /*!< SLERRSTAT (Bit 0) */ + #define R_BUS_B_BUS2ERRSTAT_SLERRSTAT_Msk (0x1UL) /*!< SLERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS2ERRSTAT_STERRSTAT_Pos (1UL) /*!< STERRSTAT (Bit 1) */ + #define R_BUS_B_BUS2ERRSTAT_STERRSTAT_Msk (0x2UL) /*!< STERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS2ERRSTAT_MMERRSTAT_Pos (3UL) /*!< MMERRSTAT (Bit 3) */ + #define R_BUS_B_BUS2ERRSTAT_MMERRSTAT_Msk (0x8UL) /*!< MMERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS2ERRSTAT_ILERRSTAT_Pos (4UL) /*!< ILERRSTAT (Bit 4) */ + #define R_BUS_B_BUS2ERRSTAT_ILERRSTAT_Msk (0x10UL) /*!< ILERRSTAT (Bitfield-Mask: 0x01) */ +/* ====================================================== BUS3ERRSTAT ====================================================== */ + #define R_BUS_B_BUS3ERRSTAT_SLERRSTAT_Pos (0UL) /*!< SLERRSTAT (Bit 0) */ + #define R_BUS_B_BUS3ERRSTAT_SLERRSTAT_Msk (0x1UL) /*!< SLERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS3ERRSTAT_STERRSTAT_Pos (1UL) /*!< STERRSTAT (Bit 1) */ + #define R_BUS_B_BUS3ERRSTAT_STERRSTAT_Msk (0x2UL) /*!< STERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS3ERRSTAT_MMERRSTAT_Pos (3UL) /*!< MMERRSTAT (Bit 3) */ + #define R_BUS_B_BUS3ERRSTAT_MMERRSTAT_Msk (0x8UL) /*!< MMERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS3ERRSTAT_ILERRSTAT_Pos (4UL) /*!< ILERRSTAT (Bit 4) */ + #define R_BUS_B_BUS3ERRSTAT_ILERRSTAT_Msk (0x10UL) /*!< ILERRSTAT (Bitfield-Mask: 0x01) */ +/* ====================================================== BUS4ERRSTAT ====================================================== */ + #define R_BUS_B_BUS4ERRSTAT_SLERRSTAT_Pos (0UL) /*!< SLERRSTAT (Bit 0) */ + #define R_BUS_B_BUS4ERRSTAT_SLERRSTAT_Msk (0x1UL) /*!< SLERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS4ERRSTAT_STERRSTAT_Pos (1UL) /*!< STERRSTAT (Bit 1) */ + #define R_BUS_B_BUS4ERRSTAT_STERRSTAT_Msk (0x2UL) /*!< STERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS4ERRSTAT_MMERRSTAT_Pos (3UL) /*!< MMERRSTAT (Bit 3) */ + #define R_BUS_B_BUS4ERRSTAT_MMERRSTAT_Msk (0x8UL) /*!< MMERRSTAT (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS4ERRSTAT_ILERRSTAT_Pos (4UL) /*!< ILERRSTAT (Bit 4) */ + #define R_BUS_B_BUS4ERRSTAT_ILERRSTAT_Msk (0x10UL) /*!< ILERRSTAT (Bitfield-Mask: 0x01) */ +/* ====================================================== BUS1ERRCLR ======================================================= */ + #define R_BUS_B_BUS1ERRCLR_SLERRCLR_Pos (0UL) /*!< SLERRCLR (Bit 0) */ + #define R_BUS_B_BUS1ERRCLR_SLERRCLR_Msk (0x1UL) /*!< SLERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS1ERRCLR_STERRCLR_Pos (1UL) /*!< STERRCLR (Bit 1) */ + #define R_BUS_B_BUS1ERRCLR_STERRCLR_Msk (0x2UL) /*!< STERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS1ERRCLR_MMERRCLR_Pos (3UL) /*!< MMERRCLR (Bit 3) */ + #define R_BUS_B_BUS1ERRCLR_MMERRCLR_Msk (0x8UL) /*!< MMERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS1ERRCLR_ILERRCLR_Pos (4UL) /*!< ILERRCLR (Bit 4) */ + #define R_BUS_B_BUS1ERRCLR_ILERRCLR_Msk (0x10UL) /*!< ILERRCLR (Bitfield-Mask: 0x01) */ +/* ====================================================== BUS2ERRCLR ======================================================= */ + #define R_BUS_B_BUS2ERRCLR_SLERRCLR_Pos (0UL) /*!< SLERRCLR (Bit 0) */ + #define R_BUS_B_BUS2ERRCLR_SLERRCLR_Msk (0x1UL) /*!< SLERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS2ERRCLR_STERRCLR_Pos (1UL) /*!< STERRCLR (Bit 1) */ + #define R_BUS_B_BUS2ERRCLR_STERRCLR_Msk (0x2UL) /*!< STERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS2ERRCLR_MMERRCLR_Pos (3UL) /*!< MMERRCLR (Bit 3) */ + #define R_BUS_B_BUS2ERRCLR_MMERRCLR_Msk (0x8UL) /*!< MMERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS2ERRCLR_ILERRCLR_Pos (4UL) /*!< ILERRCLR (Bit 4) */ + #define R_BUS_B_BUS2ERRCLR_ILERRCLR_Msk (0x10UL) /*!< ILERRCLR (Bitfield-Mask: 0x01) */ +/* ====================================================== BUS3ERRCLR ======================================================= */ + #define R_BUS_B_BUS3ERRCLR_SLERRCLR_Pos (0UL) /*!< SLERRCLR (Bit 0) */ + #define R_BUS_B_BUS3ERRCLR_SLERRCLR_Msk (0x1UL) /*!< SLERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS3ERRCLR_STERRCLR_Pos (1UL) /*!< STERRCLR (Bit 1) */ + #define R_BUS_B_BUS3ERRCLR_STERRCLR_Msk (0x2UL) /*!< STERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS3ERRCLR_MMERRCLR_Pos (3UL) /*!< MMERRCLR (Bit 3) */ + #define R_BUS_B_BUS3ERRCLR_MMERRCLR_Msk (0x8UL) /*!< MMERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS3ERRCLR_ILERRCLR_Pos (4UL) /*!< ILERRCLR (Bit 4) */ + #define R_BUS_B_BUS3ERRCLR_ILERRCLR_Msk (0x10UL) /*!< ILERRCLR (Bitfield-Mask: 0x01) */ +/* ====================================================== BUS4ERRCLR ======================================================= */ + #define R_BUS_B_BUS4ERRCLR_SLERRCLR_Pos (0UL) /*!< SLERRCLR (Bit 0) */ + #define R_BUS_B_BUS4ERRCLR_SLERRCLR_Msk (0x1UL) /*!< SLERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS4ERRCLR_STERRCLR_Pos (1UL) /*!< STERRCLR (Bit 1) */ + #define R_BUS_B_BUS4ERRCLR_STERRCLR_Msk (0x2UL) /*!< STERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS4ERRCLR_MMERRCLR_Pos (3UL) /*!< MMERRCLR (Bit 3) */ + #define R_BUS_B_BUS4ERRCLR_MMERRCLR_Msk (0x8UL) /*!< MMERRCLR (Bitfield-Mask: 0x01) */ + #define R_BUS_B_BUS4ERRCLR_ILERRCLR_Pos (4UL) /*!< ILERRCLR (Bit 4) */ + #define R_BUS_B_BUS4ERRCLR_ILERRCLR_Msk (0x10UL) /*!< ILERRCLR (Bitfield-Mask: 0x01) */ +/* ==================================================== DMACDTCERRSTAT ===================================================== */ + #define R_BUS_B_DMACDTCERRSTAT_MTERRSTAT_Pos (0UL) /*!< MTERRSTAT (Bit 0) */ + #define R_BUS_B_DMACDTCERRSTAT_MTERRSTAT_Msk (0x1UL) /*!< MTERRSTAT (Bitfield-Mask: 0x01) */ +/* ===================================================== DMACDTCERRCLR ===================================================== */ + #define R_BUS_B_DMACDTCERRCLR_MTERRCLR_Pos (0UL) /*!< MTERRCLR (Bit 0) */ + #define R_BUS_B_DMACDTCERRCLR_MTERRCLR_Msk (0x1UL) /*!< MTERRCLR (Bitfield-Mask: 0x01) */ +/* ======================================================== CSRECEN ======================================================== */ + #define R_BUS_B_CSRECEN_RCVENM_Pos (8UL) /*!< RCVENM (Bit 8) */ + #define R_BUS_B_CSRECEN_RCVENM_Msk (0x100UL) /*!< RCVENM (Bitfield-Mask: 0x01) */ + #define R_BUS_B_CSRECEN_RCVEN_Pos (0UL) /*!< RCVEN (Bit 0) */ + #define R_BUS_B_CSRECEN_RCVEN_Msk (0x1UL) /*!< RCVEN (Bitfield-Mask: 0x01) */ + /* =========================================================================================================================== */ /* ================ R_SRC ================ */ /* =========================================================================================================================== */ @@ -33338,732 +42001,771 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure /* =========================================================================================================================== */ /* ========================================================= SBYCR ========================================================= */ - #define R_SYSTEM_SBYCR_SSBY_Pos (15UL) /*!< SSBY (Bit 15) */ - #define R_SYSTEM_SBYCR_SSBY_Msk (0x8000UL) /*!< SSBY (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SBYCR_OPE_Pos (14UL) /*!< OPE (Bit 14) */ - #define R_SYSTEM_SBYCR_OPE_Msk (0x4000UL) /*!< OPE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SBYCR_SSBY_Pos (15UL) /*!< SSBY (Bit 15) */ + #define R_SYSTEM_SBYCR_SSBY_Msk (0x8000UL) /*!< SSBY (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SBYCR_OPE_Pos (14UL) /*!< OPE (Bit 14) */ + #define R_SYSTEM_SBYCR_OPE_Msk (0x4000UL) /*!< OPE (Bitfield-Mask: 0x01) */ /* ======================================================== MSTPCRA ======================================================== */ - #define R_SYSTEM_MSTPCRA_MSTPA22_Pos (22UL) /*!< MSTPA22 (Bit 22) */ - #define R_SYSTEM_MSTPCRA_MSTPA22_Msk (0x400000UL) /*!< MSTPA22 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_MSTPCRA_MSTPA7_Pos (7UL) /*!< MSTPA7 (Bit 7) */ - #define R_SYSTEM_MSTPCRA_MSTPA7_Msk (0x80UL) /*!< MSTPA7 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_MSTPCRA_MSTPA6_Pos (6UL) /*!< MSTPA6 (Bit 6) */ - #define R_SYSTEM_MSTPCRA_MSTPA6_Msk (0x40UL) /*!< MSTPA6 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_MSTPCRA_MSTPA5_Pos (5UL) /*!< MSTPA5 (Bit 5) */ - #define R_SYSTEM_MSTPCRA_MSTPA5_Msk (0x20UL) /*!< MSTPA5 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_MSTPCRA_MSTPA1_Pos (1UL) /*!< MSTPA1 (Bit 1) */ - #define R_SYSTEM_MSTPCRA_MSTPA1_Msk (0x2UL) /*!< MSTPA1 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_MSTPCRA_MSTPA0_Pos (0UL) /*!< MSTPA0 (Bit 0) */ - #define R_SYSTEM_MSTPCRA_MSTPA0_Msk (0x1UL) /*!< MSTPA0 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MSTPCRA_MSTPA22_Pos (22UL) /*!< MSTPA22 (Bit 22) */ + #define R_SYSTEM_MSTPCRA_MSTPA22_Msk (0x400000UL) /*!< MSTPA22 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MSTPCRA_MSTPA7_Pos (7UL) /*!< MSTPA7 (Bit 7) */ + #define R_SYSTEM_MSTPCRA_MSTPA7_Msk (0x80UL) /*!< MSTPA7 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MSTPCRA_MSTPA6_Pos (6UL) /*!< MSTPA6 (Bit 6) */ + #define R_SYSTEM_MSTPCRA_MSTPA6_Msk (0x40UL) /*!< MSTPA6 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MSTPCRA_MSTPA5_Pos (5UL) /*!< MSTPA5 (Bit 5) */ + #define R_SYSTEM_MSTPCRA_MSTPA5_Msk (0x20UL) /*!< MSTPA5 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MSTPCRA_MSTPA1_Pos (1UL) /*!< MSTPA1 (Bit 1) */ + #define R_SYSTEM_MSTPCRA_MSTPA1_Msk (0x2UL) /*!< MSTPA1 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MSTPCRA_MSTPA0_Pos (0UL) /*!< MSTPA0 (Bit 0) */ + #define R_SYSTEM_MSTPCRA_MSTPA0_Msk (0x1UL) /*!< MSTPA0 (Bitfield-Mask: 0x01) */ /* ======================================================= SCKDIVCR ======================================================== */ - #define R_SYSTEM_SCKDIVCR_FCK_Pos (28UL) /*!< FCK (Bit 28) */ - #define R_SYSTEM_SCKDIVCR_FCK_Msk (0x70000000UL) /*!< FCK (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_SCKDIVCR_ICK_Pos (24UL) /*!< ICK (Bit 24) */ - #define R_SYSTEM_SCKDIVCR_ICK_Msk (0x7000000UL) /*!< ICK (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_SCKDIVCR_BCK_Pos (16UL) /*!< BCK (Bit 16) */ - #define R_SYSTEM_SCKDIVCR_BCK_Msk (0x70000UL) /*!< BCK (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_SCKDIVCR_PCKA_Pos (12UL) /*!< PCKA (Bit 12) */ - #define R_SYSTEM_SCKDIVCR_PCKA_Msk (0x7000UL) /*!< PCKA (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_SCKDIVCR_PCKB_Pos (8UL) /*!< PCKB (Bit 8) */ - #define R_SYSTEM_SCKDIVCR_PCKB_Msk (0x700UL) /*!< PCKB (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_SCKDIVCR_PCKC_Pos (4UL) /*!< PCKC (Bit 4) */ - #define R_SYSTEM_SCKDIVCR_PCKC_Msk (0x70UL) /*!< PCKC (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_SCKDIVCR_PCKD_Pos (0UL) /*!< PCKD (Bit 0) */ - #define R_SYSTEM_SCKDIVCR_PCKD_Msk (0x7UL) /*!< PCKD (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCKDIVCR_FCK_Pos (28UL) /*!< FCK (Bit 28) */ + #define R_SYSTEM_SCKDIVCR_FCK_Msk (0x70000000UL) /*!< FCK (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCKDIVCR_ICK_Pos (24UL) /*!< ICK (Bit 24) */ + #define R_SYSTEM_SCKDIVCR_ICK_Msk (0x7000000UL) /*!< ICK (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCKDIVCR_BCK_Pos (16UL) /*!< BCK (Bit 16) */ + #define R_SYSTEM_SCKDIVCR_BCK_Msk (0x70000UL) /*!< BCK (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCKDIVCR_PCKA_Pos (12UL) /*!< PCKA (Bit 12) */ + #define R_SYSTEM_SCKDIVCR_PCKA_Msk (0x7000UL) /*!< PCKA (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCKDIVCR_PCKB_Pos (8UL) /*!< PCKB (Bit 8) */ + #define R_SYSTEM_SCKDIVCR_PCKB_Msk (0x700UL) /*!< PCKB (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCKDIVCR_PCKC_Pos (4UL) /*!< PCKC (Bit 4) */ + #define R_SYSTEM_SCKDIVCR_PCKC_Msk (0x70UL) /*!< PCKC (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCKDIVCR_PCKD_Pos (0UL) /*!< PCKD (Bit 0) */ + #define R_SYSTEM_SCKDIVCR_PCKD_Msk (0x7UL) /*!< PCKD (Bitfield-Mask: 0x07) */ /* ======================================================= SCKDIVCR2 ======================================================= */ - #define R_SYSTEM_SCKDIVCR2_UCK_Pos (4UL) /*!< UCK (Bit 4) */ - #define R_SYSTEM_SCKDIVCR2_UCK_Msk (0x70UL) /*!< UCK (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCKDIVCR2_UCK_Pos (4UL) /*!< UCK (Bit 4) */ + #define R_SYSTEM_SCKDIVCR2_UCK_Msk (0x70UL) /*!< UCK (Bitfield-Mask: 0x07) */ /* ======================================================== SCKSCR ========================================================= */ - #define R_SYSTEM_SCKSCR_CKSEL_Pos (0UL) /*!< CKSEL (Bit 0) */ - #define R_SYSTEM_SCKSCR_CKSEL_Msk (0x7UL) /*!< CKSEL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCKSCR_CKSEL_Pos (0UL) /*!< CKSEL (Bit 0) */ + #define R_SYSTEM_SCKSCR_CKSEL_Msk (0x7UL) /*!< CKSEL (Bitfield-Mask: 0x07) */ /* ======================================================== PLLCCR ========================================================= */ - #define R_SYSTEM_PLLCCR_PLLMUL_Pos (8UL) /*!< PLLMUL (Bit 8) */ - #define R_SYSTEM_PLLCCR_PLLMUL_Msk (0x3f00UL) /*!< PLLMUL (Bitfield-Mask: 0x3f) */ - #define R_SYSTEM_PLLCCR_PLSRCSEL_Pos (4UL) /*!< PLSRCSEL (Bit 4) */ - #define R_SYSTEM_PLLCCR_PLSRCSEL_Msk (0x10UL) /*!< PLSRCSEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_PLLCCR_PLIDIV_Pos (0UL) /*!< PLIDIV (Bit 0) */ - #define R_SYSTEM_PLLCCR_PLIDIV_Msk (0x3UL) /*!< PLIDIV (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_PLLCCR_PLLMUL_Pos (8UL) /*!< PLLMUL (Bit 8) */ + #define R_SYSTEM_PLLCCR_PLLMUL_Msk (0x3f00UL) /*!< PLLMUL (Bitfield-Mask: 0x3f) */ + #define R_SYSTEM_PLLCCR_PLSRCSEL_Pos (4UL) /*!< PLSRCSEL (Bit 4) */ + #define R_SYSTEM_PLLCCR_PLSRCSEL_Msk (0x10UL) /*!< PLSRCSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_PLLCCR_PLIDIV_Pos (0UL) /*!< PLIDIV (Bit 0) */ + #define R_SYSTEM_PLLCCR_PLIDIV_Msk (0x3UL) /*!< PLIDIV (Bitfield-Mask: 0x03) */ /* ========================================================= PLLCR ========================================================= */ - #define R_SYSTEM_PLLCR_PLLSTP_Pos (0UL) /*!< PLLSTP (Bit 0) */ - #define R_SYSTEM_PLLCR_PLLSTP_Msk (0x1UL) /*!< PLLSTP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_PLLCR_PLLSTP_Pos (0UL) /*!< PLLSTP (Bit 0) */ + #define R_SYSTEM_PLLCR_PLLSTP_Msk (0x1UL) /*!< PLLSTP (Bitfield-Mask: 0x01) */ /* ======================================================== PLLCCR2 ======================================================== */ - #define R_SYSTEM_PLLCCR2_PLODIV_Pos (6UL) /*!< PLODIV (Bit 6) */ - #define R_SYSTEM_PLLCCR2_PLODIV_Msk (0xc0UL) /*!< PLODIV (Bitfield-Mask: 0x03) */ - #define R_SYSTEM_PLLCCR2_PLLMUL_Pos (0UL) /*!< PLLMUL (Bit 0) */ - #define R_SYSTEM_PLLCCR2_PLLMUL_Msk (0x1fUL) /*!< PLLMUL (Bitfield-Mask: 0x1f) */ + #define R_SYSTEM_PLLCCR2_PLODIV_Pos (6UL) /*!< PLODIV (Bit 6) */ + #define R_SYSTEM_PLLCCR2_PLODIV_Msk (0xc0UL) /*!< PLODIV (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_PLLCCR2_PLLMUL_Pos (0UL) /*!< PLLMUL (Bit 0) */ + #define R_SYSTEM_PLLCCR2_PLLMUL_Msk (0x1fUL) /*!< PLLMUL (Bitfield-Mask: 0x1f) */ /* ========================================================= BCKCR ========================================================= */ - #define R_SYSTEM_BCKCR_BCLKDIV_Pos (0UL) /*!< BCLKDIV (Bit 0) */ - #define R_SYSTEM_BCKCR_BCLKDIV_Msk (0x1UL) /*!< BCLKDIV (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BCKCR_BCLKDIV_Pos (0UL) /*!< BCLKDIV (Bit 0) */ + #define R_SYSTEM_BCKCR_BCLKDIV_Msk (0x1UL) /*!< BCLKDIV (Bitfield-Mask: 0x01) */ /* ======================================================== MEMWAIT ======================================================== */ - #define R_SYSTEM_MEMWAIT_MEMWAIT_Pos (0UL) /*!< MEMWAIT (Bit 0) */ - #define R_SYSTEM_MEMWAIT_MEMWAIT_Msk (0x1UL) /*!< MEMWAIT (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MEMWAIT_MEMWAIT_Pos (0UL) /*!< MEMWAIT (Bit 0) */ + #define R_SYSTEM_MEMWAIT_MEMWAIT_Msk (0x1UL) /*!< MEMWAIT (Bitfield-Mask: 0x01) */ /* ======================================================== MOSCCR ========================================================= */ - #define R_SYSTEM_MOSCCR_MOSTP_Pos (0UL) /*!< MOSTP (Bit 0) */ - #define R_SYSTEM_MOSCCR_MOSTP_Msk (0x1UL) /*!< MOSTP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MOSCCR_MOSTP_Pos (0UL) /*!< MOSTP (Bit 0) */ + #define R_SYSTEM_MOSCCR_MOSTP_Msk (0x1UL) /*!< MOSTP (Bitfield-Mask: 0x01) */ /* ======================================================== HOCOCR ========================================================= */ - #define R_SYSTEM_HOCOCR_HCSTP_Pos (0UL) /*!< HCSTP (Bit 0) */ - #define R_SYSTEM_HOCOCR_HCSTP_Msk (0x1UL) /*!< HCSTP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_HOCOCR_HCSTP_Pos (0UL) /*!< HCSTP (Bit 0) */ + #define R_SYSTEM_HOCOCR_HCSTP_Msk (0x1UL) /*!< HCSTP (Bitfield-Mask: 0x01) */ /* ======================================================== MOCOCR ========================================================= */ - #define R_SYSTEM_MOCOCR_MCSTP_Pos (0UL) /*!< MCSTP (Bit 0) */ - #define R_SYSTEM_MOCOCR_MCSTP_Msk (0x1UL) /*!< MCSTP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MOCOCR_MCSTP_Pos (0UL) /*!< MCSTP (Bit 0) */ + #define R_SYSTEM_MOCOCR_MCSTP_Msk (0x1UL) /*!< MCSTP (Bitfield-Mask: 0x01) */ /* ======================================================== FLLCR1 ========================================================= */ - #define R_SYSTEM_FLLCR1_FLLEN_Pos (0UL) /*!< FLLEN (Bit 0) */ - #define R_SYSTEM_FLLCR1_FLLEN_Msk (0x1UL) /*!< FLLEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_FLLCR1_FLLEN_Pos (0UL) /*!< FLLEN (Bit 0) */ + #define R_SYSTEM_FLLCR1_FLLEN_Msk (0x1UL) /*!< FLLEN (Bitfield-Mask: 0x01) */ /* ======================================================== FLLCR2 ========================================================= */ - #define R_SYSTEM_FLLCR2_FLLCNTL_Pos (0UL) /*!< FLLCNTL (Bit 0) */ - #define R_SYSTEM_FLLCR2_FLLCNTL_Msk (0x7ffUL) /*!< FLLCNTL (Bitfield-Mask: 0x7ff) */ + #define R_SYSTEM_FLLCR2_FLLCNTL_Pos (0UL) /*!< FLLCNTL (Bit 0) */ + #define R_SYSTEM_FLLCR2_FLLCNTL_Msk (0x7ffUL) /*!< FLLCNTL (Bitfield-Mask: 0x7ff) */ /* ========================================================= OSCSF ========================================================= */ - #define R_SYSTEM_OSCSF_PLLSF_Pos (5UL) /*!< PLLSF (Bit 5) */ - #define R_SYSTEM_OSCSF_PLLSF_Msk (0x20UL) /*!< PLLSF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_OSCSF_MOSCSF_Pos (3UL) /*!< MOSCSF (Bit 3) */ - #define R_SYSTEM_OSCSF_MOSCSF_Msk (0x8UL) /*!< MOSCSF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_OSCSF_HOCOSF_Pos (0UL) /*!< HOCOSF (Bit 0) */ - #define R_SYSTEM_OSCSF_HOCOSF_Msk (0x1UL) /*!< HOCOSF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_OSCSF_PLL2SF_Pos (6UL) /*!< PLL2SF (Bit 6) */ - #define R_SYSTEM_OSCSF_PLL2SF_Msk (0x40UL) /*!< PLL2SF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OSCSF_PLLSF_Pos (5UL) /*!< PLLSF (Bit 5) */ + #define R_SYSTEM_OSCSF_PLLSF_Msk (0x20UL) /*!< PLLSF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OSCSF_MOSCSF_Pos (3UL) /*!< MOSCSF (Bit 3) */ + #define R_SYSTEM_OSCSF_MOSCSF_Msk (0x8UL) /*!< MOSCSF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OSCSF_HOCOSF_Pos (0UL) /*!< HOCOSF (Bit 0) */ + #define R_SYSTEM_OSCSF_HOCOSF_Msk (0x1UL) /*!< HOCOSF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OSCSF_PLL2SF_Pos (6UL) /*!< PLL2SF (Bit 6) */ + #define R_SYSTEM_OSCSF_PLL2SF_Msk (0x40UL) /*!< PLL2SF (Bitfield-Mask: 0x01) */ /* ========================================================= CKOCR ========================================================= */ - #define R_SYSTEM_CKOCR_CKOEN_Pos (7UL) /*!< CKOEN (Bit 7) */ - #define R_SYSTEM_CKOCR_CKOEN_Msk (0x80UL) /*!< CKOEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CKOCR_CKODIV_Pos (4UL) /*!< CKODIV (Bit 4) */ - #define R_SYSTEM_CKOCR_CKODIV_Msk (0x70UL) /*!< CKODIV (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_CKOCR_CKOSEL_Pos (0UL) /*!< CKOSEL (Bit 0) */ - #define R_SYSTEM_CKOCR_CKOSEL_Msk (0x7UL) /*!< CKOSEL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_CKOCR_CKOEN_Pos (7UL) /*!< CKOEN (Bit 7) */ + #define R_SYSTEM_CKOCR_CKOEN_Msk (0x80UL) /*!< CKOEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CKOCR_CKODIV_Pos (4UL) /*!< CKODIV (Bit 4) */ + #define R_SYSTEM_CKOCR_CKODIV_Msk (0x70UL) /*!< CKODIV (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_CKOCR_CKOSEL_Pos (0UL) /*!< CKOSEL (Bit 0) */ + #define R_SYSTEM_CKOCR_CKOSEL_Msk (0x7UL) /*!< CKOSEL (Bitfield-Mask: 0x07) */ /* ======================================================== TRCKCR ========================================================= */ - #define R_SYSTEM_TRCKCR_TRCKEN_Pos (7UL) /*!< TRCKEN (Bit 7) */ - #define R_SYSTEM_TRCKCR_TRCKEN_Msk (0x80UL) /*!< TRCKEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_TRCKCR_TRCK_Pos (0UL) /*!< TRCK (Bit 0) */ - #define R_SYSTEM_TRCKCR_TRCK_Msk (0xfUL) /*!< TRCK (Bitfield-Mask: 0x0f) */ + #define R_SYSTEM_TRCKCR_TRCKEN_Pos (7UL) /*!< TRCKEN (Bit 7) */ + #define R_SYSTEM_TRCKCR_TRCKEN_Msk (0x80UL) /*!< TRCKEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_TRCKCR_TRCK_Pos (0UL) /*!< TRCK (Bit 0) */ + #define R_SYSTEM_TRCKCR_TRCK_Msk (0xfUL) /*!< TRCK (Bitfield-Mask: 0x0f) */ /* ======================================================== OSTDCR ========================================================= */ - #define R_SYSTEM_OSTDCR_OSTDE_Pos (7UL) /*!< OSTDE (Bit 7) */ - #define R_SYSTEM_OSTDCR_OSTDE_Msk (0x80UL) /*!< OSTDE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_OSTDCR_OSTDIE_Pos (0UL) /*!< OSTDIE (Bit 0) */ - #define R_SYSTEM_OSTDCR_OSTDIE_Msk (0x1UL) /*!< OSTDIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OSTDCR_OSTDE_Pos (7UL) /*!< OSTDE (Bit 7) */ + #define R_SYSTEM_OSTDCR_OSTDE_Msk (0x80UL) /*!< OSTDE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OSTDCR_OSTDIE_Pos (0UL) /*!< OSTDIE (Bit 0) */ + #define R_SYSTEM_OSTDCR_OSTDIE_Msk (0x1UL) /*!< OSTDIE (Bitfield-Mask: 0x01) */ /* ======================================================== OSTDSR ========================================================= */ - #define R_SYSTEM_OSTDSR_OSTDF_Pos (0UL) /*!< OSTDF (Bit 0) */ - #define R_SYSTEM_OSTDSR_OSTDF_Msk (0x1UL) /*!< OSTDF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OSTDSR_OSTDF_Pos (0UL) /*!< OSTDF (Bit 0) */ + #define R_SYSTEM_OSTDSR_OSTDF_Msk (0x1UL) /*!< OSTDF (Bitfield-Mask: 0x01) */ +/* ========================================================= LPOPT ========================================================= */ + #define R_SYSTEM_LPOPT_LPOPTEN_Pos (7UL) /*!< LPOPTEN (Bit 7) */ + #define R_SYSTEM_LPOPT_LPOPTEN_Msk (0x80UL) /*!< LPOPTEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LPOPT_BPFCLKDIS_Pos (3UL) /*!< BPFCLKDIS (Bit 3) */ + #define R_SYSTEM_LPOPT_BPFCLKDIS_Msk (0x8UL) /*!< BPFCLKDIS (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LPOPT_DCLKDIS_Pos (1UL) /*!< DCLKDIS (Bit 1) */ + #define R_SYSTEM_LPOPT_DCLKDIS_Msk (0x6UL) /*!< DCLKDIS (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_LPOPT_MPUDIS_Pos (0UL) /*!< MPUDIS (Bit 0) */ + #define R_SYSTEM_LPOPT_MPUDIS_Msk (0x1UL) /*!< MPUDIS (Bitfield-Mask: 0x01) */ /* ======================================================= SLCDSCKCR ======================================================= */ - #define R_SYSTEM_SLCDSCKCR_LCDSCKEN_Pos (7UL) /*!< LCDSCKEN (Bit 7) */ - #define R_SYSTEM_SLCDSCKCR_LCDSCKEN_Msk (0x80UL) /*!< LCDSCKEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SLCDSCKCR_LCDSCKSEL_Pos (0UL) /*!< LCDSCKSEL (Bit 0) */ - #define R_SYSTEM_SLCDSCKCR_LCDSCKSEL_Msk (0x7UL) /*!< LCDSCKSEL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SLCDSCKCR_LCDSCKEN_Pos (7UL) /*!< LCDSCKEN (Bit 7) */ + #define R_SYSTEM_SLCDSCKCR_LCDSCKEN_Msk (0x80UL) /*!< LCDSCKEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SLCDSCKCR_LCDSCKSEL_Pos (0UL) /*!< LCDSCKSEL (Bit 0) */ + #define R_SYSTEM_SLCDSCKCR_LCDSCKSEL_Msk (0x7UL) /*!< LCDSCKSEL (Bitfield-Mask: 0x07) */ /* ======================================================== EBCKOCR ======================================================== */ - #define R_SYSTEM_EBCKOCR_EBCKOEN_Pos (0UL) /*!< EBCKOEN (Bit 0) */ - #define R_SYSTEM_EBCKOCR_EBCKOEN_Msk (0x1UL) /*!< EBCKOEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_EBCKOCR_EBCKOEN_Pos (0UL) /*!< EBCKOEN (Bit 0) */ + #define R_SYSTEM_EBCKOCR_EBCKOEN_Msk (0x1UL) /*!< EBCKOEN (Bitfield-Mask: 0x01) */ /* ======================================================== SDCKOCR ======================================================== */ - #define R_SYSTEM_SDCKOCR_SDCKOEN_Pos (0UL) /*!< SDCKOEN (Bit 0) */ - #define R_SYSTEM_SDCKOCR_SDCKOEN_Msk (0x1UL) /*!< SDCKOEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SDCKOCR_SDCKOEN_Pos (0UL) /*!< SDCKOEN (Bit 0) */ + #define R_SYSTEM_SDCKOCR_SDCKOEN_Msk (0x1UL) /*!< SDCKOEN (Bitfield-Mask: 0x01) */ /* ======================================================= MOCOUTCR ======================================================== */ - #define R_SYSTEM_MOCOUTCR_MOCOUTRM_Pos (0UL) /*!< MOCOUTRM (Bit 0) */ - #define R_SYSTEM_MOCOUTCR_MOCOUTRM_Msk (0xffUL) /*!< MOCOUTRM (Bitfield-Mask: 0xff) */ + #define R_SYSTEM_MOCOUTCR_MOCOUTRM_Pos (0UL) /*!< MOCOUTRM (Bit 0) */ + #define R_SYSTEM_MOCOUTCR_MOCOUTRM_Msk (0xffUL) /*!< MOCOUTRM (Bitfield-Mask: 0xff) */ /* ======================================================= HOCOUTCR ======================================================== */ - #define R_SYSTEM_HOCOUTCR_HOCOUTRM_Pos (0UL) /*!< HOCOUTRM (Bit 0) */ - #define R_SYSTEM_HOCOUTCR_HOCOUTRM_Msk (0xffUL) /*!< HOCOUTRM (Bitfield-Mask: 0xff) */ + #define R_SYSTEM_HOCOUTCR_HOCOUTRM_Pos (0UL) /*!< HOCOUTRM (Bit 0) */ + #define R_SYSTEM_HOCOUTCR_HOCOUTRM_Msk (0xffUL) /*!< HOCOUTRM (Bitfield-Mask: 0xff) */ /* ========================================================= SNZCR ========================================================= */ - #define R_SYSTEM_SNZCR_SNZE_Pos (7UL) /*!< SNZE (Bit 7) */ - #define R_SYSTEM_SNZCR_SNZE_Msk (0x80UL) /*!< SNZE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZCR_SNZDTCEN_Pos (1UL) /*!< SNZDTCEN (Bit 1) */ - #define R_SYSTEM_SNZCR_SNZDTCEN_Msk (0x2UL) /*!< SNZDTCEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZCR_RXDREQEN_Pos (0UL) /*!< RXDREQEN (Bit 0) */ - #define R_SYSTEM_SNZCR_RXDREQEN_Msk (0x1UL) /*!< RXDREQEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZCR_SNZE_Pos (7UL) /*!< SNZE (Bit 7) */ + #define R_SYSTEM_SNZCR_SNZE_Msk (0x80UL) /*!< SNZE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZCR_SNZDTCEN_Pos (1UL) /*!< SNZDTCEN (Bit 1) */ + #define R_SYSTEM_SNZCR_SNZDTCEN_Msk (0x2UL) /*!< SNZDTCEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZCR_RXDREQEN_Pos (0UL) /*!< RXDREQEN (Bit 0) */ + #define R_SYSTEM_SNZCR_RXDREQEN_Msk (0x1UL) /*!< RXDREQEN (Bitfield-Mask: 0x01) */ /* ======================================================== SNZEDCR ======================================================== */ - #define R_SYSTEM_SNZEDCR_SCI0UMTED_Pos (7UL) /*!< SCI0UMTED (Bit 7) */ - #define R_SYSTEM_SNZEDCR_SCI0UMTED_Msk (0x80UL) /*!< SCI0UMTED (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZEDCR_AD1UMTED_Pos (6UL) /*!< AD1UMTED (Bit 6) */ - #define R_SYSTEM_SNZEDCR_AD1UMTED_Msk (0x40UL) /*!< AD1UMTED (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZEDCR_AD1MATED_Pos (5UL) /*!< AD1MATED (Bit 5) */ - #define R_SYSTEM_SNZEDCR_AD1MATED_Msk (0x20UL) /*!< AD1MATED (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZEDCR_AD0UMTED_Pos (4UL) /*!< AD0UMTED (Bit 4) */ - #define R_SYSTEM_SNZEDCR_AD0UMTED_Msk (0x10UL) /*!< AD0UMTED (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZEDCR_AD0MATED_Pos (3UL) /*!< AD0MATED (Bit 3) */ - #define R_SYSTEM_SNZEDCR_AD0MATED_Msk (0x8UL) /*!< AD0MATED (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZEDCR_DTCNZRED_Pos (2UL) /*!< DTCNZRED (Bit 2) */ - #define R_SYSTEM_SNZEDCR_DTCNZRED_Msk (0x4UL) /*!< DTCNZRED (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZEDCR_DTCZRED_Pos (1UL) /*!< DTCZRED (Bit 1) */ - #define R_SYSTEM_SNZEDCR_DTCZRED_Msk (0x2UL) /*!< DTCZRED (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZEDCR_AGT1UNFED_Pos (0UL) /*!< AGT1UNFED (Bit 0) */ - #define R_SYSTEM_SNZEDCR_AGT1UNFED_Msk (0x1UL) /*!< AGT1UNFED (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZEDCR_SCI0UMTED_Pos (7UL) /*!< SCI0UMTED (Bit 7) */ + #define R_SYSTEM_SNZEDCR_SCI0UMTED_Msk (0x80UL) /*!< SCI0UMTED (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZEDCR_AD1UMTED_Pos (6UL) /*!< AD1UMTED (Bit 6) */ + #define R_SYSTEM_SNZEDCR_AD1UMTED_Msk (0x40UL) /*!< AD1UMTED (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZEDCR_AD1MATED_Pos (5UL) /*!< AD1MATED (Bit 5) */ + #define R_SYSTEM_SNZEDCR_AD1MATED_Msk (0x20UL) /*!< AD1MATED (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZEDCR_AD0UMTED_Pos (4UL) /*!< AD0UMTED (Bit 4) */ + #define R_SYSTEM_SNZEDCR_AD0UMTED_Msk (0x10UL) /*!< AD0UMTED (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZEDCR_AD0MATED_Pos (3UL) /*!< AD0MATED (Bit 3) */ + #define R_SYSTEM_SNZEDCR_AD0MATED_Msk (0x8UL) /*!< AD0MATED (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZEDCR_DTCNZRED_Pos (2UL) /*!< DTCNZRED (Bit 2) */ + #define R_SYSTEM_SNZEDCR_DTCNZRED_Msk (0x4UL) /*!< DTCNZRED (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZEDCR_DTCZRED_Pos (1UL) /*!< DTCZRED (Bit 1) */ + #define R_SYSTEM_SNZEDCR_DTCZRED_Msk (0x2UL) /*!< DTCZRED (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZEDCR_AGT1UNFED_Pos (0UL) /*!< AGT1UNFED (Bit 0) */ + #define R_SYSTEM_SNZEDCR_AGT1UNFED_Msk (0x1UL) /*!< AGT1UNFED (Bitfield-Mask: 0x01) */ /* ======================================================= SNZREQCR ======================================================== */ - #define R_SYSTEM_SNZREQCR_SNZREQEN30_Pos (30UL) /*!< SNZREQEN30 (Bit 30) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN30_Msk (0x40000000UL) /*!< SNZREQEN30 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN29_Pos (29UL) /*!< SNZREQEN29 (Bit 29) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN29_Msk (0x20000000UL) /*!< SNZREQEN29 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN28_Pos (28UL) /*!< SNZREQEN28 (Bit 28) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN28_Msk (0x10000000UL) /*!< SNZREQEN28 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN25_Pos (25UL) /*!< SNZREQEN25 (Bit 25) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN25_Msk (0x2000000UL) /*!< SNZREQEN25 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN24_Pos (24UL) /*!< SNZREQEN24 (Bit 24) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN24_Msk (0x1000000UL) /*!< SNZREQEN24 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN23_Pos (23UL) /*!< SNZREQEN23 (Bit 23) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN23_Msk (0x800000UL) /*!< SNZREQEN23 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN22_Pos (22UL) /*!< SNZREQEN22 (Bit 22) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN22_Msk (0x400000UL) /*!< SNZREQEN22 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN17_Pos (17UL) /*!< SNZREQEN17 (Bit 17) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN17_Msk (0x20000UL) /*!< SNZREQEN17 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN_Pos (0UL) /*!< SNZREQEN (Bit 0) */ - #define R_SYSTEM_SNZREQCR_SNZREQEN_Msk (0x1UL) /*!< SNZREQEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN30_Pos (30UL) /*!< SNZREQEN30 (Bit 30) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN30_Msk (0x40000000UL) /*!< SNZREQEN30 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN29_Pos (29UL) /*!< SNZREQEN29 (Bit 29) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN29_Msk (0x20000000UL) /*!< SNZREQEN29 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN28_Pos (28UL) /*!< SNZREQEN28 (Bit 28) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN28_Msk (0x10000000UL) /*!< SNZREQEN28 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN25_Pos (25UL) /*!< SNZREQEN25 (Bit 25) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN25_Msk (0x2000000UL) /*!< SNZREQEN25 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN24_Pos (24UL) /*!< SNZREQEN24 (Bit 24) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN24_Msk (0x1000000UL) /*!< SNZREQEN24 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN23_Pos (23UL) /*!< SNZREQEN23 (Bit 23) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN23_Msk (0x800000UL) /*!< SNZREQEN23 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN22_Pos (22UL) /*!< SNZREQEN22 (Bit 22) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN22_Msk (0x400000UL) /*!< SNZREQEN22 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN17_Pos (17UL) /*!< SNZREQEN17 (Bit 17) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN17_Msk (0x20000UL) /*!< SNZREQEN17 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN_Pos (0UL) /*!< SNZREQEN (Bit 0) */ + #define R_SYSTEM_SNZREQCR_SNZREQEN_Msk (0x1UL) /*!< SNZREQEN (Bitfield-Mask: 0x01) */ /* ======================================================== FLSTOP ========================================================= */ - #define R_SYSTEM_FLSTOP_FLSTPF_Pos (4UL) /*!< FLSTPF (Bit 4) */ - #define R_SYSTEM_FLSTOP_FLSTPF_Msk (0x10UL) /*!< FLSTPF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_FLSTOP_FLSTOP_Pos (0UL) /*!< FLSTOP (Bit 0) */ - #define R_SYSTEM_FLSTOP_FLSTOP_Msk (0x1UL) /*!< FLSTOP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_FLSTOP_FLSTPF_Pos (4UL) /*!< FLSTPF (Bit 4) */ + #define R_SYSTEM_FLSTOP_FLSTPF_Msk (0x10UL) /*!< FLSTPF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_FLSTOP_FLSTOP_Pos (0UL) /*!< FLSTOP (Bit 0) */ + #define R_SYSTEM_FLSTOP_FLSTOP_Msk (0x1UL) /*!< FLSTOP (Bitfield-Mask: 0x01) */ /* ========================================================= PSMCR ========================================================= */ - #define R_SYSTEM_PSMCR_PSMC_Pos (0UL) /*!< PSMC (Bit 0) */ - #define R_SYSTEM_PSMCR_PSMC_Msk (0x3UL) /*!< PSMC (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_PSMCR_PSMC_Pos (0UL) /*!< PSMC (Bit 0) */ + #define R_SYSTEM_PSMCR_PSMC_Msk (0x3UL) /*!< PSMC (Bitfield-Mask: 0x03) */ /* ========================================================= OPCCR ========================================================= */ - #define R_SYSTEM_OPCCR_OPCMTSF_Pos (4UL) /*!< OPCMTSF (Bit 4) */ - #define R_SYSTEM_OPCCR_OPCMTSF_Msk (0x10UL) /*!< OPCMTSF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_OPCCR_OPCM_Pos (0UL) /*!< OPCM (Bit 0) */ - #define R_SYSTEM_OPCCR_OPCM_Msk (0x3UL) /*!< OPCM (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_OPCCR_OPCMTSF_Pos (4UL) /*!< OPCMTSF (Bit 4) */ + #define R_SYSTEM_OPCCR_OPCMTSF_Msk (0x10UL) /*!< OPCMTSF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OPCCR_OPCM_Pos (0UL) /*!< OPCM (Bit 0) */ + #define R_SYSTEM_OPCCR_OPCM_Msk (0x3UL) /*!< OPCM (Bitfield-Mask: 0x03) */ /* ======================================================== SOPCCR ========================================================= */ - #define R_SYSTEM_SOPCCR_SOPCMTSF_Pos (4UL) /*!< SOPCMTSF (Bit 4) */ - #define R_SYSTEM_SOPCCR_SOPCMTSF_Msk (0x10UL) /*!< SOPCMTSF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SOPCCR_SOPCM_Pos (0UL) /*!< SOPCM (Bit 0) */ - #define R_SYSTEM_SOPCCR_SOPCM_Msk (0x1UL) /*!< SOPCM (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SOPCCR_SOPCMTSF_Pos (4UL) /*!< SOPCMTSF (Bit 4) */ + #define R_SYSTEM_SOPCCR_SOPCMTSF_Msk (0x10UL) /*!< SOPCMTSF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SOPCCR_SOPCM_Pos (0UL) /*!< SOPCM (Bit 0) */ + #define R_SYSTEM_SOPCCR_SOPCM_Msk (0x1UL) /*!< SOPCM (Bitfield-Mask: 0x01) */ /* ======================================================= MOSCWTCR ======================================================== */ - #define R_SYSTEM_MOSCWTCR_MSTS_Pos (0UL) /*!< MSTS (Bit 0) */ - #define R_SYSTEM_MOSCWTCR_MSTS_Msk (0xfUL) /*!< MSTS (Bitfield-Mask: 0x0f) */ + #define R_SYSTEM_MOSCWTCR_MSTS_Pos (0UL) /*!< MSTS (Bit 0) */ + #define R_SYSTEM_MOSCWTCR_MSTS_Msk (0xfUL) /*!< MSTS (Bitfield-Mask: 0x0f) */ /* ======================================================= HOCOWTCR ======================================================== */ - #define R_SYSTEM_HOCOWTCR_HSTS_Pos (0UL) /*!< HSTS (Bit 0) */ - #define R_SYSTEM_HOCOWTCR_HSTS_Msk (0x7UL) /*!< HSTS (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_HOCOWTCR_HSTS_Pos (0UL) /*!< HSTS (Bit 0) */ + #define R_SYSTEM_HOCOWTCR_HSTS_Msk (0x7UL) /*!< HSTS (Bitfield-Mask: 0x07) */ /* ======================================================== RSTSR1 ========================================================= */ - #define R_SYSTEM_RSTSR1_SPERF_Pos (12UL) /*!< SPERF (Bit 12) */ - #define R_SYSTEM_RSTSR1_SPERF_Msk (0x1000UL) /*!< SPERF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR1_BUSMRF_Pos (11UL) /*!< BUSMRF (Bit 11) */ - #define R_SYSTEM_RSTSR1_BUSMRF_Msk (0x800UL) /*!< BUSMRF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR1_BUSSRF_Pos (10UL) /*!< BUSSRF (Bit 10) */ - #define R_SYSTEM_RSTSR1_BUSSRF_Msk (0x400UL) /*!< BUSSRF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR1_REERF_Pos (9UL) /*!< REERF (Bit 9) */ - #define R_SYSTEM_RSTSR1_REERF_Msk (0x200UL) /*!< REERF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR1_RPERF_Pos (8UL) /*!< RPERF (Bit 8) */ - #define R_SYSTEM_RSTSR1_RPERF_Msk (0x100UL) /*!< RPERF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR1_SWRF_Pos (2UL) /*!< SWRF (Bit 2) */ - #define R_SYSTEM_RSTSR1_SWRF_Msk (0x4UL) /*!< SWRF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR1_WDTRF_Pos (1UL) /*!< WDTRF (Bit 1) */ - #define R_SYSTEM_RSTSR1_WDTRF_Msk (0x2UL) /*!< WDTRF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR1_IWDTRF_Pos (0UL) /*!< IWDTRF (Bit 0) */ - #define R_SYSTEM_RSTSR1_IWDTRF_Msk (0x1UL) /*!< IWDTRF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR1_TZERF_Pos (13UL) /*!< TZERF (Bit 13) */ - #define R_SYSTEM_RSTSR1_TZERF_Msk (0x2000UL) /*!< TZERF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR1_CPERF_Pos (15UL) /*!< CPERF (Bit 15) */ - #define R_SYSTEM_RSTSR1_CPERF_Msk (0x8000UL) /*!< CPERF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_SPERF_Pos (12UL) /*!< SPERF (Bit 12) */ + #define R_SYSTEM_RSTSR1_SPERF_Msk (0x1000UL) /*!< SPERF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_BUSMRF_Pos (11UL) /*!< BUSMRF (Bit 11) */ + #define R_SYSTEM_RSTSR1_BUSMRF_Msk (0x800UL) /*!< BUSMRF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_BUSSRF_Pos (10UL) /*!< BUSSRF (Bit 10) */ + #define R_SYSTEM_RSTSR1_BUSSRF_Msk (0x400UL) /*!< BUSSRF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_REERF_Pos (9UL) /*!< REERF (Bit 9) */ + #define R_SYSTEM_RSTSR1_REERF_Msk (0x200UL) /*!< REERF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_RPERF_Pos (8UL) /*!< RPERF (Bit 8) */ + #define R_SYSTEM_RSTSR1_RPERF_Msk (0x100UL) /*!< RPERF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_SWRF_Pos (2UL) /*!< SWRF (Bit 2) */ + #define R_SYSTEM_RSTSR1_SWRF_Msk (0x4UL) /*!< SWRF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_WDTRF_Pos (1UL) /*!< WDTRF (Bit 1) */ + #define R_SYSTEM_RSTSR1_WDTRF_Msk (0x2UL) /*!< WDTRF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_IWDTRF_Pos (0UL) /*!< IWDTRF (Bit 0) */ + #define R_SYSTEM_RSTSR1_IWDTRF_Msk (0x1UL) /*!< IWDTRF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_TZERF_Pos (13UL) /*!< TZERF (Bit 13) */ + #define R_SYSTEM_RSTSR1_TZERF_Msk (0x2000UL) /*!< TZERF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR1_CPERF_Pos (15UL) /*!< CPERF (Bit 15) */ + #define R_SYSTEM_RSTSR1_CPERF_Msk (0x8000UL) /*!< CPERF (Bitfield-Mask: 0x01) */ /* ======================================================== STCONR ========================================================= */ - #define R_SYSTEM_STCONR_STCON_Pos (0UL) /*!< STCON (Bit 0) */ - #define R_SYSTEM_STCONR_STCON_Msk (0x3UL) /*!< STCON (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_STCONR_STCON_Pos (0UL) /*!< STCON (Bit 0) */ + #define R_SYSTEM_STCONR_STCON_Msk (0x3UL) /*!< STCON (Bitfield-Mask: 0x03) */ /* ======================================================== LVD1CR1 ======================================================== */ - #define R_SYSTEM_LVD1CR1_IRQSEL_Pos (2UL) /*!< IRQSEL (Bit 2) */ - #define R_SYSTEM_LVD1CR1_IRQSEL_Msk (0x4UL) /*!< IRQSEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD1CR1_IDTSEL_Pos (0UL) /*!< IDTSEL (Bit 0) */ - #define R_SYSTEM_LVD1CR1_IDTSEL_Msk (0x3UL) /*!< IDTSEL (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_LVD1CR1_IRQSEL_Pos (2UL) /*!< IRQSEL (Bit 2) */ + #define R_SYSTEM_LVD1CR1_IRQSEL_Msk (0x4UL) /*!< IRQSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD1CR1_IDTSEL_Pos (0UL) /*!< IDTSEL (Bit 0) */ + #define R_SYSTEM_LVD1CR1_IDTSEL_Msk (0x3UL) /*!< IDTSEL (Bitfield-Mask: 0x03) */ /* ======================================================== LVD2CR1 ======================================================== */ - #define R_SYSTEM_LVD2CR1_IRQSEL_Pos (2UL) /*!< IRQSEL (Bit 2) */ - #define R_SYSTEM_LVD2CR1_IRQSEL_Msk (0x4UL) /*!< IRQSEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD2CR1_IDTSEL_Pos (0UL) /*!< IDTSEL (Bit 0) */ - #define R_SYSTEM_LVD2CR1_IDTSEL_Msk (0x3UL) /*!< IDTSEL (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_LVD2CR1_IRQSEL_Pos (2UL) /*!< IRQSEL (Bit 2) */ + #define R_SYSTEM_LVD2CR1_IRQSEL_Msk (0x4UL) /*!< IRQSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD2CR1_IDTSEL_Pos (0UL) /*!< IDTSEL (Bit 0) */ + #define R_SYSTEM_LVD2CR1_IDTSEL_Msk (0x3UL) /*!< IDTSEL (Bitfield-Mask: 0x03) */ /* ====================================================== USBCKCR_ALT ====================================================== */ - #define R_SYSTEM_USBCKCR_ALT_USBCLKSEL_Pos (0UL) /*!< USBCLKSEL (Bit 0) */ - #define R_SYSTEM_USBCKCR_ALT_USBCLKSEL_Msk (0x1UL) /*!< USBCLKSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_USBCKCR_ALT_USBCLKSEL_Pos (0UL) /*!< USBCLKSEL (Bit 0) */ + #define R_SYSTEM_USBCKCR_ALT_USBCLKSEL_Msk (0x1UL) /*!< USBCLKSEL (Bitfield-Mask: 0x01) */ /* ======================================================= SDADCCKCR ======================================================= */ - #define R_SYSTEM_SDADCCKCR_SDADCCKSEL_Pos (0UL) /*!< SDADCCKSEL (Bit 0) */ - #define R_SYSTEM_SDADCCKCR_SDADCCKSEL_Msk (0x1UL) /*!< SDADCCKSEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SDADCCKCR_SDADCCKEN_Pos (7UL) /*!< SDADCCKEN (Bit 7) */ - #define R_SYSTEM_SDADCCKCR_SDADCCKEN_Msk (0x80UL) /*!< SDADCCKEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SDADCCKCR_SDADCCKSEL_Pos (0UL) /*!< SDADCCKSEL (Bit 0) */ + #define R_SYSTEM_SDADCCKCR_SDADCCKSEL_Msk (0x1UL) /*!< SDADCCKSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SDADCCKCR_SDADCCKEN_Pos (7UL) /*!< SDADCCKEN (Bit 7) */ + #define R_SYSTEM_SDADCCKCR_SDADCCKEN_Msk (0x80UL) /*!< SDADCCKEN (Bitfield-Mask: 0x01) */ /* ======================================================== LVD1SR ========================================================= */ - #define R_SYSTEM_LVD1SR_MON_Pos (1UL) /*!< MON (Bit 1) */ - #define R_SYSTEM_LVD1SR_MON_Msk (0x2UL) /*!< MON (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD1SR_DET_Pos (0UL) /*!< DET (Bit 0) */ - #define R_SYSTEM_LVD1SR_DET_Msk (0x1UL) /*!< DET (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD1SR_MON_Pos (1UL) /*!< MON (Bit 1) */ + #define R_SYSTEM_LVD1SR_MON_Msk (0x2UL) /*!< MON (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD1SR_DET_Pos (0UL) /*!< DET (Bit 0) */ + #define R_SYSTEM_LVD1SR_DET_Msk (0x1UL) /*!< DET (Bitfield-Mask: 0x01) */ /* ======================================================== LVD2SR ========================================================= */ - #define R_SYSTEM_LVD2SR_MON_Pos (1UL) /*!< MON (Bit 1) */ - #define R_SYSTEM_LVD2SR_MON_Msk (0x2UL) /*!< MON (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD2SR_DET_Pos (0UL) /*!< DET (Bit 0) */ - #define R_SYSTEM_LVD2SR_DET_Msk (0x1UL) /*!< DET (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD2SR_MON_Pos (1UL) /*!< MON (Bit 1) */ + #define R_SYSTEM_LVD2SR_MON_Msk (0x2UL) /*!< MON (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD2SR_DET_Pos (0UL) /*!< DET (Bit 0) */ + #define R_SYSTEM_LVD2SR_DET_Msk (0x1UL) /*!< DET (Bitfield-Mask: 0x01) */ /* ========================================================= PRCR ========================================================== */ - #define R_SYSTEM_PRCR_PRKEY_Pos (8UL) /*!< PRKEY (Bit 8) */ - #define R_SYSTEM_PRCR_PRKEY_Msk (0xff00UL) /*!< PRKEY (Bitfield-Mask: 0xff) */ - #define R_SYSTEM_PRCR_PRC3_Pos (3UL) /*!< PRC3 (Bit 3) */ - #define R_SYSTEM_PRCR_PRC3_Msk (0x8UL) /*!< PRC3 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_PRCR_PRC1_Pos (1UL) /*!< PRC1 (Bit 1) */ - #define R_SYSTEM_PRCR_PRC1_Msk (0x2UL) /*!< PRC1 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_PRCR_PRC0_Pos (0UL) /*!< PRC0 (Bit 0) */ - #define R_SYSTEM_PRCR_PRC0_Msk (0x1UL) /*!< PRC0 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_PRCR_PRC4_Pos (4UL) /*!< PRC4 (Bit 4) */ - #define R_SYSTEM_PRCR_PRC4_Msk (0x10UL) /*!< PRC4 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_PRCR_PRKEY_Pos (8UL) /*!< PRKEY (Bit 8) */ + #define R_SYSTEM_PRCR_PRKEY_Msk (0xff00UL) /*!< PRKEY (Bitfield-Mask: 0xff) */ + #define R_SYSTEM_PRCR_PRC3_Pos (3UL) /*!< PRC3 (Bit 3) */ + #define R_SYSTEM_PRCR_PRC3_Msk (0x8UL) /*!< PRC3 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_PRCR_PRC1_Pos (1UL) /*!< PRC1 (Bit 1) */ + #define R_SYSTEM_PRCR_PRC1_Msk (0x2UL) /*!< PRC1 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_PRCR_PRC0_Pos (0UL) /*!< PRC0 (Bit 0) */ + #define R_SYSTEM_PRCR_PRC0_Msk (0x1UL) /*!< PRC0 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_PRCR_PRC4_Pos (4UL) /*!< PRC4 (Bit 4) */ + #define R_SYSTEM_PRCR_PRC4_Msk (0x10UL) /*!< PRC4 (Bitfield-Mask: 0x01) */ /* ======================================================== DPSIER0 ======================================================== */ - #define R_SYSTEM_DPSIER0_DIRQE_Pos (0UL) /*!< DIRQE (Bit 0) */ - #define R_SYSTEM_DPSIER0_DIRQE_Msk (0x1UL) /*!< DIRQE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER0_DIRQE_Pos (0UL) /*!< DIRQE (Bit 0) */ + #define R_SYSTEM_DPSIER0_DIRQE_Msk (0x1UL) /*!< DIRQE (Bitfield-Mask: 0x01) */ /* ======================================================== DPSIER1 ======================================================== */ - #define R_SYSTEM_DPSIER1_DIRQE_Pos (0UL) /*!< DIRQE (Bit 0) */ - #define R_SYSTEM_DPSIER1_DIRQE_Msk (0x1UL) /*!< DIRQE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER1_DIRQE_Pos (0UL) /*!< DIRQE (Bit 0) */ + #define R_SYSTEM_DPSIER1_DIRQE_Msk (0x1UL) /*!< DIRQE (Bitfield-Mask: 0x01) */ /* ======================================================== DPSIER2 ======================================================== */ - #define R_SYSTEM_DPSIER2_DNMIE_Pos (4UL) /*!< DNMIE (Bit 4) */ - #define R_SYSTEM_DPSIER2_DNMIE_Msk (0x10UL) /*!< DNMIE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIER2_DRTCAIE_Pos (3UL) /*!< DRTCAIE (Bit 3) */ - #define R_SYSTEM_DPSIER2_DRTCAIE_Msk (0x8UL) /*!< DRTCAIE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIER2_DTRTCIIE_Pos (2UL) /*!< DTRTCIIE (Bit 2) */ - #define R_SYSTEM_DPSIER2_DTRTCIIE_Msk (0x4UL) /*!< DTRTCIIE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIER2_DLVD2IE_Pos (1UL) /*!< DLVD2IE (Bit 1) */ - #define R_SYSTEM_DPSIER2_DLVD2IE_Msk (0x2UL) /*!< DLVD2IE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIER2_DLVD1IE_Pos (0UL) /*!< DLVD1IE (Bit 0) */ - #define R_SYSTEM_DPSIER2_DLVD1IE_Msk (0x1UL) /*!< DLVD1IE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER2_DNMIE_Pos (4UL) /*!< DNMIE (Bit 4) */ + #define R_SYSTEM_DPSIER2_DNMIE_Msk (0x10UL) /*!< DNMIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER2_DRTCAIE_Pos (3UL) /*!< DRTCAIE (Bit 3) */ + #define R_SYSTEM_DPSIER2_DRTCAIE_Msk (0x8UL) /*!< DRTCAIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER2_DTRTCIIE_Pos (2UL) /*!< DTRTCIIE (Bit 2) */ + #define R_SYSTEM_DPSIER2_DTRTCIIE_Msk (0x4UL) /*!< DTRTCIIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER2_DLVD2IE_Pos (1UL) /*!< DLVD2IE (Bit 1) */ + #define R_SYSTEM_DPSIER2_DLVD2IE_Msk (0x2UL) /*!< DLVD2IE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER2_DLVD1IE_Pos (0UL) /*!< DLVD1IE (Bit 0) */ + #define R_SYSTEM_DPSIER2_DLVD1IE_Msk (0x1UL) /*!< DLVD1IE (Bitfield-Mask: 0x01) */ /* ======================================================== DPSIER3 ======================================================== */ - #define R_SYSTEM_DPSIER3_DAGT1IE_Pos (2UL) /*!< DAGT1IE (Bit 2) */ - #define R_SYSTEM_DPSIER3_DAGT1IE_Msk (0x4UL) /*!< DAGT1IE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIER3_DUSBHSIE_Pos (1UL) /*!< DUSBHSIE (Bit 1) */ - #define R_SYSTEM_DPSIER3_DUSBHSIE_Msk (0x2UL) /*!< DUSBHSIE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIER3_DUSBFSIE_Pos (0UL) /*!< DUSBFSIE (Bit 0) */ - #define R_SYSTEM_DPSIER3_DUSBFSIE_Msk (0x1UL) /*!< DUSBFSIE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIER3_DAGT3IE_Pos (3UL) /*!< DAGT3IE (Bit 3) */ - #define R_SYSTEM_DPSIER3_DAGT3IE_Msk (0x8UL) /*!< DAGT3IE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER3_DAGT1IE_Pos (2UL) /*!< DAGT1IE (Bit 2) */ + #define R_SYSTEM_DPSIER3_DAGT1IE_Msk (0x4UL) /*!< DAGT1IE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER3_DUSBHSIE_Pos (1UL) /*!< DUSBHSIE (Bit 1) */ + #define R_SYSTEM_DPSIER3_DUSBHSIE_Msk (0x2UL) /*!< DUSBHSIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER3_DUSBFSIE_Pos (0UL) /*!< DUSBFSIE (Bit 0) */ + #define R_SYSTEM_DPSIER3_DUSBFSIE_Msk (0x1UL) /*!< DUSBFSIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIER3_DAGT3IE_Pos (3UL) /*!< DAGT3IE (Bit 3) */ + #define R_SYSTEM_DPSIER3_DAGT3IE_Msk (0x8UL) /*!< DAGT3IE (Bitfield-Mask: 0x01) */ /* ======================================================== DPSIFR0 ======================================================== */ - #define R_SYSTEM_DPSIFR0_DIRQF_Pos (0UL) /*!< DIRQF (Bit 0) */ - #define R_SYSTEM_DPSIFR0_DIRQF_Msk (0x1UL) /*!< DIRQF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR0_DIRQF_Pos (0UL) /*!< DIRQF (Bit 0) */ + #define R_SYSTEM_DPSIFR0_DIRQF_Msk (0x1UL) /*!< DIRQF (Bitfield-Mask: 0x01) */ /* ======================================================== DPSIFR1 ======================================================== */ - #define R_SYSTEM_DPSIFR1_DIRQF_Pos (0UL) /*!< DIRQF (Bit 0) */ - #define R_SYSTEM_DPSIFR1_DIRQF_Msk (0x1UL) /*!< DIRQF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR1_DIRQF_Pos (0UL) /*!< DIRQF (Bit 0) */ + #define R_SYSTEM_DPSIFR1_DIRQF_Msk (0x1UL) /*!< DIRQF (Bitfield-Mask: 0x01) */ /* ======================================================== DPSIFR2 ======================================================== */ - #define R_SYSTEM_DPSIFR2_DNMIF_Pos (4UL) /*!< DNMIF (Bit 4) */ - #define R_SYSTEM_DPSIFR2_DNMIF_Msk (0x10UL) /*!< DNMIF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIFR2_DRTCAIF_Pos (3UL) /*!< DRTCAIF (Bit 3) */ - #define R_SYSTEM_DPSIFR2_DRTCAIF_Msk (0x8UL) /*!< DRTCAIF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIFR2_DTRTCIIF_Pos (2UL) /*!< DTRTCIIF (Bit 2) */ - #define R_SYSTEM_DPSIFR2_DTRTCIIF_Msk (0x4UL) /*!< DTRTCIIF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIFR2_DLVD2IF_Pos (1UL) /*!< DLVD2IF (Bit 1) */ - #define R_SYSTEM_DPSIFR2_DLVD2IF_Msk (0x2UL) /*!< DLVD2IF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIFR2_DLVD1IF_Pos (0UL) /*!< DLVD1IF (Bit 0) */ - #define R_SYSTEM_DPSIFR2_DLVD1IF_Msk (0x1UL) /*!< DLVD1IF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR2_DNMIF_Pos (4UL) /*!< DNMIF (Bit 4) */ + #define R_SYSTEM_DPSIFR2_DNMIF_Msk (0x10UL) /*!< DNMIF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR2_DRTCAIF_Pos (3UL) /*!< DRTCAIF (Bit 3) */ + #define R_SYSTEM_DPSIFR2_DRTCAIF_Msk (0x8UL) /*!< DRTCAIF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR2_DTRTCIIF_Pos (2UL) /*!< DTRTCIIF (Bit 2) */ + #define R_SYSTEM_DPSIFR2_DTRTCIIF_Msk (0x4UL) /*!< DTRTCIIF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR2_DLVD2IF_Pos (1UL) /*!< DLVD2IF (Bit 1) */ + #define R_SYSTEM_DPSIFR2_DLVD2IF_Msk (0x2UL) /*!< DLVD2IF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR2_DLVD1IF_Pos (0UL) /*!< DLVD1IF (Bit 0) */ + #define R_SYSTEM_DPSIFR2_DLVD1IF_Msk (0x1UL) /*!< DLVD1IF (Bitfield-Mask: 0x01) */ /* ======================================================== DPSIFR3 ======================================================== */ - #define R_SYSTEM_DPSIFR3_DAGT1IF_Pos (2UL) /*!< DAGT1IF (Bit 2) */ - #define R_SYSTEM_DPSIFR3_DAGT1IF_Msk (0x4UL) /*!< DAGT1IF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIFR3_DUSBHSIF_Pos (1UL) /*!< DUSBHSIF (Bit 1) */ - #define R_SYSTEM_DPSIFR3_DUSBHSIF_Msk (0x2UL) /*!< DUSBHSIF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIFR3_DUSBFSIF_Pos (0UL) /*!< DUSBFSIF (Bit 0) */ - #define R_SYSTEM_DPSIFR3_DUSBFSIF_Msk (0x1UL) /*!< DUSBFSIF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIFR3_DAGT3IF_Pos (3UL) /*!< DAGT3IF (Bit 3) */ - #define R_SYSTEM_DPSIFR3_DAGT3IF_Msk (0x8UL) /*!< DAGT3IF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR3_DAGT1IF_Pos (2UL) /*!< DAGT1IF (Bit 2) */ + #define R_SYSTEM_DPSIFR3_DAGT1IF_Msk (0x4UL) /*!< DAGT1IF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR3_DUSBHSIF_Pos (1UL) /*!< DUSBHSIF (Bit 1) */ + #define R_SYSTEM_DPSIFR3_DUSBHSIF_Msk (0x2UL) /*!< DUSBHSIF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR3_DUSBFSIF_Pos (0UL) /*!< DUSBFSIF (Bit 0) */ + #define R_SYSTEM_DPSIFR3_DUSBFSIF_Msk (0x1UL) /*!< DUSBFSIF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIFR3_DAGT3IF_Pos (3UL) /*!< DAGT3IF (Bit 3) */ + #define R_SYSTEM_DPSIFR3_DAGT3IF_Msk (0x8UL) /*!< DAGT3IF (Bitfield-Mask: 0x01) */ /* ======================================================= DPSIEGR0 ======================================================== */ - #define R_SYSTEM_DPSIEGR0_DIRQEG_Pos (0UL) /*!< DIRQEG (Bit 0) */ - #define R_SYSTEM_DPSIEGR0_DIRQEG_Msk (0x1UL) /*!< DIRQEG (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIEGR0_DIRQEG_Pos (0UL) /*!< DIRQEG (Bit 0) */ + #define R_SYSTEM_DPSIEGR0_DIRQEG_Msk (0x1UL) /*!< DIRQEG (Bitfield-Mask: 0x01) */ /* ======================================================= DPSIEGR1 ======================================================== */ - #define R_SYSTEM_DPSIEGR1_DIRQEG_Pos (0UL) /*!< DIRQEG (Bit 0) */ - #define R_SYSTEM_DPSIEGR1_DIRQEG_Msk (0x1UL) /*!< DIRQEG (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIEGR1_DIRQEG_Pos (0UL) /*!< DIRQEG (Bit 0) */ + #define R_SYSTEM_DPSIEGR1_DIRQEG_Msk (0x1UL) /*!< DIRQEG (Bitfield-Mask: 0x01) */ /* ======================================================= DPSIEGR2 ======================================================== */ - #define R_SYSTEM_DPSIEGR2_DNMIEG_Pos (4UL) /*!< DNMIEG (Bit 4) */ - #define R_SYSTEM_DPSIEGR2_DNMIEG_Msk (0x10UL) /*!< DNMIEG (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIEGR2_DLVD2IEG_Pos (1UL) /*!< DLVD2IEG (Bit 1) */ - #define R_SYSTEM_DPSIEGR2_DLVD2IEG_Msk (0x2UL) /*!< DLVD2IEG (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSIEGR2_DLVD1IEG_Pos (0UL) /*!< DLVD1IEG (Bit 0) */ - #define R_SYSTEM_DPSIEGR2_DLVD1IEG_Msk (0x1UL) /*!< DLVD1IEG (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIEGR2_DNMIEG_Pos (4UL) /*!< DNMIEG (Bit 4) */ + #define R_SYSTEM_DPSIEGR2_DNMIEG_Msk (0x10UL) /*!< DNMIEG (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIEGR2_DLVD2IEG_Pos (1UL) /*!< DLVD2IEG (Bit 1) */ + #define R_SYSTEM_DPSIEGR2_DLVD2IEG_Msk (0x2UL) /*!< DLVD2IEG (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSIEGR2_DLVD1IEG_Pos (0UL) /*!< DLVD1IEG (Bit 0) */ + #define R_SYSTEM_DPSIEGR2_DLVD1IEG_Msk (0x1UL) /*!< DLVD1IEG (Bitfield-Mask: 0x01) */ /* ======================================================== DPSBYCR ======================================================== */ - #define R_SYSTEM_DPSBYCR_DPSBY_Pos (7UL) /*!< DPSBY (Bit 7) */ - #define R_SYSTEM_DPSBYCR_DPSBY_Msk (0x80UL) /*!< DPSBY (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSBYCR_IOKEEP_Pos (6UL) /*!< IOKEEP (Bit 6) */ - #define R_SYSTEM_DPSBYCR_IOKEEP_Msk (0x40UL) /*!< IOKEEP (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPSBYCR_DEEPCUT_Pos (0UL) /*!< DEEPCUT (Bit 0) */ - #define R_SYSTEM_DPSBYCR_DEEPCUT_Msk (0x3UL) /*!< DEEPCUT (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_DPSBYCR_DPSBY_Pos (7UL) /*!< DPSBY (Bit 7) */ + #define R_SYSTEM_DPSBYCR_DPSBY_Msk (0x80UL) /*!< DPSBY (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSBYCR_IOKEEP_Pos (6UL) /*!< IOKEEP (Bit 6) */ + #define R_SYSTEM_DPSBYCR_IOKEEP_Msk (0x40UL) /*!< IOKEEP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPSBYCR_DEEPCUT_Pos (0UL) /*!< DEEPCUT (Bit 0) */ + #define R_SYSTEM_DPSBYCR_DEEPCUT_Msk (0x3UL) /*!< DEEPCUT (Bitfield-Mask: 0x03) */ /* ======================================================== SYOCDCR ======================================================== */ - #define R_SYSTEM_SYOCDCR_DBGEN_Pos (7UL) /*!< DBGEN (Bit 7) */ - #define R_SYSTEM_SYOCDCR_DBGEN_Msk (0x80UL) /*!< DBGEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SYOCDCR_DOCDF_Pos (0UL) /*!< DOCDF (Bit 0) */ - #define R_SYSTEM_SYOCDCR_DOCDF_Msk (0x1UL) /*!< DOCDF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SYOCDCR_DBGEN_Pos (7UL) /*!< DBGEN (Bit 7) */ + #define R_SYSTEM_SYOCDCR_DBGEN_Msk (0x80UL) /*!< DBGEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SYOCDCR_DOCDF_Pos (0UL) /*!< DOCDF (Bit 0) */ + #define R_SYSTEM_SYOCDCR_DOCDF_Msk (0x1UL) /*!< DOCDF (Bitfield-Mask: 0x01) */ /* ========================================================= MOMCR ========================================================= */ - #define R_SYSTEM_MOMCR_AUTODRVEN_Pos (7UL) /*!< AUTODRVEN (Bit 7) */ - #define R_SYSTEM_MOMCR_AUTODRVEN_Msk (0x80UL) /*!< AUTODRVEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_MOMCR_MOSEL_Pos (6UL) /*!< MOSEL (Bit 6) */ - #define R_SYSTEM_MOMCR_MOSEL_Msk (0x40UL) /*!< MOSEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_MOMCR_MODRV0_Pos (4UL) /*!< MODRV0 (Bit 4) */ - #define R_SYSTEM_MOMCR_MODRV0_Msk (0x30UL) /*!< MODRV0 (Bitfield-Mask: 0x03) */ - #define R_SYSTEM_MOMCR_MODRV1_Pos (3UL) /*!< MODRV1 (Bit 3) */ - #define R_SYSTEM_MOMCR_MODRV1_Msk (0x8UL) /*!< MODRV1 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MOMCR_AUTODRVEN_Pos (7UL) /*!< AUTODRVEN (Bit 7) */ + #define R_SYSTEM_MOMCR_AUTODRVEN_Msk (0x80UL) /*!< AUTODRVEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MOMCR_MOSEL_Pos (6UL) /*!< MOSEL (Bit 6) */ + #define R_SYSTEM_MOMCR_MOSEL_Msk (0x40UL) /*!< MOSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_MOMCR_MODRV0_Pos (4UL) /*!< MODRV0 (Bit 4) */ + #define R_SYSTEM_MOMCR_MODRV0_Msk (0x30UL) /*!< MODRV0 (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_MOMCR_MODRV1_Pos (3UL) /*!< MODRV1 (Bit 3) */ + #define R_SYSTEM_MOMCR_MODRV1_Msk (0x8UL) /*!< MODRV1 (Bitfield-Mask: 0x01) */ /* ======================================================== RSTSR0 ========================================================= */ - #define R_SYSTEM_RSTSR0_DPSRSTF_Pos (7UL) /*!< DPSRSTF (Bit 7) */ - #define R_SYSTEM_RSTSR0_DPSRSTF_Msk (0x80UL) /*!< DPSRSTF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR0_LVD2RF_Pos (3UL) /*!< LVD2RF (Bit 3) */ - #define R_SYSTEM_RSTSR0_LVD2RF_Msk (0x8UL) /*!< LVD2RF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR0_LVD1RF_Pos (2UL) /*!< LVD1RF (Bit 2) */ - #define R_SYSTEM_RSTSR0_LVD1RF_Msk (0x4UL) /*!< LVD1RF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR0_LVD0RF_Pos (1UL) /*!< LVD0RF (Bit 1) */ - #define R_SYSTEM_RSTSR0_LVD0RF_Msk (0x2UL) /*!< LVD0RF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSR0_PORF_Pos (0UL) /*!< PORF (Bit 0) */ - #define R_SYSTEM_RSTSR0_PORF_Msk (0x1UL) /*!< PORF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR0_DPSRSTF_Pos (7UL) /*!< DPSRSTF (Bit 7) */ + #define R_SYSTEM_RSTSR0_DPSRSTF_Msk (0x80UL) /*!< DPSRSTF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR0_LVD2RF_Pos (3UL) /*!< LVD2RF (Bit 3) */ + #define R_SYSTEM_RSTSR0_LVD2RF_Msk (0x8UL) /*!< LVD2RF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR0_LVD1RF_Pos (2UL) /*!< LVD1RF (Bit 2) */ + #define R_SYSTEM_RSTSR0_LVD1RF_Msk (0x4UL) /*!< LVD1RF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR0_LVD0RF_Pos (1UL) /*!< LVD0RF (Bit 1) */ + #define R_SYSTEM_RSTSR0_LVD0RF_Msk (0x2UL) /*!< LVD0RF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR0_PORF_Pos (0UL) /*!< PORF (Bit 0) */ + #define R_SYSTEM_RSTSR0_PORF_Msk (0x1UL) /*!< PORF (Bitfield-Mask: 0x01) */ /* ======================================================== RSTSR2 ========================================================= */ - #define R_SYSTEM_RSTSR2_CWSF_Pos (0UL) /*!< CWSF (Bit 0) */ - #define R_SYSTEM_RSTSR2_CWSF_Msk (0x1UL) /*!< CWSF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSR2_CWSF_Pos (0UL) /*!< CWSF (Bit 0) */ + #define R_SYSTEM_RSTSR2_CWSF_Msk (0x1UL) /*!< CWSF (Bitfield-Mask: 0x01) */ /* ======================================================== LVCMPCR ======================================================== */ - #define R_SYSTEM_LVCMPCR_LVD2E_Pos (6UL) /*!< LVD2E (Bit 6) */ - #define R_SYSTEM_LVCMPCR_LVD2E_Msk (0x40UL) /*!< LVD2E (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVCMPCR_LVD1E_Pos (5UL) /*!< LVD1E (Bit 5) */ - #define R_SYSTEM_LVCMPCR_LVD1E_Msk (0x20UL) /*!< LVD1E (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVCMPCR_LVD2E_Pos (6UL) /*!< LVD2E (Bit 6) */ + #define R_SYSTEM_LVCMPCR_LVD2E_Msk (0x40UL) /*!< LVD2E (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVCMPCR_LVD1E_Pos (5UL) /*!< LVD1E (Bit 5) */ + #define R_SYSTEM_LVCMPCR_LVD1E_Msk (0x20UL) /*!< LVD1E (Bitfield-Mask: 0x01) */ /* ======================================================= LVD1CMPCR ======================================================= */ - #define R_SYSTEM_LVD1CMPCR_LVD1LVL_Pos (0UL) /*!< LVD1LVL (Bit 0) */ - #define R_SYSTEM_LVD1CMPCR_LVD1LVL_Msk (0x1fUL) /*!< LVD1LVL (Bitfield-Mask: 0x1f) */ - #define R_SYSTEM_LVD1CMPCR_LVD1E_Pos (7UL) /*!< LVD1E (Bit 7) */ - #define R_SYSTEM_LVD1CMPCR_LVD1E_Msk (0x80UL) /*!< LVD1E (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD1CMPCR_LVD1LVL_Pos (0UL) /*!< LVD1LVL (Bit 0) */ + #define R_SYSTEM_LVD1CMPCR_LVD1LVL_Msk (0x1fUL) /*!< LVD1LVL (Bitfield-Mask: 0x1f) */ + #define R_SYSTEM_LVD1CMPCR_LVD1E_Pos (7UL) /*!< LVD1E (Bit 7) */ + #define R_SYSTEM_LVD1CMPCR_LVD1E_Msk (0x80UL) /*!< LVD1E (Bitfield-Mask: 0x01) */ /* ======================================================== LVDLVLR ======================================================== */ - #define R_SYSTEM_LVDLVLR_LVD2LVL_Pos (5UL) /*!< LVD2LVL (Bit 5) */ - #define R_SYSTEM_LVDLVLR_LVD2LVL_Msk (0xe0UL) /*!< LVD2LVL (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_LVDLVLR_LVD1LVL_Pos (0UL) /*!< LVD1LVL (Bit 0) */ - #define R_SYSTEM_LVDLVLR_LVD1LVL_Msk (0x1fUL) /*!< LVD1LVL (Bitfield-Mask: 0x1f) */ + #define R_SYSTEM_LVDLVLR_LVD2LVL_Pos (5UL) /*!< LVD2LVL (Bit 5) */ + #define R_SYSTEM_LVDLVLR_LVD2LVL_Msk (0xe0UL) /*!< LVD2LVL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_LVDLVLR_LVD1LVL_Pos (0UL) /*!< LVD1LVL (Bit 0) */ + #define R_SYSTEM_LVDLVLR_LVD1LVL_Msk (0x1fUL) /*!< LVD1LVL (Bitfield-Mask: 0x1f) */ /* ======================================================= LVD2CMPCR ======================================================= */ - #define R_SYSTEM_LVD2CMPCR_LVD2LVL_Pos (0UL) /*!< LVD2LVL (Bit 0) */ - #define R_SYSTEM_LVD2CMPCR_LVD2LVL_Msk (0x7UL) /*!< LVD2LVL (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_LVD2CMPCR_LVD2E_Pos (7UL) /*!< LVD2E (Bit 7) */ - #define R_SYSTEM_LVD2CMPCR_LVD2E_Msk (0x80UL) /*!< LVD2E (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD2CMPCR_LVD2LVL_Pos (0UL) /*!< LVD2LVL (Bit 0) */ + #define R_SYSTEM_LVD2CMPCR_LVD2LVL_Msk (0x7UL) /*!< LVD2LVL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_LVD2CMPCR_LVD2E_Pos (7UL) /*!< LVD2E (Bit 7) */ + #define R_SYSTEM_LVD2CMPCR_LVD2E_Msk (0x80UL) /*!< LVD2E (Bitfield-Mask: 0x01) */ /* ======================================================== LVD1CR0 ======================================================== */ - #define R_SYSTEM_LVD1CR0_RN_Pos (7UL) /*!< RN (Bit 7) */ - #define R_SYSTEM_LVD1CR0_RN_Msk (0x80UL) /*!< RN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD1CR0_RI_Pos (6UL) /*!< RI (Bit 6) */ - #define R_SYSTEM_LVD1CR0_RI_Msk (0x40UL) /*!< RI (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD1CR0_FSAMP_Pos (4UL) /*!< FSAMP (Bit 4) */ - #define R_SYSTEM_LVD1CR0_FSAMP_Msk (0x30UL) /*!< FSAMP (Bitfield-Mask: 0x03) */ - #define R_SYSTEM_LVD1CR0_CMPE_Pos (2UL) /*!< CMPE (Bit 2) */ - #define R_SYSTEM_LVD1CR0_CMPE_Msk (0x4UL) /*!< CMPE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD1CR0_DFDIS_Pos (1UL) /*!< DFDIS (Bit 1) */ - #define R_SYSTEM_LVD1CR0_DFDIS_Msk (0x2UL) /*!< DFDIS (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD1CR0_RIE_Pos (0UL) /*!< RIE (Bit 0) */ - #define R_SYSTEM_LVD1CR0_RIE_Msk (0x1UL) /*!< RIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD1CR0_RN_Pos (7UL) /*!< RN (Bit 7) */ + #define R_SYSTEM_LVD1CR0_RN_Msk (0x80UL) /*!< RN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD1CR0_RI_Pos (6UL) /*!< RI (Bit 6) */ + #define R_SYSTEM_LVD1CR0_RI_Msk (0x40UL) /*!< RI (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD1CR0_FSAMP_Pos (4UL) /*!< FSAMP (Bit 4) */ + #define R_SYSTEM_LVD1CR0_FSAMP_Msk (0x30UL) /*!< FSAMP (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_LVD1CR0_CMPE_Pos (2UL) /*!< CMPE (Bit 2) */ + #define R_SYSTEM_LVD1CR0_CMPE_Msk (0x4UL) /*!< CMPE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD1CR0_DFDIS_Pos (1UL) /*!< DFDIS (Bit 1) */ + #define R_SYSTEM_LVD1CR0_DFDIS_Msk (0x2UL) /*!< DFDIS (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD1CR0_RIE_Pos (0UL) /*!< RIE (Bit 0) */ + #define R_SYSTEM_LVD1CR0_RIE_Msk (0x1UL) /*!< RIE (Bitfield-Mask: 0x01) */ /* ======================================================== LVD2CR0 ======================================================== */ - #define R_SYSTEM_LVD2CR0_RN_Pos (7UL) /*!< RN (Bit 7) */ - #define R_SYSTEM_LVD2CR0_RN_Msk (0x80UL) /*!< RN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD2CR0_RI_Pos (6UL) /*!< RI (Bit 6) */ - #define R_SYSTEM_LVD2CR0_RI_Msk (0x40UL) /*!< RI (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD2CR0_FSAMP_Pos (4UL) /*!< FSAMP (Bit 4) */ - #define R_SYSTEM_LVD2CR0_FSAMP_Msk (0x30UL) /*!< FSAMP (Bitfield-Mask: 0x03) */ - #define R_SYSTEM_LVD2CR0_CMPE_Pos (2UL) /*!< CMPE (Bit 2) */ - #define R_SYSTEM_LVD2CR0_CMPE_Msk (0x4UL) /*!< CMPE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD2CR0_DFDIS_Pos (1UL) /*!< DFDIS (Bit 1) */ - #define R_SYSTEM_LVD2CR0_DFDIS_Msk (0x2UL) /*!< DFDIS (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVD2CR0_RIE_Pos (0UL) /*!< RIE (Bit 0) */ - #define R_SYSTEM_LVD2CR0_RIE_Msk (0x1UL) /*!< RIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD2CR0_RN_Pos (7UL) /*!< RN (Bit 7) */ + #define R_SYSTEM_LVD2CR0_RN_Msk (0x80UL) /*!< RN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD2CR0_RI_Pos (6UL) /*!< RI (Bit 6) */ + #define R_SYSTEM_LVD2CR0_RI_Msk (0x40UL) /*!< RI (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD2CR0_FSAMP_Pos (4UL) /*!< FSAMP (Bit 4) */ + #define R_SYSTEM_LVD2CR0_FSAMP_Msk (0x30UL) /*!< FSAMP (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_LVD2CR0_CMPE_Pos (2UL) /*!< CMPE (Bit 2) */ + #define R_SYSTEM_LVD2CR0_CMPE_Msk (0x4UL) /*!< CMPE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD2CR0_DFDIS_Pos (1UL) /*!< DFDIS (Bit 1) */ + #define R_SYSTEM_LVD2CR0_DFDIS_Msk (0x2UL) /*!< DFDIS (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVD2CR0_RIE_Pos (0UL) /*!< RIE (Bit 0) */ + #define R_SYSTEM_LVD2CR0_RIE_Msk (0x1UL) /*!< RIE (Bitfield-Mask: 0x01) */ /* ======================================================== VBTCR1 ========================================================= */ - #define R_SYSTEM_VBTCR1_BPWSWSTP_Pos (0UL) /*!< BPWSWSTP (Bit 0) */ - #define R_SYSTEM_VBTCR1_BPWSWSTP_Msk (0x1UL) /*!< BPWSWSTP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTCR1_BPWSWSTP_Pos (0UL) /*!< BPWSWSTP (Bit 0) */ + #define R_SYSTEM_VBTCR1_BPWSWSTP_Msk (0x1UL) /*!< BPWSWSTP (Bitfield-Mask: 0x01) */ /* ======================================================== DCDCCTL ======================================================== */ - #define R_SYSTEM_DCDCCTL_PD_Pos (7UL) /*!< PD (Bit 7) */ - #define R_SYSTEM_DCDCCTL_PD_Msk (0x80UL) /*!< PD (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DCDCCTL_FST_Pos (6UL) /*!< FST (Bit 6) */ - #define R_SYSTEM_DCDCCTL_FST_Msk (0x40UL) /*!< FST (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DCDCCTL_LCBOOST_Pos (5UL) /*!< LCBOOST (Bit 5) */ - #define R_SYSTEM_DCDCCTL_LCBOOST_Msk (0x20UL) /*!< LCBOOST (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DCDCCTL_STOPZA_Pos (4UL) /*!< STOPZA (Bit 4) */ - #define R_SYSTEM_DCDCCTL_STOPZA_Msk (0x10UL) /*!< STOPZA (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DCDCCTL_OCPEN_Pos (1UL) /*!< OCPEN (Bit 1) */ - #define R_SYSTEM_DCDCCTL_OCPEN_Msk (0x2UL) /*!< OCPEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DCDCCTL_DCDCON_Pos (0UL) /*!< DCDCON (Bit 0) */ - #define R_SYSTEM_DCDCCTL_DCDCON_Msk (0x1UL) /*!< DCDCON (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DCDCCTL_PD_Pos (7UL) /*!< PD (Bit 7) */ + #define R_SYSTEM_DCDCCTL_PD_Msk (0x80UL) /*!< PD (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DCDCCTL_FST_Pos (6UL) /*!< FST (Bit 6) */ + #define R_SYSTEM_DCDCCTL_FST_Msk (0x40UL) /*!< FST (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DCDCCTL_LCBOOST_Pos (5UL) /*!< LCBOOST (Bit 5) */ + #define R_SYSTEM_DCDCCTL_LCBOOST_Msk (0x20UL) /*!< LCBOOST (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DCDCCTL_STOPZA_Pos (4UL) /*!< STOPZA (Bit 4) */ + #define R_SYSTEM_DCDCCTL_STOPZA_Msk (0x10UL) /*!< STOPZA (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DCDCCTL_OCPEN_Pos (1UL) /*!< OCPEN (Bit 1) */ + #define R_SYSTEM_DCDCCTL_OCPEN_Msk (0x2UL) /*!< OCPEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DCDCCTL_DCDCON_Pos (0UL) /*!< DCDCON (Bit 0) */ + #define R_SYSTEM_DCDCCTL_DCDCON_Msk (0x1UL) /*!< DCDCON (Bitfield-Mask: 0x01) */ /* ======================================================== VCCSEL ========================================================= */ - #define R_SYSTEM_VCCSEL_VCCSEL_Pos (0UL) /*!< VCCSEL (Bit 0) */ - #define R_SYSTEM_VCCSEL_VCCSEL_Msk (0x3UL) /*!< VCCSEL (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_VCCSEL_VCCSEL_Pos (0UL) /*!< VCCSEL (Bit 0) */ + #define R_SYSTEM_VCCSEL_VCCSEL_Msk (0x3UL) /*!< VCCSEL (Bitfield-Mask: 0x03) */ /* ======================================================== SOSCCR ========================================================= */ - #define R_SYSTEM_SOSCCR_SOSTP_Pos (0UL) /*!< SOSTP (Bit 0) */ - #define R_SYSTEM_SOSCCR_SOSTP_Msk (0x1UL) /*!< SOSTP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SOSCCR_SOSTP_Pos (0UL) /*!< SOSTP (Bit 0) */ + #define R_SYSTEM_SOSCCR_SOSTP_Msk (0x1UL) /*!< SOSTP (Bitfield-Mask: 0x01) */ /* ========================================================= SOMCR ========================================================= */ - #define R_SYSTEM_SOMCR_SODRV_Pos (0UL) /*!< SODRV (Bit 0) */ - #define R_SYSTEM_SOMCR_SODRV_Msk (0x3UL) /*!< SODRV (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_SOMCR_SODRV_Pos (0UL) /*!< SODRV (Bit 0) */ + #define R_SYSTEM_SOMCR_SODRV_Msk (0x3UL) /*!< SODRV (Bitfield-Mask: 0x03) */ /* ======================================================== LOCOCR ========================================================= */ - #define R_SYSTEM_LOCOCR_LCSTP_Pos (0UL) /*!< LCSTP (Bit 0) */ - #define R_SYSTEM_LOCOCR_LCSTP_Msk (0x1UL) /*!< LCSTP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LOCOCR_LCSTP_Pos (0UL) /*!< LCSTP (Bit 0) */ + #define R_SYSTEM_LOCOCR_LCSTP_Msk (0x1UL) /*!< LCSTP (Bitfield-Mask: 0x01) */ /* ======================================================= LOCOUTCR ======================================================== */ - #define R_SYSTEM_LOCOUTCR_LOCOUTRM_Pos (0UL) /*!< LOCOUTRM (Bit 0) */ - #define R_SYSTEM_LOCOUTCR_LOCOUTRM_Msk (0xffUL) /*!< LOCOUTRM (Bitfield-Mask: 0xff) */ + #define R_SYSTEM_LOCOUTCR_LOCOUTRM_Pos (0UL) /*!< LOCOUTRM (Bit 0) */ + #define R_SYSTEM_LOCOUTCR_LOCOUTRM_Msk (0xffUL) /*!< LOCOUTRM (Bitfield-Mask: 0xff) */ /* ======================================================== VBTCR2 ========================================================= */ - #define R_SYSTEM_VBTCR2_VBTLVDLVL_Pos (6UL) /*!< VBTLVDLVL (Bit 6) */ - #define R_SYSTEM_VBTCR2_VBTLVDLVL_Msk (0xc0UL) /*!< VBTLVDLVL (Bitfield-Mask: 0x03) */ - #define R_SYSTEM_VBTCR2_VBTLVDEN_Pos (4UL) /*!< VBTLVDEN (Bit 4) */ - #define R_SYSTEM_VBTCR2_VBTLVDEN_Msk (0x10UL) /*!< VBTLVDEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTCR2_VBTLVDLVL_Pos (6UL) /*!< VBTLVDLVL (Bit 6) */ + #define R_SYSTEM_VBTCR2_VBTLVDLVL_Msk (0xc0UL) /*!< VBTLVDLVL (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_VBTCR2_VBTLVDEN_Pos (4UL) /*!< VBTLVDEN (Bit 4) */ + #define R_SYSTEM_VBTCR2_VBTLVDEN_Msk (0x10UL) /*!< VBTLVDEN (Bitfield-Mask: 0x01) */ /* ========================================================= VBTSR ========================================================= */ - #define R_SYSTEM_VBTSR_VBTRVLD_Pos (4UL) /*!< VBTRVLD (Bit 4) */ - #define R_SYSTEM_VBTSR_VBTRVLD_Msk (0x10UL) /*!< VBTRVLD (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTSR_VBTBLDF_Pos (1UL) /*!< VBTBLDF (Bit 1) */ - #define R_SYSTEM_VBTSR_VBTBLDF_Msk (0x2UL) /*!< VBTBLDF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTSR_VBTRDF_Pos (0UL) /*!< VBTRDF (Bit 0) */ - #define R_SYSTEM_VBTSR_VBTRDF_Msk (0x1UL) /*!< VBTRDF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTSR_VBTRVLD_Pos (4UL) /*!< VBTRVLD (Bit 4) */ + #define R_SYSTEM_VBTSR_VBTRVLD_Msk (0x10UL) /*!< VBTRVLD (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTSR_VBTBLDF_Pos (1UL) /*!< VBTBLDF (Bit 1) */ + #define R_SYSTEM_VBTSR_VBTBLDF_Msk (0x2UL) /*!< VBTBLDF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTSR_VBTRDF_Pos (0UL) /*!< VBTRDF (Bit 0) */ + #define R_SYSTEM_VBTSR_VBTRDF_Msk (0x1UL) /*!< VBTRDF (Bitfield-Mask: 0x01) */ /* ======================================================= VBTCMPCR ======================================================== */ - #define R_SYSTEM_VBTCMPCR_VBTCMPE_Pos (0UL) /*!< VBTCMPE (Bit 0) */ - #define R_SYSTEM_VBTCMPCR_VBTCMPE_Msk (0x1UL) /*!< VBTCMPE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTCMPCR_VBTCMPE_Pos (0UL) /*!< VBTCMPE (Bit 0) */ + #define R_SYSTEM_VBTCMPCR_VBTCMPE_Msk (0x1UL) /*!< VBTCMPE (Bitfield-Mask: 0x01) */ /* ======================================================= VBTLVDICR ======================================================= */ - #define R_SYSTEM_VBTLVDICR_VBTLVDISEL_Pos (1UL) /*!< VBTLVDISEL (Bit 1) */ - #define R_SYSTEM_VBTLVDICR_VBTLVDISEL_Msk (0x2UL) /*!< VBTLVDISEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTLVDICR_VBTLVDIE_Pos (0UL) /*!< VBTLVDIE (Bit 0) */ - #define R_SYSTEM_VBTLVDICR_VBTLVDIE_Msk (0x1UL) /*!< VBTLVDIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTLVDICR_VBTLVDISEL_Pos (1UL) /*!< VBTLVDISEL (Bit 1) */ + #define R_SYSTEM_VBTLVDICR_VBTLVDISEL_Msk (0x2UL) /*!< VBTLVDISEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTLVDICR_VBTLVDIE_Pos (0UL) /*!< VBTLVDIE (Bit 0) */ + #define R_SYSTEM_VBTLVDICR_VBTLVDIE_Msk (0x1UL) /*!< VBTLVDIE (Bitfield-Mask: 0x01) */ /* ======================================================= VBTWCTLR ======================================================== */ - #define R_SYSTEM_VBTWCTLR_VWEN_Pos (0UL) /*!< VWEN (Bit 0) */ - #define R_SYSTEM_VBTWCTLR_VWEN_Msk (0x1UL) /*!< VWEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCTLR_VWEN_Pos (0UL) /*!< VWEN (Bit 0) */ + #define R_SYSTEM_VBTWCTLR_VWEN_Msk (0x1UL) /*!< VWEN (Bitfield-Mask: 0x01) */ /* ====================================================== VBTWCH0OTSR ====================================================== */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VAGTUTE_Pos (5UL) /*!< CH0VAGTUTE (Bit 5) */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VAGTUTE_Msk (0x20UL) /*!< CH0VAGTUTE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VRTCATE_Pos (4UL) /*!< CH0VRTCATE (Bit 4) */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VRTCATE_Msk (0x10UL) /*!< CH0VRTCATE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VRTCTE_Pos (3UL) /*!< CH0VRTCTE (Bit 3) */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VRTCTE_Msk (0x8UL) /*!< CH0VRTCTE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VCH2TE_Pos (2UL) /*!< CH0VCH2TE (Bit 2) */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VCH2TE_Msk (0x4UL) /*!< CH0VCH2TE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VCH1TE_Pos (1UL) /*!< CH0VCH1TE (Bit 1) */ - #define R_SYSTEM_VBTWCH0OTSR_CH0VCH1TE_Msk (0x2UL) /*!< CH0VCH1TE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VAGTUTE_Pos (5UL) /*!< CH0VAGTUTE (Bit 5) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VAGTUTE_Msk (0x20UL) /*!< CH0VAGTUTE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VRTCATE_Pos (4UL) /*!< CH0VRTCATE (Bit 4) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VRTCATE_Msk (0x10UL) /*!< CH0VRTCATE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VRTCTE_Pos (3UL) /*!< CH0VRTCTE (Bit 3) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VRTCTE_Msk (0x8UL) /*!< CH0VRTCTE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VCH2TE_Pos (2UL) /*!< CH0VCH2TE (Bit 2) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VCH2TE_Msk (0x4UL) /*!< CH0VCH2TE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VCH1TE_Pos (1UL) /*!< CH0VCH1TE (Bit 1) */ + #define R_SYSTEM_VBTWCH0OTSR_CH0VCH1TE_Msk (0x2UL) /*!< CH0VCH1TE (Bitfield-Mask: 0x01) */ /* ====================================================== VBTWCH1OTSR ====================================================== */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VAGTUTE_Pos (5UL) /*!< CH1VAGTUTE (Bit 5) */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VAGTUTE_Msk (0x20UL) /*!< CH1VAGTUTE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VRTCATE_Pos (4UL) /*!< CH1VRTCATE (Bit 4) */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VRTCATE_Msk (0x10UL) /*!< CH1VRTCATE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VRTCTE_Pos (3UL) /*!< CH1VRTCTE (Bit 3) */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VRTCTE_Msk (0x8UL) /*!< CH1VRTCTE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VCH2TE_Pos (2UL) /*!< CH1VCH2TE (Bit 2) */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VCH2TE_Msk (0x4UL) /*!< CH1VCH2TE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VCH0TE_Pos (0UL) /*!< CH1VCH0TE (Bit 0) */ - #define R_SYSTEM_VBTWCH1OTSR_CH1VCH0TE_Msk (0x1UL) /*!< CH1VCH0TE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VAGTUTE_Pos (5UL) /*!< CH1VAGTUTE (Bit 5) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VAGTUTE_Msk (0x20UL) /*!< CH1VAGTUTE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VRTCATE_Pos (4UL) /*!< CH1VRTCATE (Bit 4) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VRTCATE_Msk (0x10UL) /*!< CH1VRTCATE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VRTCTE_Pos (3UL) /*!< CH1VRTCTE (Bit 3) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VRTCTE_Msk (0x8UL) /*!< CH1VRTCTE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VCH2TE_Pos (2UL) /*!< CH1VCH2TE (Bit 2) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VCH2TE_Msk (0x4UL) /*!< CH1VCH2TE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VCH0TE_Pos (0UL) /*!< CH1VCH0TE (Bit 0) */ + #define R_SYSTEM_VBTWCH1OTSR_CH1VCH0TE_Msk (0x1UL) /*!< CH1VCH0TE (Bitfield-Mask: 0x01) */ /* ====================================================== VBTWCH2OTSR ====================================================== */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VAGTUTE_Pos (5UL) /*!< CH2VAGTUTE (Bit 5) */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VAGTUTE_Msk (0x20UL) /*!< CH2VAGTUTE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VRTCATE_Pos (4UL) /*!< CH2VRTCATE (Bit 4) */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VRTCATE_Msk (0x10UL) /*!< CH2VRTCATE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VRTCTE_Pos (3UL) /*!< CH2VRTCTE (Bit 3) */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VRTCTE_Msk (0x8UL) /*!< CH2VRTCTE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VCH1TE_Pos (1UL) /*!< CH2VCH1TE (Bit 1) */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VCH1TE_Msk (0x2UL) /*!< CH2VCH1TE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VCH0TE_Pos (0UL) /*!< CH2VCH0TE (Bit 0) */ - #define R_SYSTEM_VBTWCH2OTSR_CH2VCH0TE_Msk (0x1UL) /*!< CH2VCH0TE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VAGTUTE_Pos (5UL) /*!< CH2VAGTUTE (Bit 5) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VAGTUTE_Msk (0x20UL) /*!< CH2VAGTUTE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VRTCATE_Pos (4UL) /*!< CH2VRTCATE (Bit 4) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VRTCATE_Msk (0x10UL) /*!< CH2VRTCATE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VRTCTE_Pos (3UL) /*!< CH2VRTCTE (Bit 3) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VRTCTE_Msk (0x8UL) /*!< CH2VRTCTE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VCH1TE_Pos (1UL) /*!< CH2VCH1TE (Bit 1) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VCH1TE_Msk (0x2UL) /*!< CH2VCH1TE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VCH0TE_Pos (0UL) /*!< CH2VCH0TE (Bit 0) */ + #define R_SYSTEM_VBTWCH2OTSR_CH2VCH0TE_Msk (0x1UL) /*!< CH2VCH0TE (Bitfield-Mask: 0x01) */ /* ======================================================= VBTICTLR ======================================================== */ - #define R_SYSTEM_VBTICTLR_VCH2INEN_Pos (2UL) /*!< VCH2INEN (Bit 2) */ - #define R_SYSTEM_VBTICTLR_VCH2INEN_Msk (0x4UL) /*!< VCH2INEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTICTLR_VCH1INEN_Pos (1UL) /*!< VCH1INEN (Bit 1) */ - #define R_SYSTEM_VBTICTLR_VCH1INEN_Msk (0x2UL) /*!< VCH1INEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTICTLR_VCH0INEN_Pos (0UL) /*!< VCH0INEN (Bit 0) */ - #define R_SYSTEM_VBTICTLR_VCH0INEN_Msk (0x1UL) /*!< VCH0INEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTICTLR_VCH2INEN_Pos (2UL) /*!< VCH2INEN (Bit 2) */ + #define R_SYSTEM_VBTICTLR_VCH2INEN_Msk (0x4UL) /*!< VCH2INEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTICTLR_VCH1INEN_Pos (1UL) /*!< VCH1INEN (Bit 1) */ + #define R_SYSTEM_VBTICTLR_VCH1INEN_Msk (0x2UL) /*!< VCH1INEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTICTLR_VCH0INEN_Pos (0UL) /*!< VCH0INEN (Bit 0) */ + #define R_SYSTEM_VBTICTLR_VCH0INEN_Msk (0x1UL) /*!< VCH0INEN (Bitfield-Mask: 0x01) */ /* ======================================================= VBTOCTLR ======================================================== */ - #define R_SYSTEM_VBTOCTLR_VOUT2LSEL_Pos (5UL) /*!< VOUT2LSEL (Bit 5) */ - #define R_SYSTEM_VBTOCTLR_VOUT2LSEL_Msk (0x20UL) /*!< VOUT2LSEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTOCTLR_VCOU1LSEL_Pos (4UL) /*!< VCOU1LSEL (Bit 4) */ - #define R_SYSTEM_VBTOCTLR_VCOU1LSEL_Msk (0x10UL) /*!< VCOU1LSEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTOCTLR_VOUT0LSEL_Pos (3UL) /*!< VOUT0LSEL (Bit 3) */ - #define R_SYSTEM_VBTOCTLR_VOUT0LSEL_Msk (0x8UL) /*!< VOUT0LSEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTOCTLR_VCH2OEN_Pos (2UL) /*!< VCH2OEN (Bit 2) */ - #define R_SYSTEM_VBTOCTLR_VCH2OEN_Msk (0x4UL) /*!< VCH2OEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTOCTLR_VCH1OEN_Pos (1UL) /*!< VCH1OEN (Bit 1) */ - #define R_SYSTEM_VBTOCTLR_VCH1OEN_Msk (0x2UL) /*!< VCH1OEN (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTOCTLR_VCH0OEN_Pos (0UL) /*!< VCH0OEN (Bit 0) */ - #define R_SYSTEM_VBTOCTLR_VCH0OEN_Msk (0x1UL) /*!< VCH0OEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTOCTLR_VOUT2LSEL_Pos (5UL) /*!< VOUT2LSEL (Bit 5) */ + #define R_SYSTEM_VBTOCTLR_VOUT2LSEL_Msk (0x20UL) /*!< VOUT2LSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTOCTLR_VCOU1LSEL_Pos (4UL) /*!< VCOU1LSEL (Bit 4) */ + #define R_SYSTEM_VBTOCTLR_VCOU1LSEL_Msk (0x10UL) /*!< VCOU1LSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTOCTLR_VOUT0LSEL_Pos (3UL) /*!< VOUT0LSEL (Bit 3) */ + #define R_SYSTEM_VBTOCTLR_VOUT0LSEL_Msk (0x8UL) /*!< VOUT0LSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTOCTLR_VCH2OEN_Pos (2UL) /*!< VCH2OEN (Bit 2) */ + #define R_SYSTEM_VBTOCTLR_VCH2OEN_Msk (0x4UL) /*!< VCH2OEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTOCTLR_VCH1OEN_Pos (1UL) /*!< VCH1OEN (Bit 1) */ + #define R_SYSTEM_VBTOCTLR_VCH1OEN_Msk (0x2UL) /*!< VCH1OEN (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTOCTLR_VCH0OEN_Pos (0UL) /*!< VCH0OEN (Bit 0) */ + #define R_SYSTEM_VBTOCTLR_VCH0OEN_Msk (0x1UL) /*!< VCH0OEN (Bitfield-Mask: 0x01) */ /* ======================================================== VBTWTER ======================================================== */ - #define R_SYSTEM_VBTWTER_VAGTUE_Pos (5UL) /*!< VAGTUE (Bit 5) */ - #define R_SYSTEM_VBTWTER_VAGTUE_Msk (0x20UL) /*!< VAGTUE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWTER_VRTCAE_Pos (4UL) /*!< VRTCAE (Bit 4) */ - #define R_SYSTEM_VBTWTER_VRTCAE_Msk (0x10UL) /*!< VRTCAE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWTER_VRTCIE_Pos (3UL) /*!< VRTCIE (Bit 3) */ - #define R_SYSTEM_VBTWTER_VRTCIE_Msk (0x8UL) /*!< VRTCIE (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWTER_VCH2E_Pos (2UL) /*!< VCH2E (Bit 2) */ - #define R_SYSTEM_VBTWTER_VCH2E_Msk (0x4UL) /*!< VCH2E (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWTER_VCH1E_Pos (1UL) /*!< VCH1E (Bit 1) */ - #define R_SYSTEM_VBTWTER_VCH1E_Msk (0x2UL) /*!< VCH1E (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWTER_VCH0E_Pos (0UL) /*!< VCH0E (Bit 0) */ - #define R_SYSTEM_VBTWTER_VCH0E_Msk (0x1UL) /*!< VCH0E (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWTER_VAGTUE_Pos (5UL) /*!< VAGTUE (Bit 5) */ + #define R_SYSTEM_VBTWTER_VAGTUE_Msk (0x20UL) /*!< VAGTUE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWTER_VRTCAE_Pos (4UL) /*!< VRTCAE (Bit 4) */ + #define R_SYSTEM_VBTWTER_VRTCAE_Msk (0x10UL) /*!< VRTCAE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWTER_VRTCIE_Pos (3UL) /*!< VRTCIE (Bit 3) */ + #define R_SYSTEM_VBTWTER_VRTCIE_Msk (0x8UL) /*!< VRTCIE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWTER_VCH2E_Pos (2UL) /*!< VCH2E (Bit 2) */ + #define R_SYSTEM_VBTWTER_VCH2E_Msk (0x4UL) /*!< VCH2E (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWTER_VCH1E_Pos (1UL) /*!< VCH1E (Bit 1) */ + #define R_SYSTEM_VBTWTER_VCH1E_Msk (0x2UL) /*!< VCH1E (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWTER_VCH0E_Pos (0UL) /*!< VCH0E (Bit 0) */ + #define R_SYSTEM_VBTWTER_VCH0E_Msk (0x1UL) /*!< VCH0E (Bitfield-Mask: 0x01) */ /* ======================================================== VBTWEGR ======================================================== */ - #define R_SYSTEM_VBTWEGR_VCH2EG_Pos (2UL) /*!< VCH2EG (Bit 2) */ - #define R_SYSTEM_VBTWEGR_VCH2EG_Msk (0x4UL) /*!< VCH2EG (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWEGR_VCH1EG_Pos (1UL) /*!< VCH1EG (Bit 1) */ - #define R_SYSTEM_VBTWEGR_VCH1EG_Msk (0x2UL) /*!< VCH1EG (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWEGR_VCH0EG_Pos (0UL) /*!< VCH0EG (Bit 0) */ - #define R_SYSTEM_VBTWEGR_VCH0EG_Msk (0x1UL) /*!< VCH0EG (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWEGR_VCH2EG_Pos (2UL) /*!< VCH2EG (Bit 2) */ + #define R_SYSTEM_VBTWEGR_VCH2EG_Msk (0x4UL) /*!< VCH2EG (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWEGR_VCH1EG_Pos (1UL) /*!< VCH1EG (Bit 1) */ + #define R_SYSTEM_VBTWEGR_VCH1EG_Msk (0x2UL) /*!< VCH1EG (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWEGR_VCH0EG_Pos (0UL) /*!< VCH0EG (Bit 0) */ + #define R_SYSTEM_VBTWEGR_VCH0EG_Msk (0x1UL) /*!< VCH0EG (Bitfield-Mask: 0x01) */ /* ======================================================== VBTWFR ========================================================= */ - #define R_SYSTEM_VBTWFR_VAGTUF_Pos (5UL) /*!< VAGTUF (Bit 5) */ - #define R_SYSTEM_VBTWFR_VAGTUF_Msk (0x20UL) /*!< VAGTUF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWFR_VRTCAF_Pos (4UL) /*!< VRTCAF (Bit 4) */ - #define R_SYSTEM_VBTWFR_VRTCAF_Msk (0x10UL) /*!< VRTCAF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWFR_VRTCIF_Pos (3UL) /*!< VRTCIF (Bit 3) */ - #define R_SYSTEM_VBTWFR_VRTCIF_Msk (0x8UL) /*!< VRTCIF (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWFR_VCH2F_Pos (2UL) /*!< VCH2F (Bit 2) */ - #define R_SYSTEM_VBTWFR_VCH2F_Msk (0x4UL) /*!< VCH2F (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWFR_VCH1F_Pos (1UL) /*!< VCH1F (Bit 1) */ - #define R_SYSTEM_VBTWFR_VCH1F_Msk (0x2UL) /*!< VCH1F (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_VBTWFR_VCH0F_Pos (0UL) /*!< VCH0F (Bit 0) */ - #define R_SYSTEM_VBTWFR_VCH0F_Msk (0x1UL) /*!< VCH0F (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWFR_VAGTUF_Pos (5UL) /*!< VAGTUF (Bit 5) */ + #define R_SYSTEM_VBTWFR_VAGTUF_Msk (0x20UL) /*!< VAGTUF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWFR_VRTCAF_Pos (4UL) /*!< VRTCAF (Bit 4) */ + #define R_SYSTEM_VBTWFR_VRTCAF_Msk (0x10UL) /*!< VRTCAF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWFR_VRTCIF_Pos (3UL) /*!< VRTCIF (Bit 3) */ + #define R_SYSTEM_VBTWFR_VRTCIF_Msk (0x8UL) /*!< VRTCIF (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWFR_VCH2F_Pos (2UL) /*!< VCH2F (Bit 2) */ + #define R_SYSTEM_VBTWFR_VCH2F_Msk (0x4UL) /*!< VCH2F (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWFR_VCH1F_Pos (1UL) /*!< VCH1F (Bit 1) */ + #define R_SYSTEM_VBTWFR_VCH1F_Msk (0x2UL) /*!< VCH1F (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTWFR_VCH0F_Pos (0UL) /*!< VCH0F (Bit 0) */ + #define R_SYSTEM_VBTWFR_VCH0F_Msk (0x1UL) /*!< VCH0F (Bitfield-Mask: 0x01) */ /* ======================================================== VBTBKR ========================================================= */ - #define R_SYSTEM_VBTBKR_VBTBKR_Pos (0UL) /*!< VBTBKR (Bit 0) */ - #define R_SYSTEM_VBTBKR_VBTBKR_Msk (0xffUL) /*!< VBTBKR (Bitfield-Mask: 0xff) */ + #define R_SYSTEM_VBTBKR_VBTBKR_Pos (0UL) /*!< VBTBKR (Bit 0) */ + #define R_SYSTEM_VBTBKR_VBTBKR_Msk (0xffUL) /*!< VBTBKR (Bitfield-Mask: 0xff) */ /* ======================================================== FWEPROR ======================================================== */ - #define R_SYSTEM_FWEPROR_FLWE_Pos (0UL) /*!< FLWE (Bit 0) */ - #define R_SYSTEM_FWEPROR_FLWE_Msk (0x3UL) /*!< FLWE (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_FWEPROR_FLWE_Pos (0UL) /*!< FLWE (Bit 0) */ + #define R_SYSTEM_FWEPROR_FLWE_Msk (0x3UL) /*!< FLWE (Bitfield-Mask: 0x03) */ /* ======================================================== PLL2CCR ======================================================== */ - #define R_SYSTEM_PLL2CCR_PL2IDIV_Pos (0UL) /*!< PL2IDIV (Bit 0) */ - #define R_SYSTEM_PLL2CCR_PL2IDIV_Msk (0x3UL) /*!< PL2IDIV (Bitfield-Mask: 0x03) */ - #define R_SYSTEM_PLL2CCR_PL2SRCSEL_Pos (4UL) /*!< PL2SRCSEL (Bit 4) */ - #define R_SYSTEM_PLL2CCR_PL2SRCSEL_Msk (0x10UL) /*!< PL2SRCSEL (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_PLL2CCR_PLL2MUL_Pos (8UL) /*!< PLL2MUL (Bit 8) */ - #define R_SYSTEM_PLL2CCR_PLL2MUL_Msk (0x3f00UL) /*!< PLL2MUL (Bitfield-Mask: 0x3f) */ + #define R_SYSTEM_PLL2CCR_PL2IDIV_Pos (0UL) /*!< PL2IDIV (Bit 0) */ + #define R_SYSTEM_PLL2CCR_PL2IDIV_Msk (0x3UL) /*!< PL2IDIV (Bitfield-Mask: 0x03) */ + #define R_SYSTEM_PLL2CCR_PL2SRCSEL_Pos (4UL) /*!< PL2SRCSEL (Bit 4) */ + #define R_SYSTEM_PLL2CCR_PL2SRCSEL_Msk (0x10UL) /*!< PL2SRCSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_PLL2CCR_PLL2MUL_Pos (8UL) /*!< PLL2MUL (Bit 8) */ + #define R_SYSTEM_PLL2CCR_PLL2MUL_Msk (0x3f00UL) /*!< PLL2MUL (Bitfield-Mask: 0x3f) */ /* ======================================================== PLL2CR ========================================================= */ - #define R_SYSTEM_PLL2CR_PLL2STP_Pos (0UL) /*!< PLL2STP (Bit 0) */ - #define R_SYSTEM_PLL2CR_PLL2STP_Msk (0x1UL) /*!< PLL2STP (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_PLL2CR_PLL2STP_Pos (0UL) /*!< PLL2STP (Bit 0) */ + #define R_SYSTEM_PLL2CR_PLL2STP_Msk (0x1UL) /*!< PLL2STP (Bitfield-Mask: 0x01) */ /* ====================================================== USBCKDIVCR ======================================================= */ - #define R_SYSTEM_USBCKDIVCR_USBCKDIV_Pos (0UL) /*!< USBCKDIV (Bit 0) */ - #define R_SYSTEM_USBCKDIVCR_USBCKDIV_Msk (0x7UL) /*!< USBCKDIV (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_USBCKDIVCR_USBCKDIV_Pos (0UL) /*!< USBCKDIV (Bit 0) */ + #define R_SYSTEM_USBCKDIVCR_USBCKDIV_Msk (0x7UL) /*!< USBCKDIV (Bitfield-Mask: 0x07) */ /* ====================================================== OCTACKDIVCR ====================================================== */ - #define R_SYSTEM_OCTACKDIVCR_OCTACKDIV_Pos (0UL) /*!< OCTACKDIV (Bit 0) */ - #define R_SYSTEM_OCTACKDIVCR_OCTACKDIV_Msk (0x7UL) /*!< OCTACKDIV (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_OCTACKDIVCR_OCTACKDIV_Pos (0UL) /*!< OCTACKDIV (Bit 0) */ + #define R_SYSTEM_OCTACKDIVCR_OCTACKDIV_Msk (0x7UL) /*!< OCTACKDIV (Bitfield-Mask: 0x07) */ +/* ===================================================== SCISPICKDIVCR ===================================================== */ + #define R_SYSTEM_SCISPICKDIVCR_SCISPICKDIV_Pos (0UL) /*!< SCISPICKDIV (Bit 0) */ + #define R_SYSTEM_SCISPICKDIVCR_SCISPICKDIV_Msk (0x7UL) /*!< SCISPICKDIV (Bitfield-Mask: 0x07) */ /* ===================================================== CANFDCKDIVCR ====================================================== */ - #define R_SYSTEM_CANFDCKDIVCR_CANFDCKDIV_Pos (0UL) /*!< CANFDCKDIV (Bit 0) */ - #define R_SYSTEM_CANFDCKDIVCR_CANFDCKDIV_Msk (0x7UL) /*!< CANFDCKDIV (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_CANFDCKDIVCR_CANFDCKDIV_Pos (0UL) /*!< CANFDCKDIV (Bit 0) */ + #define R_SYSTEM_CANFDCKDIVCR_CANFDCKDIV_Msk (0x7UL) /*!< CANFDCKDIV (Bitfield-Mask: 0x07) */ +/* ====================================================== GPTCKDIVCR ======================================================= */ + #define R_SYSTEM_GPTCKDIVCR_GPTCKDIV_Pos (0UL) /*!< GPTCKDIV (Bit 0) */ + #define R_SYSTEM_GPTCKDIVCR_GPTCKDIV_Msk (0x7UL) /*!< GPTCKDIV (Bitfield-Mask: 0x07) */ +/* ====================================================== IICCKDIVCR ======================================================= */ + #define R_SYSTEM_IICCKDIVCR_IICCKDIV_Pos (0UL) /*!< IICCKDIV (Bit 0) */ + #define R_SYSTEM_IICCKDIVCR_IICCKDIV_Msk (0x7UL) /*!< IICCKDIV (Bitfield-Mask: 0x07) */ /* ======================================================== USBCKCR ======================================================== */ - #define R_SYSTEM_USBCKCR_USBCKSEL_Pos (0UL) /*!< USBCKSEL (Bit 0) */ - #define R_SYSTEM_USBCKCR_USBCKSEL_Msk (0x7UL) /*!< USBCKSEL (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_USBCKCR_USBCKSREQ_Pos (6UL) /*!< USBCKSREQ (Bit 6) */ - #define R_SYSTEM_USBCKCR_USBCKSREQ_Msk (0x40UL) /*!< USBCKSREQ (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_USBCKCR_USBCKSRDY_Pos (7UL) /*!< USBCKSRDY (Bit 7) */ - #define R_SYSTEM_USBCKCR_USBCKSRDY_Msk (0x80UL) /*!< USBCKSRDY (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_USBCKCR_USBCKSEL_Pos (0UL) /*!< USBCKSEL (Bit 0) */ + #define R_SYSTEM_USBCKCR_USBCKSEL_Msk (0x7UL) /*!< USBCKSEL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_USBCKCR_USBCKSREQ_Pos (6UL) /*!< USBCKSREQ (Bit 6) */ + #define R_SYSTEM_USBCKCR_USBCKSREQ_Msk (0x40UL) /*!< USBCKSREQ (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_USBCKCR_USBCKSRDY_Pos (7UL) /*!< USBCKSRDY (Bit 7) */ + #define R_SYSTEM_USBCKCR_USBCKSRDY_Msk (0x80UL) /*!< USBCKSRDY (Bitfield-Mask: 0x01) */ /* ======================================================= OCTACKCR ======================================================== */ - #define R_SYSTEM_OCTACKCR_OCTACKSEL_Pos (0UL) /*!< OCTACKSEL (Bit 0) */ - #define R_SYSTEM_OCTACKCR_OCTACKSEL_Msk (0x7UL) /*!< OCTACKSEL (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_OCTACKCR_OCTACKSREQ_Pos (6UL) /*!< OCTACKSREQ (Bit 6) */ - #define R_SYSTEM_OCTACKCR_OCTACKSREQ_Msk (0x40UL) /*!< OCTACKSREQ (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_OCTACKCR_OCTACKSRDY_Pos (7UL) /*!< OCTACKSRDY (Bit 7) */ - #define R_SYSTEM_OCTACKCR_OCTACKSRDY_Msk (0x80UL) /*!< OCTACKSRDY (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OCTACKCR_OCTACKSEL_Pos (0UL) /*!< OCTACKSEL (Bit 0) */ + #define R_SYSTEM_OCTACKCR_OCTACKSEL_Msk (0x7UL) /*!< OCTACKSEL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_OCTACKCR_OCTACKSREQ_Pos (6UL) /*!< OCTACKSREQ (Bit 6) */ + #define R_SYSTEM_OCTACKCR_OCTACKSREQ_Msk (0x40UL) /*!< OCTACKSREQ (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_OCTACKCR_OCTACKSRDY_Pos (7UL) /*!< OCTACKSRDY (Bit 7) */ + #define R_SYSTEM_OCTACKCR_OCTACKSRDY_Msk (0x80UL) /*!< OCTACKSRDY (Bitfield-Mask: 0x01) */ +/* ====================================================== SCISPICKCR ======================================================= */ + #define R_SYSTEM_SCISPICKCR_SCISPICKSEL_Pos (0UL) /*!< SCISPICKSEL (Bit 0) */ + #define R_SYSTEM_SCISPICKCR_SCISPICKSEL_Msk (0x7UL) /*!< SCISPICKSEL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_SCISPICKCR_SCISPICKSREQ_Pos (6UL) /*!< SCISPICKSREQ (Bit 6) */ + #define R_SYSTEM_SCISPICKCR_SCISPICKSREQ_Msk (0x40UL) /*!< SCISPICKSREQ (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SCISPICKCR_SCISPICKSRDY_Pos (7UL) /*!< SCISPICKSRDY (Bit 7) */ + #define R_SYSTEM_SCISPICKCR_SCISPICKSRDY_Msk (0x80UL) /*!< SCISPICKSRDY (Bitfield-Mask: 0x01) */ /* ======================================================= CANFDCKCR ======================================================= */ - #define R_SYSTEM_CANFDCKCR_CANFDCKSEL_Pos (0UL) /*!< CANFDCKSEL (Bit 0) */ - #define R_SYSTEM_CANFDCKCR_CANFDCKSEL_Msk (0x7UL) /*!< CANFDCKSEL (Bitfield-Mask: 0x07) */ - #define R_SYSTEM_CANFDCKCR_CANFDCKSREQ_Pos (6UL) /*!< CANFDCKSREQ (Bit 6) */ - #define R_SYSTEM_CANFDCKCR_CANFDCKSREQ_Msk (0x40UL) /*!< CANFDCKSREQ (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CANFDCKCR_CANFDCKSRDY_Pos (7UL) /*!< CANFDCKSRDY (Bit 7) */ - #define R_SYSTEM_CANFDCKCR_CANFDCKSRDY_Msk (0x80UL) /*!< CANFDCKSRDY (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CANFDCKCR_CANFDCKSEL_Pos (0UL) /*!< CANFDCKSEL (Bit 0) */ + #define R_SYSTEM_CANFDCKCR_CANFDCKSEL_Msk (0x7UL) /*!< CANFDCKSEL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_CANFDCKCR_CANFDCKSREQ_Pos (6UL) /*!< CANFDCKSREQ (Bit 6) */ + #define R_SYSTEM_CANFDCKCR_CANFDCKSREQ_Msk (0x40UL) /*!< CANFDCKSREQ (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CANFDCKCR_CANFDCKSRDY_Pos (7UL) /*!< CANFDCKSRDY (Bit 7) */ + #define R_SYSTEM_CANFDCKCR_CANFDCKSRDY_Msk (0x80UL) /*!< CANFDCKSRDY (Bitfield-Mask: 0x01) */ +/* ======================================================== GPTCKCR ======================================================== */ + #define R_SYSTEM_GPTCKCR_GPTCKSEL_Pos (0UL) /*!< GPTCKSEL (Bit 0) */ + #define R_SYSTEM_GPTCKCR_GPTCKSEL_Msk (0x7UL) /*!< GPTCKSEL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_GPTCKCR_GPTCKSREQ_Pos (6UL) /*!< GPTCKSREQ (Bit 6) */ + #define R_SYSTEM_GPTCKCR_GPTCKSREQ_Msk (0x40UL) /*!< GPTCKSREQ (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_GPTCKCR_GPTCKSRDY_Pos (7UL) /*!< GPTCKSRDY (Bit 7) */ + #define R_SYSTEM_GPTCKCR_GPTCKSRDY_Msk (0x80UL) /*!< GPTCKSRDY (Bitfield-Mask: 0x01) */ +/* ======================================================== IICCKCR ======================================================== */ + #define R_SYSTEM_IICCKCR_IICCKSEL_Pos (0UL) /*!< IICCKSEL (Bit 0) */ + #define R_SYSTEM_IICCKCR_IICCKSEL_Msk (0x7UL) /*!< IICCKSEL (Bitfield-Mask: 0x07) */ + #define R_SYSTEM_IICCKCR_IICCKSREQ_Pos (6UL) /*!< IICCKSREQ (Bit 6) */ + #define R_SYSTEM_IICCKCR_IICCKSREQ_Msk (0x40UL) /*!< IICCKSREQ (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_IICCKCR_IICCKSRDY_Pos (7UL) /*!< IICCKSRDY (Bit 7) */ + #define R_SYSTEM_IICCKCR_IICCKSRDY_Msk (0x80UL) /*!< IICCKSRDY (Bitfield-Mask: 0x01) */ /* ======================================================= SNZREQCR1 ======================================================= */ - #define R_SYSTEM_SNZREQCR1_SNZREQEN0_Pos (0UL) /*!< SNZREQEN0 (Bit 0) */ - #define R_SYSTEM_SNZREQCR1_SNZREQEN0_Msk (0x1UL) /*!< SNZREQEN0 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR1_SNZREQEN1_Pos (1UL) /*!< SNZREQEN1 (Bit 1) */ - #define R_SYSTEM_SNZREQCR1_SNZREQEN1_Msk (0x2UL) /*!< SNZREQEN1 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_SNZREQCR1_SNZREQEN2_Pos (2UL) /*!< SNZREQEN2 (Bit 2) */ - #define R_SYSTEM_SNZREQCR1_SNZREQEN2_Msk (0x4UL) /*!< SNZREQEN2 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR1_SNZREQEN0_Pos (0UL) /*!< SNZREQEN0 (Bit 0) */ + #define R_SYSTEM_SNZREQCR1_SNZREQEN0_Msk (0x1UL) /*!< SNZREQEN0 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR1_SNZREQEN1_Pos (1UL) /*!< SNZREQEN1 (Bit 1) */ + #define R_SYSTEM_SNZREQCR1_SNZREQEN1_Msk (0x2UL) /*!< SNZREQEN1 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZREQCR1_SNZREQEN2_Pos (2UL) /*!< SNZREQEN2 (Bit 2) */ + #define R_SYSTEM_SNZREQCR1_SNZREQEN2_Msk (0x4UL) /*!< SNZREQEN2 (Bitfield-Mask: 0x01) */ /* ======================================================= SNZEDCR1 ======================================================== */ - #define R_SYSTEM_SNZEDCR1_AGT3UNFED_Pos (0UL) /*!< AGT3UNFED (Bit 0) */ - #define R_SYSTEM_SNZEDCR1_AGT3UNFED_Msk (0x1UL) /*!< AGT3UNFED (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_SNZEDCR1_AGT3UNFED_Pos (0UL) /*!< AGT3UNFED (Bit 0) */ + #define R_SYSTEM_SNZEDCR1_AGT3UNFED_Msk (0x1UL) /*!< AGT3UNFED (Bitfield-Mask: 0x01) */ /* ======================================================== CGFSAR ========================================================= */ - #define R_SYSTEM_CGFSAR_NONSEC00_Pos (0UL) /*!< NONSEC00 (Bit 0) */ - #define R_SYSTEM_CGFSAR_NONSEC00_Msk (0x1UL) /*!< NONSEC00 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC02_Pos (2UL) /*!< NONSEC02 (Bit 2) */ - #define R_SYSTEM_CGFSAR_NONSEC02_Msk (0x4UL) /*!< NONSEC02 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC03_Pos (3UL) /*!< NONSEC03 (Bit 3) */ - #define R_SYSTEM_CGFSAR_NONSEC03_Msk (0x8UL) /*!< NONSEC03 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC04_Pos (4UL) /*!< NONSEC04 (Bit 4) */ - #define R_SYSTEM_CGFSAR_NONSEC04_Msk (0x10UL) /*!< NONSEC04 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC05_Pos (5UL) /*!< NONSEC05 (Bit 5) */ - #define R_SYSTEM_CGFSAR_NONSEC05_Msk (0x20UL) /*!< NONSEC05 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC06_Pos (6UL) /*!< NONSEC06 (Bit 6) */ - #define R_SYSTEM_CGFSAR_NONSEC06_Msk (0x40UL) /*!< NONSEC06 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC07_Pos (7UL) /*!< NONSEC07 (Bit 7) */ - #define R_SYSTEM_CGFSAR_NONSEC07_Msk (0x80UL) /*!< NONSEC07 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC08_Pos (8UL) /*!< NONSEC08 (Bit 8) */ - #define R_SYSTEM_CGFSAR_NONSEC08_Msk (0x100UL) /*!< NONSEC08 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC09_Pos (9UL) /*!< NONSEC09 (Bit 9) */ - #define R_SYSTEM_CGFSAR_NONSEC09_Msk (0x200UL) /*!< NONSEC09 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC11_Pos (11UL) /*!< NONSEC11 (Bit 11) */ - #define R_SYSTEM_CGFSAR_NONSEC11_Msk (0x800UL) /*!< NONSEC11 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC12_Pos (12UL) /*!< NONSEC12 (Bit 12) */ - #define R_SYSTEM_CGFSAR_NONSEC12_Msk (0x1000UL) /*!< NONSEC12 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC16_Pos (16UL) /*!< NONSEC16 (Bit 16) */ - #define R_SYSTEM_CGFSAR_NONSEC16_Msk (0x10000UL) /*!< NONSEC16 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_CGFSAR_NONSEC17_Pos (17UL) /*!< NONSEC17 (Bit 17) */ - #define R_SYSTEM_CGFSAR_NONSEC17_Msk (0x20000UL) /*!< NONSEC17 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC00_Pos (0UL) /*!< NONSEC00 (Bit 0) */ + #define R_SYSTEM_CGFSAR_NONSEC00_Msk (0x1UL) /*!< NONSEC00 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC02_Pos (2UL) /*!< NONSEC02 (Bit 2) */ + #define R_SYSTEM_CGFSAR_NONSEC02_Msk (0x4UL) /*!< NONSEC02 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC03_Pos (3UL) /*!< NONSEC03 (Bit 3) */ + #define R_SYSTEM_CGFSAR_NONSEC03_Msk (0x8UL) /*!< NONSEC03 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC04_Pos (4UL) /*!< NONSEC04 (Bit 4) */ + #define R_SYSTEM_CGFSAR_NONSEC04_Msk (0x10UL) /*!< NONSEC04 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC05_Pos (5UL) /*!< NONSEC05 (Bit 5) */ + #define R_SYSTEM_CGFSAR_NONSEC05_Msk (0x20UL) /*!< NONSEC05 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC06_Pos (6UL) /*!< NONSEC06 (Bit 6) */ + #define R_SYSTEM_CGFSAR_NONSEC06_Msk (0x40UL) /*!< NONSEC06 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC07_Pos (7UL) /*!< NONSEC07 (Bit 7) */ + #define R_SYSTEM_CGFSAR_NONSEC07_Msk (0x80UL) /*!< NONSEC07 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC08_Pos (8UL) /*!< NONSEC08 (Bit 8) */ + #define R_SYSTEM_CGFSAR_NONSEC08_Msk (0x100UL) /*!< NONSEC08 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC09_Pos (9UL) /*!< NONSEC09 (Bit 9) */ + #define R_SYSTEM_CGFSAR_NONSEC09_Msk (0x200UL) /*!< NONSEC09 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC11_Pos (11UL) /*!< NONSEC11 (Bit 11) */ + #define R_SYSTEM_CGFSAR_NONSEC11_Msk (0x800UL) /*!< NONSEC11 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC12_Pos (12UL) /*!< NONSEC12 (Bit 12) */ + #define R_SYSTEM_CGFSAR_NONSEC12_Msk (0x1000UL) /*!< NONSEC12 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC16_Pos (16UL) /*!< NONSEC16 (Bit 16) */ + #define R_SYSTEM_CGFSAR_NONSEC16_Msk (0x10000UL) /*!< NONSEC16 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_CGFSAR_NONSEC17_Pos (17UL) /*!< NONSEC17 (Bit 17) */ + #define R_SYSTEM_CGFSAR_NONSEC17_Msk (0x20000UL) /*!< NONSEC17 (Bitfield-Mask: 0x01) */ /* ======================================================== LPMSAR ========================================================= */ - #define R_SYSTEM_LPMSAR_NONSEC0_Pos (0UL) /*!< NONSEC0 (Bit 0) */ - #define R_SYSTEM_LPMSAR_NONSEC0_Msk (0x1UL) /*!< NONSEC0 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LPMSAR_NONSEC2_Pos (2UL) /*!< NONSEC2 (Bit 2) */ - #define R_SYSTEM_LPMSAR_NONSEC2_Msk (0x4UL) /*!< NONSEC2 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LPMSAR_NONSEC4_Pos (4UL) /*!< NONSEC4 (Bit 4) */ - #define R_SYSTEM_LPMSAR_NONSEC4_Msk (0x10UL) /*!< NONSEC4 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LPMSAR_NONSEC8_Pos (8UL) /*!< NONSEC8 (Bit 8) */ - #define R_SYSTEM_LPMSAR_NONSEC8_Msk (0x100UL) /*!< NONSEC8 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LPMSAR_NONSEC9_Pos (9UL) /*!< NONSEC9 (Bit 9) */ - #define R_SYSTEM_LPMSAR_NONSEC9_Msk (0x200UL) /*!< NONSEC9 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LPMSAR_NONSEC0_Pos (0UL) /*!< NONSEC0 (Bit 0) */ + #define R_SYSTEM_LPMSAR_NONSEC0_Msk (0x1UL) /*!< NONSEC0 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LPMSAR_NONSEC2_Pos (2UL) /*!< NONSEC2 (Bit 2) */ + #define R_SYSTEM_LPMSAR_NONSEC2_Msk (0x4UL) /*!< NONSEC2 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LPMSAR_NONSEC4_Pos (4UL) /*!< NONSEC4 (Bit 4) */ + #define R_SYSTEM_LPMSAR_NONSEC4_Msk (0x10UL) /*!< NONSEC4 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LPMSAR_NONSEC8_Pos (8UL) /*!< NONSEC8 (Bit 8) */ + #define R_SYSTEM_LPMSAR_NONSEC8_Msk (0x100UL) /*!< NONSEC8 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LPMSAR_NONSEC9_Pos (9UL) /*!< NONSEC9 (Bit 9) */ + #define R_SYSTEM_LPMSAR_NONSEC9_Msk (0x200UL) /*!< NONSEC9 (Bitfield-Mask: 0x01) */ /* ======================================================== LVDSAR ========================================================= */ - #define R_SYSTEM_LVDSAR_NONSEC0_Pos (0UL) /*!< NONSEC0 (Bit 0) */ - #define R_SYSTEM_LVDSAR_NONSEC0_Msk (0x1UL) /*!< NONSEC0 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_LVDSAR_NONSEC1_Pos (1UL) /*!< NONSEC1 (Bit 1) */ - #define R_SYSTEM_LVDSAR_NONSEC1_Msk (0x2UL) /*!< NONSEC1 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVDSAR_NONSEC0_Pos (0UL) /*!< NONSEC0 (Bit 0) */ + #define R_SYSTEM_LVDSAR_NONSEC0_Msk (0x1UL) /*!< NONSEC0 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_LVDSAR_NONSEC1_Pos (1UL) /*!< NONSEC1 (Bit 1) */ + #define R_SYSTEM_LVDSAR_NONSEC1_Msk (0x2UL) /*!< NONSEC1 (Bitfield-Mask: 0x01) */ /* ======================================================== RSTSAR ========================================================= */ - #define R_SYSTEM_RSTSAR_NONSEC0_Pos (0UL) /*!< NONSEC0 (Bit 0) */ - #define R_SYSTEM_RSTSAR_NONSEC0_Msk (0x1UL) /*!< NONSEC0 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSAR_NONSEC1_Pos (1UL) /*!< NONSEC1 (Bit 1) */ - #define R_SYSTEM_RSTSAR_NONSEC1_Msk (0x2UL) /*!< NONSEC1 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_RSTSAR_NONSEC2_Pos (2UL) /*!< NONSEC2 (Bit 2) */ - #define R_SYSTEM_RSTSAR_NONSEC2_Msk (0x4UL) /*!< NONSEC2 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSAR_NONSEC0_Pos (0UL) /*!< NONSEC0 (Bit 0) */ + #define R_SYSTEM_RSTSAR_NONSEC0_Msk (0x1UL) /*!< NONSEC0 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSAR_NONSEC1_Pos (1UL) /*!< NONSEC1 (Bit 1) */ + #define R_SYSTEM_RSTSAR_NONSEC1_Msk (0x2UL) /*!< NONSEC1 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_RSTSAR_NONSEC2_Pos (2UL) /*!< NONSEC2 (Bit 2) */ + #define R_SYSTEM_RSTSAR_NONSEC2_Msk (0x4UL) /*!< NONSEC2 (Bitfield-Mask: 0x01) */ /* ======================================================== BBFSAR ========================================================= */ - #define R_SYSTEM_BBFSAR_NONSEC0_Pos (0UL) /*!< NONSEC0 (Bit 0) */ - #define R_SYSTEM_BBFSAR_NONSEC0_Msk (0x1UL) /*!< NONSEC0 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC1_Pos (1UL) /*!< NONSEC1 (Bit 1) */ - #define R_SYSTEM_BBFSAR_NONSEC1_Msk (0x2UL) /*!< NONSEC1 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC2_Pos (2UL) /*!< NONSEC2 (Bit 2) */ - #define R_SYSTEM_BBFSAR_NONSEC2_Msk (0x4UL) /*!< NONSEC2 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC16_Pos (16UL) /*!< NONSEC16 (Bit 16) */ - #define R_SYSTEM_BBFSAR_NONSEC16_Msk (0x10000UL) /*!< NONSEC16 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC17_Pos (17UL) /*!< NONSEC17 (Bit 17) */ - #define R_SYSTEM_BBFSAR_NONSEC17_Msk (0x20000UL) /*!< NONSEC17 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC18_Pos (18UL) /*!< NONSEC18 (Bit 18) */ - #define R_SYSTEM_BBFSAR_NONSEC18_Msk (0x40000UL) /*!< NONSEC18 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC19_Pos (19UL) /*!< NONSEC19 (Bit 19) */ - #define R_SYSTEM_BBFSAR_NONSEC19_Msk (0x80000UL) /*!< NONSEC19 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC20_Pos (20UL) /*!< NONSEC20 (Bit 20) */ - #define R_SYSTEM_BBFSAR_NONSEC20_Msk (0x100000UL) /*!< NONSEC20 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC21_Pos (21UL) /*!< NONSEC21 (Bit 21) */ - #define R_SYSTEM_BBFSAR_NONSEC21_Msk (0x200000UL) /*!< NONSEC21 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC22_Pos (22UL) /*!< NONSEC22 (Bit 22) */ - #define R_SYSTEM_BBFSAR_NONSEC22_Msk (0x400000UL) /*!< NONSEC22 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_BBFSAR_NONSEC23_Pos (23UL) /*!< NONSEC23 (Bit 23) */ - #define R_SYSTEM_BBFSAR_NONSEC23_Msk (0x800000UL) /*!< NONSEC23 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC0_Pos (0UL) /*!< NONSEC0 (Bit 0) */ + #define R_SYSTEM_BBFSAR_NONSEC0_Msk (0x1UL) /*!< NONSEC0 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC1_Pos (1UL) /*!< NONSEC1 (Bit 1) */ + #define R_SYSTEM_BBFSAR_NONSEC1_Msk (0x2UL) /*!< NONSEC1 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC2_Pos (2UL) /*!< NONSEC2 (Bit 2) */ + #define R_SYSTEM_BBFSAR_NONSEC2_Msk (0x4UL) /*!< NONSEC2 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC16_Pos (16UL) /*!< NONSEC16 (Bit 16) */ + #define R_SYSTEM_BBFSAR_NONSEC16_Msk (0x10000UL) /*!< NONSEC16 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC17_Pos (17UL) /*!< NONSEC17 (Bit 17) */ + #define R_SYSTEM_BBFSAR_NONSEC17_Msk (0x20000UL) /*!< NONSEC17 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC18_Pos (18UL) /*!< NONSEC18 (Bit 18) */ + #define R_SYSTEM_BBFSAR_NONSEC18_Msk (0x40000UL) /*!< NONSEC18 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC19_Pos (19UL) /*!< NONSEC19 (Bit 19) */ + #define R_SYSTEM_BBFSAR_NONSEC19_Msk (0x80000UL) /*!< NONSEC19 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC20_Pos (20UL) /*!< NONSEC20 (Bit 20) */ + #define R_SYSTEM_BBFSAR_NONSEC20_Msk (0x100000UL) /*!< NONSEC20 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC21_Pos (21UL) /*!< NONSEC21 (Bit 21) */ + #define R_SYSTEM_BBFSAR_NONSEC21_Msk (0x200000UL) /*!< NONSEC21 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC22_Pos (22UL) /*!< NONSEC22 (Bit 22) */ + #define R_SYSTEM_BBFSAR_NONSEC22_Msk (0x400000UL) /*!< NONSEC22 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_BBFSAR_NONSEC23_Pos (23UL) /*!< NONSEC23 (Bit 23) */ + #define R_SYSTEM_BBFSAR_NONSEC23_Msk (0x800000UL) /*!< NONSEC23 (Bitfield-Mask: 0x01) */ /* ======================================================== DPFSAR ========================================================= */ - #define R_SYSTEM_DPFSAR_DPFSA0_Pos (0UL) /*!< DPFSA0 (Bit 0) */ - #define R_SYSTEM_DPFSAR_DPFSA0_Msk (0x1UL) /*!< DPFSA0 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA1_Pos (1UL) /*!< DPFSA1 (Bit 1) */ - #define R_SYSTEM_DPFSAR_DPFSA1_Msk (0x2UL) /*!< DPFSA1 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA2_Pos (2UL) /*!< DPFSA2 (Bit 2) */ - #define R_SYSTEM_DPFSAR_DPFSA2_Msk (0x4UL) /*!< DPFSA2 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA3_Pos (3UL) /*!< DPFSA3 (Bit 3) */ - #define R_SYSTEM_DPFSAR_DPFSA3_Msk (0x8UL) /*!< DPFSA3 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA4_Pos (4UL) /*!< DPFSA4 (Bit 4) */ - #define R_SYSTEM_DPFSAR_DPFSA4_Msk (0x10UL) /*!< DPFSA4 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA5_Pos (5UL) /*!< DPFSA5 (Bit 5) */ - #define R_SYSTEM_DPFSAR_DPFSA5_Msk (0x20UL) /*!< DPFSA5 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA6_Pos (6UL) /*!< DPFSA6 (Bit 6) */ - #define R_SYSTEM_DPFSAR_DPFSA6_Msk (0x40UL) /*!< DPFSA6 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA7_Pos (7UL) /*!< DPFSA7 (Bit 7) */ - #define R_SYSTEM_DPFSAR_DPFSA7_Msk (0x80UL) /*!< DPFSA7 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA8_Pos (8UL) /*!< DPFSA8 (Bit 8) */ - #define R_SYSTEM_DPFSAR_DPFSA8_Msk (0x100UL) /*!< DPFSA8 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA9_Pos (9UL) /*!< DPFSA9 (Bit 9) */ - #define R_SYSTEM_DPFSAR_DPFSA9_Msk (0x200UL) /*!< DPFSA9 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA10_Pos (10UL) /*!< DPFSA10 (Bit 10) */ - #define R_SYSTEM_DPFSAR_DPFSA10_Msk (0x400UL) /*!< DPFSA10 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA11_Pos (11UL) /*!< DPFSA11 (Bit 11) */ - #define R_SYSTEM_DPFSAR_DPFSA11_Msk (0x800UL) /*!< DPFSA11 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA12_Pos (12UL) /*!< DPFSA12 (Bit 12) */ - #define R_SYSTEM_DPFSAR_DPFSA12_Msk (0x1000UL) /*!< DPFSA12 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA13_Pos (13UL) /*!< DPFSA13 (Bit 13) */ - #define R_SYSTEM_DPFSAR_DPFSA13_Msk (0x2000UL) /*!< DPFSA13 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA14_Pos (14UL) /*!< DPFSA14 (Bit 14) */ - #define R_SYSTEM_DPFSAR_DPFSA14_Msk (0x4000UL) /*!< DPFSA14 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA15_Pos (15UL) /*!< DPFSA15 (Bit 15) */ - #define R_SYSTEM_DPFSAR_DPFSA15_Msk (0x8000UL) /*!< DPFSA15 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA16_Pos (16UL) /*!< DPFSA16 (Bit 16) */ - #define R_SYSTEM_DPFSAR_DPFSA16_Msk (0x10000UL) /*!< DPFSA16 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA17_Pos (17UL) /*!< DPFSA17 (Bit 17) */ - #define R_SYSTEM_DPFSAR_DPFSA17_Msk (0x20000UL) /*!< DPFSA17 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA18_Pos (18UL) /*!< DPFSA18 (Bit 18) */ - #define R_SYSTEM_DPFSAR_DPFSA18_Msk (0x40000UL) /*!< DPFSA18 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA19_Pos (19UL) /*!< DPFSA19 (Bit 19) */ - #define R_SYSTEM_DPFSAR_DPFSA19_Msk (0x80000UL) /*!< DPFSA19 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA20_Pos (20UL) /*!< DPFSA20 (Bit 20) */ - #define R_SYSTEM_DPFSAR_DPFSA20_Msk (0x100000UL) /*!< DPFSA20 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA24_Pos (24UL) /*!< DPFSA24 (Bit 24) */ - #define R_SYSTEM_DPFSAR_DPFSA24_Msk (0x1000000UL) /*!< DPFSA24 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA26_Pos (26UL) /*!< DPFSA26 (Bit 26) */ - #define R_SYSTEM_DPFSAR_DPFSA26_Msk (0x4000000UL) /*!< DPFSA26 (Bitfield-Mask: 0x01) */ - #define R_SYSTEM_DPFSAR_DPFSA27_Pos (27UL) /*!< DPFSA27 (Bit 27) */ - #define R_SYSTEM_DPFSAR_DPFSA27_Msk (0x8000000UL) /*!< DPFSA27 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA0_Pos (0UL) /*!< DPFSA0 (Bit 0) */ + #define R_SYSTEM_DPFSAR_DPFSA0_Msk (0x1UL) /*!< DPFSA0 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA1_Pos (1UL) /*!< DPFSA1 (Bit 1) */ + #define R_SYSTEM_DPFSAR_DPFSA1_Msk (0x2UL) /*!< DPFSA1 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA2_Pos (2UL) /*!< DPFSA2 (Bit 2) */ + #define R_SYSTEM_DPFSAR_DPFSA2_Msk (0x4UL) /*!< DPFSA2 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA3_Pos (3UL) /*!< DPFSA3 (Bit 3) */ + #define R_SYSTEM_DPFSAR_DPFSA3_Msk (0x8UL) /*!< DPFSA3 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA4_Pos (4UL) /*!< DPFSA4 (Bit 4) */ + #define R_SYSTEM_DPFSAR_DPFSA4_Msk (0x10UL) /*!< DPFSA4 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA5_Pos (5UL) /*!< DPFSA5 (Bit 5) */ + #define R_SYSTEM_DPFSAR_DPFSA5_Msk (0x20UL) /*!< DPFSA5 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA6_Pos (6UL) /*!< DPFSA6 (Bit 6) */ + #define R_SYSTEM_DPFSAR_DPFSA6_Msk (0x40UL) /*!< DPFSA6 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA7_Pos (7UL) /*!< DPFSA7 (Bit 7) */ + #define R_SYSTEM_DPFSAR_DPFSA7_Msk (0x80UL) /*!< DPFSA7 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA8_Pos (8UL) /*!< DPFSA8 (Bit 8) */ + #define R_SYSTEM_DPFSAR_DPFSA8_Msk (0x100UL) /*!< DPFSA8 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA9_Pos (9UL) /*!< DPFSA9 (Bit 9) */ + #define R_SYSTEM_DPFSAR_DPFSA9_Msk (0x200UL) /*!< DPFSA9 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA10_Pos (10UL) /*!< DPFSA10 (Bit 10) */ + #define R_SYSTEM_DPFSAR_DPFSA10_Msk (0x400UL) /*!< DPFSA10 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA11_Pos (11UL) /*!< DPFSA11 (Bit 11) */ + #define R_SYSTEM_DPFSAR_DPFSA11_Msk (0x800UL) /*!< DPFSA11 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA12_Pos (12UL) /*!< DPFSA12 (Bit 12) */ + #define R_SYSTEM_DPFSAR_DPFSA12_Msk (0x1000UL) /*!< DPFSA12 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA13_Pos (13UL) /*!< DPFSA13 (Bit 13) */ + #define R_SYSTEM_DPFSAR_DPFSA13_Msk (0x2000UL) /*!< DPFSA13 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA14_Pos (14UL) /*!< DPFSA14 (Bit 14) */ + #define R_SYSTEM_DPFSAR_DPFSA14_Msk (0x4000UL) /*!< DPFSA14 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA15_Pos (15UL) /*!< DPFSA15 (Bit 15) */ + #define R_SYSTEM_DPFSAR_DPFSA15_Msk (0x8000UL) /*!< DPFSA15 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA16_Pos (16UL) /*!< DPFSA16 (Bit 16) */ + #define R_SYSTEM_DPFSAR_DPFSA16_Msk (0x10000UL) /*!< DPFSA16 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA17_Pos (17UL) /*!< DPFSA17 (Bit 17) */ + #define R_SYSTEM_DPFSAR_DPFSA17_Msk (0x20000UL) /*!< DPFSA17 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA18_Pos (18UL) /*!< DPFSA18 (Bit 18) */ + #define R_SYSTEM_DPFSAR_DPFSA18_Msk (0x40000UL) /*!< DPFSA18 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA19_Pos (19UL) /*!< DPFSA19 (Bit 19) */ + #define R_SYSTEM_DPFSAR_DPFSA19_Msk (0x80000UL) /*!< DPFSA19 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA20_Pos (20UL) /*!< DPFSA20 (Bit 20) */ + #define R_SYSTEM_DPFSAR_DPFSA20_Msk (0x100000UL) /*!< DPFSA20 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA24_Pos (24UL) /*!< DPFSA24 (Bit 24) */ + #define R_SYSTEM_DPFSAR_DPFSA24_Msk (0x1000000UL) /*!< DPFSA24 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA26_Pos (26UL) /*!< DPFSA26 (Bit 26) */ + #define R_SYSTEM_DPFSAR_DPFSA26_Msk (0x4000000UL) /*!< DPFSA26 (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_DPFSAR_DPFSA27_Pos (27UL) /*!< DPFSA27 (Bit 27) */ + #define R_SYSTEM_DPFSAR_DPFSA27_Msk (0x8000000UL) /*!< DPFSA27 (Bitfield-Mask: 0x01) */ /* ======================================================== DPSWCR ========================================================= */ - #define R_SYSTEM_DPSWCR_WTSTS_Pos (0UL) /*!< WTSTS (Bit 0) */ - #define R_SYSTEM_DPSWCR_WTSTS_Msk (0x3fUL) /*!< WTSTS (Bitfield-Mask: 0x3f) */ + #define R_SYSTEM_DPSWCR_WTSTS_Pos (0UL) /*!< WTSTS (Bit 0) */ + #define R_SYSTEM_DPSWCR_WTSTS_Msk (0x3fUL) /*!< WTSTS (Bitfield-Mask: 0x3f) */ /* ====================================================== VBATTMNSELR ====================================================== */ - #define R_SYSTEM_VBATTMNSELR_VBATTMNSEL_Pos (0UL) /*!< VBATTMNSEL (Bit 0) */ - #define R_SYSTEM_VBATTMNSELR_VBATTMNSEL_Msk (0x1UL) /*!< VBATTMNSEL (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBATTMNSELR_VBATTMNSEL_Pos (0UL) /*!< VBATTMNSEL (Bit 0) */ + #define R_SYSTEM_VBATTMNSELR_VBATTMNSEL_Msk (0x1UL) /*!< VBATTMNSEL (Bitfield-Mask: 0x01) */ /* ======================================================= VBATTMONR ======================================================= */ - #define R_SYSTEM_VBATTMONR_VBATTMON_Pos (0UL) /*!< VBATTMON (Bit 0) */ - #define R_SYSTEM_VBATTMONR_VBATTMON_Msk (0x1UL) /*!< VBATTMON (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBATTMONR_VBATTMON_Pos (0UL) /*!< VBATTMON (Bit 0) */ + #define R_SYSTEM_VBATTMONR_VBATTMON_Msk (0x1UL) /*!< VBATTMON (Bitfield-Mask: 0x01) */ /* ======================================================== VBTBER ========================================================= */ - #define R_SYSTEM_VBTBER_VBAE_Pos (3UL) /*!< VBAE (Bit 3) */ - #define R_SYSTEM_VBTBER_VBAE_Msk (0x8UL) /*!< VBAE (Bitfield-Mask: 0x01) */ + #define R_SYSTEM_VBTBER_VBAE_Pos (3UL) /*!< VBAE (Bit 3) */ + #define R_SYSTEM_VBTBER_VBAE_Msk (0x8UL) /*!< VBAE (Bitfield-Mask: 0x01) */ /* =========================================================================================================================== */ /* ================ R_TSN ================ */ @@ -35202,6 +43904,2742 @@ typedef struct /*!< (@ 0x400A6000) R_OSPI Structure #define R_OSPI_DWSCTSR_CTSN1_Pos (16UL) /*!< CTSN1 (Bit 16) */ #define R_OSPI_DWSCTSR_CTSN1_Msk (0x7ff0000UL) /*!< CTSN1 (Bitfield-Mask: 0x7ff) */ +/* =========================================================================================================================== */ +/* ================ R_ADC_B0 ================ */ +/* =========================================================================================================================== */ + +/* ======================================================= ADCLKENR ======================================================== */ + #define R_ADC_B0_ADCLKENR_CLKEN_Pos (0UL) /*!< CLKEN (Bit 0) */ + #define R_ADC_B0_ADCLKENR_CLKEN_Msk (0x1UL) /*!< CLKEN (Bitfield-Mask: 0x01) */ +/* ======================================================== ADCLKSR ======================================================== */ + #define R_ADC_B0_ADCLKSR_CLKSR_Pos (0UL) /*!< CLKSR (Bit 0) */ + #define R_ADC_B0_ADCLKSR_CLKSR_Msk (0x1UL) /*!< CLKSR (Bitfield-Mask: 0x01) */ +/* ======================================================== ADCLKCR ======================================================== */ + #define R_ADC_B0_ADCLKCR_CLKSEL_Pos (0UL) /*!< CLKSEL (Bit 0) */ + #define R_ADC_B0_ADCLKCR_CLKSEL_Msk (0x3UL) /*!< CLKSEL (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADCLKCR_DIVR_Pos (16UL) /*!< DIVR (Bit 16) */ + #define R_ADC_B0_ADCLKCR_DIVR_Msk (0x70000UL) /*!< DIVR (Bitfield-Mask: 0x07) */ +/* ======================================================== ADSYCR ========================================================= */ + #define R_ADC_B0_ADSYCR_ADSYCYC_Pos (0UL) /*!< ADSYCYC (Bit 0) */ + #define R_ADC_B0_ADSYCR_ADSYCYC_Msk (0x7ffUL) /*!< ADSYCYC (Bitfield-Mask: 0x7ff) */ + #define R_ADC_B0_ADSYCR_ADSYDIS0_Pos (16UL) /*!< ADSYDIS0 (Bit 16) */ + #define R_ADC_B0_ADSYCR_ADSYDIS0_Msk (0x10000UL) /*!< ADSYDIS0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSYCR_ADSYDIS1_Pos (17UL) /*!< ADSYDIS1 (Bit 17) */ + #define R_ADC_B0_ADSYCR_ADSYDIS1_Msk (0x20000UL) /*!< ADSYDIS1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADERINTCR ======================================================= */ + #define R_ADC_B0_ADERINTCR_ADEIE0_Pos (0UL) /*!< ADEIE0 (Bit 0) */ + #define R_ADC_B0_ADERINTCR_ADEIE0_Msk (0x1UL) /*!< ADEIE0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADERINTCR_ADEIE1_Pos (1UL) /*!< ADEIE1 (Bit 1) */ + #define R_ADC_B0_ADERINTCR_ADEIE1_Msk (0x2UL) /*!< ADEIE1 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADOVFINTCR ======================================================= */ + #define R_ADC_B0_ADOVFINTCR_ADOVFIE0_Pos (0UL) /*!< ADOVFIE0 (Bit 0) */ + #define R_ADC_B0_ADOVFINTCR_ADOVFIE0_Msk (0x1UL) /*!< ADOVFIE0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFINTCR_ADOVFIE1_Pos (1UL) /*!< ADOVFIE1 (Bit 1) */ + #define R_ADC_B0_ADOVFINTCR_ADOVFIE1_Msk (0x2UL) /*!< ADOVFIE1 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADCALINTCR ======================================================= */ + #define R_ADC_B0_ADCALINTCR_CALENDIE0_Pos (16UL) /*!< CALENDIE0 (Bit 16) */ + #define R_ADC_B0_ADCALINTCR_CALENDIE0_Msk (0x10000UL) /*!< CALENDIE0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCALINTCR_CALENDIE1_Pos (17UL) /*!< CALENDIE1 (Bit 17) */ + #define R_ADC_B0_ADCALINTCR_CALENDIE1_Msk (0x20000UL) /*!< CALENDIE1 (Bitfield-Mask: 0x01) */ +/* ========================================================= ADMDR ========================================================= */ + #define R_ADC_B0_ADMDR_ADMD0_Pos (0UL) /*!< ADMD0 (Bit 0) */ + #define R_ADC_B0_ADMDR_ADMD0_Msk (0xfUL) /*!< ADMD0 (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADMDR_ADMD1_Pos (8UL) /*!< ADMD1 (Bit 8) */ + #define R_ADC_B0_ADMDR_ADMD1_Msk (0xf00UL) /*!< ADMD1 (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADGSPCR ======================================================== */ + #define R_ADC_B0_ADGSPCR_PGS0_Pos (0UL) /*!< PGS0 (Bit 0) */ + #define R_ADC_B0_ADGSPCR_PGS0_Msk (0x1UL) /*!< PGS0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADGSPCR_RSCN0_Pos (1UL) /*!< RSCN0 (Bit 1) */ + #define R_ADC_B0_ADGSPCR_RSCN0_Msk (0x2UL) /*!< RSCN0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADGSPCR_LGRRS0_Pos (2UL) /*!< LGRRS0 (Bit 2) */ + #define R_ADC_B0_ADGSPCR_LGRRS0_Msk (0x4UL) /*!< LGRRS0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADGSPCR_GRP0_Pos (3UL) /*!< GRP0 (Bit 3) */ + #define R_ADC_B0_ADGSPCR_GRP0_Msk (0x8UL) /*!< GRP0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADGSPCR_PGS1_Pos (8UL) /*!< PGS1 (Bit 8) */ + #define R_ADC_B0_ADGSPCR_PGS1_Msk (0x100UL) /*!< PGS1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADGSPCR_RSCN1_Pos (9UL) /*!< RSCN1 (Bit 9) */ + #define R_ADC_B0_ADGSPCR_RSCN1_Msk (0x200UL) /*!< RSCN1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADGSPCR_LGRRS1_Pos (10UL) /*!< LGRRS1 (Bit 10) */ + #define R_ADC_B0_ADGSPCR_LGRRS1_Msk (0x400UL) /*!< LGRRS1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADGSPCR_GRP1_Pos (11UL) /*!< GRP1 (Bit 11) */ + #define R_ADC_B0_ADGSPCR_GRP1_Msk (0x800UL) /*!< GRP1 (Bitfield-Mask: 0x01) */ +/* ======================================================== ADSGER ========================================================= */ + #define R_ADC_B0_ADSGER_SGREn_Pos (0UL) /*!< SGREn (Bit 0) */ + #define R_ADC_B0_ADSGER_SGREn_Msk (0x1ffUL) /*!< SGREn (Bitfield-Mask: 0x1ff) */ +/* ======================================================== ADSGCR0 ======================================================== */ + #define R_ADC_B0_ADSGCR0_SGADS0_Pos (0UL) /*!< SGADS0 (Bit 0) */ + #define R_ADC_B0_ADSGCR0_SGADS0_Msk (0x3UL) /*!< SGADS0 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADSGCR0_SGADS1_Pos (8UL) /*!< SGADS1 (Bit 8) */ + #define R_ADC_B0_ADSGCR0_SGADS1_Msk (0x300UL) /*!< SGADS1 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADSGCR0_SGADS2_Pos (16UL) /*!< SGADS2 (Bit 16) */ + #define R_ADC_B0_ADSGCR0_SGADS2_Msk (0x30000UL) /*!< SGADS2 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADSGCR0_SGADS3_Pos (24UL) /*!< SGADS3 (Bit 24) */ + #define R_ADC_B0_ADSGCR0_SGADS3_Msk (0x3000000UL) /*!< SGADS3 (Bitfield-Mask: 0x03) */ +/* ======================================================== ADSGCR1 ======================================================== */ + #define R_ADC_B0_ADSGCR1_SGADS4_Pos (0UL) /*!< SGADS4 (Bit 0) */ + #define R_ADC_B0_ADSGCR1_SGADS4_Msk (0x3UL) /*!< SGADS4 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADSGCR1_SGADS5_Pos (8UL) /*!< SGADS5 (Bit 8) */ + #define R_ADC_B0_ADSGCR1_SGADS5_Msk (0x300UL) /*!< SGADS5 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADSGCR1_SGADS6_Pos (16UL) /*!< SGADS6 (Bit 16) */ + #define R_ADC_B0_ADSGCR1_SGADS6_Msk (0x30000UL) /*!< SGADS6 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADSGCR1_SGADS7_Pos (24UL) /*!< SGADS7 (Bit 24) */ + #define R_ADC_B0_ADSGCR1_SGADS7_Msk (0x3000000UL) /*!< SGADS7 (Bitfield-Mask: 0x03) */ +/* ======================================================== ADSGCR2 ======================================================== */ + #define R_ADC_B0_ADSGCR2_SGADS8_Pos (0UL) /*!< SGADS8 (Bit 0) */ + #define R_ADC_B0_ADSGCR2_SGADS8_Msk (0x3UL) /*!< SGADS8 (Bitfield-Mask: 0x03) */ +/* ======================================================== ADINTCR ======================================================== */ + #define R_ADC_B0_ADINTCR_ADIEn_Pos (0UL) /*!< ADIEn (Bit 0) */ + #define R_ADC_B0_ADINTCR_ADIEn_Msk (0x3ffUL) /*!< ADIEn (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGEXT0 ======================================================= */ + #define R_ADC_B0_ADTRGEXT0_TRGEXT0_Pos (0UL) /*!< TRGEXT0 (Bit 0) */ + #define R_ADC_B0_ADTRGEXT0_TRGEXT0_Msk (0x1UL) /*!< TRGEXT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADTRGEXT0_TRGEXT1_Pos (1UL) /*!< TRGEXT1 (Bit 1) */ + #define R_ADC_B0_ADTRGEXT0_TRGEXT1_Msk (0x2UL) /*!< TRGEXT1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADTRGEXT1 ======================================================= */ + #define R_ADC_B0_ADTRGEXT1_TRGEXT0_Pos (0UL) /*!< TRGEXT0 (Bit 0) */ + #define R_ADC_B0_ADTRGEXT1_TRGEXT0_Msk (0x1UL) /*!< TRGEXT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADTRGEXT1_TRGEXT1_Pos (1UL) /*!< TRGEXT1 (Bit 1) */ + #define R_ADC_B0_ADTRGEXT1_TRGEXT1_Msk (0x2UL) /*!< TRGEXT1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADTRGEXT2 ======================================================= */ + #define R_ADC_B0_ADTRGEXT2_TRGEXT0_Pos (0UL) /*!< TRGEXT0 (Bit 0) */ + #define R_ADC_B0_ADTRGEXT2_TRGEXT0_Msk (0x1UL) /*!< TRGEXT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADTRGEXT2_TRGEXT1_Pos (1UL) /*!< TRGEXT1 (Bit 1) */ + #define R_ADC_B0_ADTRGEXT2_TRGEXT1_Msk (0x2UL) /*!< TRGEXT1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADTRGEXT3 ======================================================= */ + #define R_ADC_B0_ADTRGEXT3_TRGEXT0_Pos (0UL) /*!< TRGEXT0 (Bit 0) */ + #define R_ADC_B0_ADTRGEXT3_TRGEXT0_Msk (0x1UL) /*!< TRGEXT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADTRGEXT3_TRGEXT1_Pos (1UL) /*!< TRGEXT1 (Bit 1) */ + #define R_ADC_B0_ADTRGEXT3_TRGEXT1_Msk (0x2UL) /*!< TRGEXT1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADTRGEXT4 ======================================================= */ + #define R_ADC_B0_ADTRGEXT4_TRGEXT0_Pos (0UL) /*!< TRGEXT0 (Bit 0) */ + #define R_ADC_B0_ADTRGEXT4_TRGEXT0_Msk (0x1UL) /*!< TRGEXT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADTRGEXT4_TRGEXT1_Pos (1UL) /*!< TRGEXT1 (Bit 1) */ + #define R_ADC_B0_ADTRGEXT4_TRGEXT1_Msk (0x2UL) /*!< TRGEXT1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADTRGEXT5 ======================================================= */ + #define R_ADC_B0_ADTRGEXT5_TRGEXT0_Pos (0UL) /*!< TRGEXT0 (Bit 0) */ + #define R_ADC_B0_ADTRGEXT5_TRGEXT0_Msk (0x1UL) /*!< TRGEXT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADTRGEXT5_TRGEXT1_Pos (1UL) /*!< TRGEXT1 (Bit 1) */ + #define R_ADC_B0_ADTRGEXT5_TRGEXT1_Msk (0x2UL) /*!< TRGEXT1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADTRGEXT6 ======================================================= */ + #define R_ADC_B0_ADTRGEXT6_TRGEXT0_Pos (0UL) /*!< TRGEXT0 (Bit 0) */ + #define R_ADC_B0_ADTRGEXT6_TRGEXT0_Msk (0x1UL) /*!< TRGEXT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADTRGEXT6_TRGEXT1_Pos (1UL) /*!< TRGEXT1 (Bit 1) */ + #define R_ADC_B0_ADTRGEXT6_TRGEXT1_Msk (0x2UL) /*!< TRGEXT1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADTRGEXT7 ======================================================= */ + #define R_ADC_B0_ADTRGEXT7_TRGEXT0_Pos (0UL) /*!< TRGEXT0 (Bit 0) */ + #define R_ADC_B0_ADTRGEXT7_TRGEXT0_Msk (0x1UL) /*!< TRGEXT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADTRGEXT7_TRGEXT1_Pos (1UL) /*!< TRGEXT1 (Bit 1) */ + #define R_ADC_B0_ADTRGEXT7_TRGEXT1_Msk (0x2UL) /*!< TRGEXT1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADTRGEXT8 ======================================================= */ + #define R_ADC_B0_ADTRGEXT8_TRGEXT0_Pos (0UL) /*!< TRGEXT0 (Bit 0) */ + #define R_ADC_B0_ADTRGEXT8_TRGEXT0_Msk (0x1UL) /*!< TRGEXT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADTRGEXT8_TRGEXT1_Pos (1UL) /*!< TRGEXT1 (Bit 1) */ + #define R_ADC_B0_ADTRGEXT8_TRGEXT1_Msk (0x2UL) /*!< TRGEXT1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADTRGELC0 ======================================================= */ + #define R_ADC_B0_ADTRGELC0_TRGELCm_Pos (0UL) /*!< TRGELCm (Bit 0) */ + #define R_ADC_B0_ADTRGELC0_TRGELCm_Msk (0x3fUL) /*!< TRGELCm (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADTRGELC1 ======================================================= */ + #define R_ADC_B0_ADTRGELC1_TRGELCm_Pos (0UL) /*!< TRGELCm (Bit 0) */ + #define R_ADC_B0_ADTRGELC1_TRGELCm_Msk (0x3fUL) /*!< TRGELCm (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADTRGELC2 ======================================================= */ + #define R_ADC_B0_ADTRGELC2_TRGELCm_Pos (0UL) /*!< TRGELCm (Bit 0) */ + #define R_ADC_B0_ADTRGELC2_TRGELCm_Msk (0x3fUL) /*!< TRGELCm (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADTRGELC3 ======================================================= */ + #define R_ADC_B0_ADTRGELC3_TRGELCm_Pos (0UL) /*!< TRGELCm (Bit 0) */ + #define R_ADC_B0_ADTRGELC3_TRGELCm_Msk (0x3fUL) /*!< TRGELCm (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADTRGELC4 ======================================================= */ + #define R_ADC_B0_ADTRGELC4_TRGELCm_Pos (0UL) /*!< TRGELCm (Bit 0) */ + #define R_ADC_B0_ADTRGELC4_TRGELCm_Msk (0x3fUL) /*!< TRGELCm (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADTRGELC5 ======================================================= */ + #define R_ADC_B0_ADTRGELC5_TRGELCm_Pos (0UL) /*!< TRGELCm (Bit 0) */ + #define R_ADC_B0_ADTRGELC5_TRGELCm_Msk (0x3fUL) /*!< TRGELCm (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADTRGELC6 ======================================================= */ + #define R_ADC_B0_ADTRGELC6_TRGELCm_Pos (0UL) /*!< TRGELCm (Bit 0) */ + #define R_ADC_B0_ADTRGELC6_TRGELCm_Msk (0x3fUL) /*!< TRGELCm (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADTRGELC7 ======================================================= */ + #define R_ADC_B0_ADTRGELC7_TRGELCm_Pos (0UL) /*!< TRGELCm (Bit 0) */ + #define R_ADC_B0_ADTRGELC7_TRGELCm_Msk (0x3fUL) /*!< TRGELCm (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADTRGELC8 ======================================================= */ + #define R_ADC_B0_ADTRGELC8_TRGELCm_Pos (0UL) /*!< TRGELCm (Bit 0) */ + #define R_ADC_B0_ADTRGELC8_TRGELCm_Msk (0x3fUL) /*!< TRGELCm (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADTRGGPT0 ======================================================= */ + #define R_ADC_B0_ADTRGGPT0_TRGGPTAm_Pos (0UL) /*!< TRGGPTAm (Bit 0) */ + #define R_ADC_B0_ADTRGGPT0_TRGGPTAm_Msk (0x3ffUL) /*!< TRGGPTAm (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADTRGGPT0_TRGGPTBm_Pos (16UL) /*!< TRGGPTBm (Bit 16) */ + #define R_ADC_B0_ADTRGGPT0_TRGGPTBm_Msk (0x3ff0000UL) /*!< TRGGPTBm (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGGPT1 ======================================================= */ + #define R_ADC_B0_ADTRGGPT1_TRGGPTAm_Pos (0UL) /*!< TRGGPTAm (Bit 0) */ + #define R_ADC_B0_ADTRGGPT1_TRGGPTAm_Msk (0x3ffUL) /*!< TRGGPTAm (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADTRGGPT1_TRGGPTBm_Pos (16UL) /*!< TRGGPTBm (Bit 16) */ + #define R_ADC_B0_ADTRGGPT1_TRGGPTBm_Msk (0x3ff0000UL) /*!< TRGGPTBm (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGGPT2 ======================================================= */ + #define R_ADC_B0_ADTRGGPT2_TRGGPTAm_Pos (0UL) /*!< TRGGPTAm (Bit 0) */ + #define R_ADC_B0_ADTRGGPT2_TRGGPTAm_Msk (0x3ffUL) /*!< TRGGPTAm (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADTRGGPT2_TRGGPTBm_Pos (16UL) /*!< TRGGPTBm (Bit 16) */ + #define R_ADC_B0_ADTRGGPT2_TRGGPTBm_Msk (0x3ff0000UL) /*!< TRGGPTBm (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGGPT3 ======================================================= */ + #define R_ADC_B0_ADTRGGPT3_TRGGPTAm_Pos (0UL) /*!< TRGGPTAm (Bit 0) */ + #define R_ADC_B0_ADTRGGPT3_TRGGPTAm_Msk (0x3ffUL) /*!< TRGGPTAm (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADTRGGPT3_TRGGPTBm_Pos (16UL) /*!< TRGGPTBm (Bit 16) */ + #define R_ADC_B0_ADTRGGPT3_TRGGPTBm_Msk (0x3ff0000UL) /*!< TRGGPTBm (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGGPT4 ======================================================= */ + #define R_ADC_B0_ADTRGGPT4_TRGGPTAm_Pos (0UL) /*!< TRGGPTAm (Bit 0) */ + #define R_ADC_B0_ADTRGGPT4_TRGGPTAm_Msk (0x3ffUL) /*!< TRGGPTAm (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADTRGGPT4_TRGGPTBm_Pos (16UL) /*!< TRGGPTBm (Bit 16) */ + #define R_ADC_B0_ADTRGGPT4_TRGGPTBm_Msk (0x3ff0000UL) /*!< TRGGPTBm (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGGPT5 ======================================================= */ + #define R_ADC_B0_ADTRGGPT5_TRGGPTAm_Pos (0UL) /*!< TRGGPTAm (Bit 0) */ + #define R_ADC_B0_ADTRGGPT5_TRGGPTAm_Msk (0x3ffUL) /*!< TRGGPTAm (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADTRGGPT5_TRGGPTBm_Pos (16UL) /*!< TRGGPTBm (Bit 16) */ + #define R_ADC_B0_ADTRGGPT5_TRGGPTBm_Msk (0x3ff0000UL) /*!< TRGGPTBm (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGGPT6 ======================================================= */ + #define R_ADC_B0_ADTRGGPT6_TRGGPTAm_Pos (0UL) /*!< TRGGPTAm (Bit 0) */ + #define R_ADC_B0_ADTRGGPT6_TRGGPTAm_Msk (0x3ffUL) /*!< TRGGPTAm (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADTRGGPT6_TRGGPTBm_Pos (16UL) /*!< TRGGPTBm (Bit 16) */ + #define R_ADC_B0_ADTRGGPT6_TRGGPTBm_Msk (0x3ff0000UL) /*!< TRGGPTBm (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGGPT7 ======================================================= */ + #define R_ADC_B0_ADTRGGPT7_TRGGPTAm_Pos (0UL) /*!< TRGGPTAm (Bit 0) */ + #define R_ADC_B0_ADTRGGPT7_TRGGPTAm_Msk (0x3ffUL) /*!< TRGGPTAm (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADTRGGPT7_TRGGPTBm_Pos (16UL) /*!< TRGGPTBm (Bit 16) */ + #define R_ADC_B0_ADTRGGPT7_TRGGPTBm_Msk (0x3ff0000UL) /*!< TRGGPTBm (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGGPT8 ======================================================= */ + #define R_ADC_B0_ADTRGGPT8_TRGGPTAm_Pos (0UL) /*!< TRGGPTAm (Bit 0) */ + #define R_ADC_B0_ADTRGGPT8_TRGGPTAm_Msk (0x3ffUL) /*!< TRGGPTAm (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADTRGGPT8_TRGGPTBm_Pos (16UL) /*!< TRGGPTBm (Bit 16) */ + #define R_ADC_B0_ADTRGGPT8_TRGGPTBm_Msk (0x3ff0000UL) /*!< TRGGPTBm (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADTRGDLR0 ======================================================= */ + #define R_ADC_B0_ADTRGDLR0_TRGDLY0_Pos (0UL) /*!< TRGDLY0 (Bit 0) */ + #define R_ADC_B0_ADTRGDLR0_TRGDLY0_Msk (0xffUL) /*!< TRGDLY0 (Bitfield-Mask: 0xff) */ + #define R_ADC_B0_ADTRGDLR0_TRGDLY1_Pos (16UL) /*!< TRGDLY1 (Bit 16) */ + #define R_ADC_B0_ADTRGDLR0_TRGDLY1_Msk (0xff0000UL) /*!< TRGDLY1 (Bitfield-Mask: 0xff) */ +/* ======================================================= ADTRGDLR1 ======================================================= */ + #define R_ADC_B0_ADTRGDLR1_TRGDLY2_Pos (0UL) /*!< TRGDLY2 (Bit 0) */ + #define R_ADC_B0_ADTRGDLR1_TRGDLY2_Msk (0xffUL) /*!< TRGDLY2 (Bitfield-Mask: 0xff) */ + #define R_ADC_B0_ADTRGDLR1_TRGDLY3_Pos (16UL) /*!< TRGDLY3 (Bit 16) */ + #define R_ADC_B0_ADTRGDLR1_TRGDLY3_Msk (0xff0000UL) /*!< TRGDLY3 (Bitfield-Mask: 0xff) */ +/* ======================================================= ADTRGDLR2 ======================================================= */ + #define R_ADC_B0_ADTRGDLR2_TRGDLY4_Pos (0UL) /*!< TRGDLY4 (Bit 0) */ + #define R_ADC_B0_ADTRGDLR2_TRGDLY4_Msk (0xffUL) /*!< TRGDLY4 (Bitfield-Mask: 0xff) */ + #define R_ADC_B0_ADTRGDLR2_TRGDLY5_Pos (16UL) /*!< TRGDLY5 (Bit 16) */ + #define R_ADC_B0_ADTRGDLR2_TRGDLY5_Msk (0xff0000UL) /*!< TRGDLY5 (Bitfield-Mask: 0xff) */ +/* ======================================================= ADTRGDLR3 ======================================================= */ + #define R_ADC_B0_ADTRGDLR3_TRGDLY6_Pos (0UL) /*!< TRGDLY6 (Bit 0) */ + #define R_ADC_B0_ADTRGDLR3_TRGDLY6_Msk (0xffUL) /*!< TRGDLY6 (Bitfield-Mask: 0xff) */ + #define R_ADC_B0_ADTRGDLR3_TRGDLY7_Pos (16UL) /*!< TRGDLY7 (Bit 16) */ + #define R_ADC_B0_ADTRGDLR3_TRGDLY7_Msk (0xff0000UL) /*!< TRGDLY7 (Bitfield-Mask: 0xff) */ +/* ======================================================= ADTRGDLR4 ======================================================= */ + #define R_ADC_B0_ADTRGDLR4_TRGDLY8_Pos (0UL) /*!< TRGDLY8 (Bit 0) */ + #define R_ADC_B0_ADTRGDLR4_TRGDLY8_Msk (0xffUL) /*!< TRGDLY8 (Bitfield-Mask: 0xff) */ +/* ======================================================= ADSGDCR0 ======================================================== */ + #define R_ADC_B0_ADSGDCR0_DIAGVAL_Pos (0UL) /*!< DIAGVAL (Bit 0) */ + #define R_ADC_B0_ADSGDCR0_DIAGVAL_Msk (0x7UL) /*!< DIAGVAL (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADSGDCR0_ADDISEN_Pos (16UL) /*!< ADDISEN (Bit 16) */ + #define R_ADC_B0_ADSGDCR0_ADDISEN_Msk (0x10000UL) /*!< ADDISEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR0_ADDISP_Pos (20UL) /*!< ADDISP (Bit 20) */ + #define R_ADC_B0_ADSGDCR0_ADDISP_Msk (0x100000UL) /*!< ADDISP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR0_ADDISN_Pos (21UL) /*!< ADDISN (Bit 21) */ + #define R_ADC_B0_ADSGDCR0_ADDISN_Msk (0x200000UL) /*!< ADDISN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR0_ADNDIS_Pos (24UL) /*!< ADNDIS (Bit 24) */ + #define R_ADC_B0_ADSGDCR0_ADNDIS_Msk (0xf000000UL) /*!< ADNDIS (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADSGDCR1 ======================================================== */ + #define R_ADC_B0_ADSGDCR1_DIAGVAL_Pos (0UL) /*!< DIAGVAL (Bit 0) */ + #define R_ADC_B0_ADSGDCR1_DIAGVAL_Msk (0x7UL) /*!< DIAGVAL (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADSGDCR1_ADDISEN_Pos (16UL) /*!< ADDISEN (Bit 16) */ + #define R_ADC_B0_ADSGDCR1_ADDISEN_Msk (0x10000UL) /*!< ADDISEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR1_ADDISP_Pos (20UL) /*!< ADDISP (Bit 20) */ + #define R_ADC_B0_ADSGDCR1_ADDISP_Msk (0x100000UL) /*!< ADDISP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR1_ADDISN_Pos (21UL) /*!< ADDISN (Bit 21) */ + #define R_ADC_B0_ADSGDCR1_ADDISN_Msk (0x200000UL) /*!< ADDISN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR1_ADNDIS_Pos (24UL) /*!< ADNDIS (Bit 24) */ + #define R_ADC_B0_ADSGDCR1_ADNDIS_Msk (0xf000000UL) /*!< ADNDIS (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADSGDCR2 ======================================================== */ + #define R_ADC_B0_ADSGDCR2_DIAGVAL_Pos (0UL) /*!< DIAGVAL (Bit 0) */ + #define R_ADC_B0_ADSGDCR2_DIAGVAL_Msk (0x7UL) /*!< DIAGVAL (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADSGDCR2_ADDISEN_Pos (16UL) /*!< ADDISEN (Bit 16) */ + #define R_ADC_B0_ADSGDCR2_ADDISEN_Msk (0x10000UL) /*!< ADDISEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR2_ADDISP_Pos (20UL) /*!< ADDISP (Bit 20) */ + #define R_ADC_B0_ADSGDCR2_ADDISP_Msk (0x100000UL) /*!< ADDISP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR2_ADDISN_Pos (21UL) /*!< ADDISN (Bit 21) */ + #define R_ADC_B0_ADSGDCR2_ADDISN_Msk (0x200000UL) /*!< ADDISN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR2_ADNDIS_Pos (24UL) /*!< ADNDIS (Bit 24) */ + #define R_ADC_B0_ADSGDCR2_ADNDIS_Msk (0xf000000UL) /*!< ADNDIS (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADSGDCR3 ======================================================== */ + #define R_ADC_B0_ADSGDCR3_DIAGVAL_Pos (0UL) /*!< DIAGVAL (Bit 0) */ + #define R_ADC_B0_ADSGDCR3_DIAGVAL_Msk (0x7UL) /*!< DIAGVAL (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADSGDCR3_ADDISEN_Pos (16UL) /*!< ADDISEN (Bit 16) */ + #define R_ADC_B0_ADSGDCR3_ADDISEN_Msk (0x10000UL) /*!< ADDISEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR3_ADDISP_Pos (20UL) /*!< ADDISP (Bit 20) */ + #define R_ADC_B0_ADSGDCR3_ADDISP_Msk (0x100000UL) /*!< ADDISP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR3_ADDISN_Pos (21UL) /*!< ADDISN (Bit 21) */ + #define R_ADC_B0_ADSGDCR3_ADDISN_Msk (0x200000UL) /*!< ADDISN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR3_ADNDIS_Pos (24UL) /*!< ADNDIS (Bit 24) */ + #define R_ADC_B0_ADSGDCR3_ADNDIS_Msk (0xf000000UL) /*!< ADNDIS (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADSGDCR4 ======================================================== */ + #define R_ADC_B0_ADSGDCR4_DIAGVAL_Pos (0UL) /*!< DIAGVAL (Bit 0) */ + #define R_ADC_B0_ADSGDCR4_DIAGVAL_Msk (0x7UL) /*!< DIAGVAL (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADSGDCR4_ADDISEN_Pos (16UL) /*!< ADDISEN (Bit 16) */ + #define R_ADC_B0_ADSGDCR4_ADDISEN_Msk (0x10000UL) /*!< ADDISEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR4_ADDISP_Pos (20UL) /*!< ADDISP (Bit 20) */ + #define R_ADC_B0_ADSGDCR4_ADDISP_Msk (0x100000UL) /*!< ADDISP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR4_ADDISN_Pos (21UL) /*!< ADDISN (Bit 21) */ + #define R_ADC_B0_ADSGDCR4_ADDISN_Msk (0x200000UL) /*!< ADDISN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR4_ADNDIS_Pos (24UL) /*!< ADNDIS (Bit 24) */ + #define R_ADC_B0_ADSGDCR4_ADNDIS_Msk (0xf000000UL) /*!< ADNDIS (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADSGDCR5 ======================================================== */ + #define R_ADC_B0_ADSGDCR5_DIAGVAL_Pos (0UL) /*!< DIAGVAL (Bit 0) */ + #define R_ADC_B0_ADSGDCR5_DIAGVAL_Msk (0x7UL) /*!< DIAGVAL (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADSGDCR5_ADDISEN_Pos (16UL) /*!< ADDISEN (Bit 16) */ + #define R_ADC_B0_ADSGDCR5_ADDISEN_Msk (0x10000UL) /*!< ADDISEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR5_ADDISP_Pos (20UL) /*!< ADDISP (Bit 20) */ + #define R_ADC_B0_ADSGDCR5_ADDISP_Msk (0x100000UL) /*!< ADDISP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR5_ADDISN_Pos (21UL) /*!< ADDISN (Bit 21) */ + #define R_ADC_B0_ADSGDCR5_ADDISN_Msk (0x200000UL) /*!< ADDISN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR5_ADNDIS_Pos (24UL) /*!< ADNDIS (Bit 24) */ + #define R_ADC_B0_ADSGDCR5_ADNDIS_Msk (0xf000000UL) /*!< ADNDIS (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADSGDCR6 ======================================================== */ + #define R_ADC_B0_ADSGDCR6_DIAGVAL_Pos (0UL) /*!< DIAGVAL (Bit 0) */ + #define R_ADC_B0_ADSGDCR6_DIAGVAL_Msk (0x7UL) /*!< DIAGVAL (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADSGDCR6_ADDISEN_Pos (16UL) /*!< ADDISEN (Bit 16) */ + #define R_ADC_B0_ADSGDCR6_ADDISEN_Msk (0x10000UL) /*!< ADDISEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR6_ADDISP_Pos (20UL) /*!< ADDISP (Bit 20) */ + #define R_ADC_B0_ADSGDCR6_ADDISP_Msk (0x100000UL) /*!< ADDISP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR6_ADDISN_Pos (21UL) /*!< ADDISN (Bit 21) */ + #define R_ADC_B0_ADSGDCR6_ADDISN_Msk (0x200000UL) /*!< ADDISN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR6_ADNDIS_Pos (24UL) /*!< ADNDIS (Bit 24) */ + #define R_ADC_B0_ADSGDCR6_ADNDIS_Msk (0xf000000UL) /*!< ADNDIS (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADSGDCR7 ======================================================== */ + #define R_ADC_B0_ADSGDCR7_DIAGVAL_Pos (0UL) /*!< DIAGVAL (Bit 0) */ + #define R_ADC_B0_ADSGDCR7_DIAGVAL_Msk (0x7UL) /*!< DIAGVAL (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADSGDCR7_ADDISEN_Pos (16UL) /*!< ADDISEN (Bit 16) */ + #define R_ADC_B0_ADSGDCR7_ADDISEN_Msk (0x10000UL) /*!< ADDISEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR7_ADDISP_Pos (20UL) /*!< ADDISP (Bit 20) */ + #define R_ADC_B0_ADSGDCR7_ADDISP_Msk (0x100000UL) /*!< ADDISP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR7_ADDISN_Pos (21UL) /*!< ADDISN (Bit 21) */ + #define R_ADC_B0_ADSGDCR7_ADDISN_Msk (0x200000UL) /*!< ADDISN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR7_ADNDIS_Pos (24UL) /*!< ADNDIS (Bit 24) */ + #define R_ADC_B0_ADSGDCR7_ADNDIS_Msk (0xf000000UL) /*!< ADNDIS (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADSGDCR8 ======================================================== */ + #define R_ADC_B0_ADSGDCR8_DIAGVAL_Pos (0UL) /*!< DIAGVAL (Bit 0) */ + #define R_ADC_B0_ADSGDCR8_DIAGVAL_Msk (0x7UL) /*!< DIAGVAL (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADSGDCR8_ADDISEN_Pos (16UL) /*!< ADDISEN (Bit 16) */ + #define R_ADC_B0_ADSGDCR8_ADDISEN_Msk (0x10000UL) /*!< ADDISEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR8_ADDISP_Pos (20UL) /*!< ADDISP (Bit 20) */ + #define R_ADC_B0_ADSGDCR8_ADDISP_Msk (0x100000UL) /*!< ADDISP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR8_ADDISN_Pos (21UL) /*!< ADDISN (Bit 21) */ + #define R_ADC_B0_ADSGDCR8_ADDISN_Msk (0x200000UL) /*!< ADDISN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSGDCR8_ADNDIS_Pos (24UL) /*!< ADNDIS (Bit 24) */ + #define R_ADC_B0_ADSGDCR8_ADNDIS_Msk (0xf000000UL) /*!< ADNDIS (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADSSTR0 ======================================================== */ + #define R_ADC_B0_ADSSTR0_SST0_Pos (0UL) /*!< SST0 (Bit 0) */ + #define R_ADC_B0_ADSSTR0_SST0_Msk (0x3ffUL) /*!< SST0 (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADSSTR0_SST1_Pos (16UL) /*!< SST1 (Bit 16) */ + #define R_ADC_B0_ADSSTR0_SST1_Msk (0x3ff0000UL) /*!< SST1 (Bitfield-Mask: 0x3ff) */ +/* ======================================================== ADSSTR1 ======================================================== */ + #define R_ADC_B0_ADSSTR1_SST2_Pos (0UL) /*!< SST2 (Bit 0) */ + #define R_ADC_B0_ADSSTR1_SST2_Msk (0x3ffUL) /*!< SST2 (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADSSTR1_SST3_Pos (16UL) /*!< SST3 (Bit 16) */ + #define R_ADC_B0_ADSSTR1_SST3_Msk (0x3ff0000UL) /*!< SST3 (Bitfield-Mask: 0x3ff) */ +/* ======================================================== ADSSTR2 ======================================================== */ + #define R_ADC_B0_ADSSTR2_SST4_Pos (0UL) /*!< SST4 (Bit 0) */ + #define R_ADC_B0_ADSSTR2_SST4_Msk (0x3ffUL) /*!< SST4 (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADSSTR2_SST5_Pos (16UL) /*!< SST5 (Bit 16) */ + #define R_ADC_B0_ADSSTR2_SST5_Msk (0x3ff0000UL) /*!< SST5 (Bitfield-Mask: 0x3ff) */ +/* ======================================================== ADSSTR3 ======================================================== */ + #define R_ADC_B0_ADSSTR3_SST6_Pos (0UL) /*!< SST6 (Bit 0) */ + #define R_ADC_B0_ADSSTR3_SST6_Msk (0x3ffUL) /*!< SST6 (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADSSTR3_SST7_Pos (16UL) /*!< SST7 (Bit 16) */ + #define R_ADC_B0_ADSSTR3_SST7_Msk (0x3ff0000UL) /*!< SST7 (Bitfield-Mask: 0x3ff) */ +/* ======================================================== ADSSTR4 ======================================================== */ + #define R_ADC_B0_ADSSTR4_SST8_Pos (0UL) /*!< SST8 (Bit 0) */ + #define R_ADC_B0_ADSSTR4_SST8_Msk (0x3ffUL) /*!< SST8 (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADSSTR4_SST9_Pos (16UL) /*!< SST9 (Bit 16) */ + #define R_ADC_B0_ADSSTR4_SST9_Msk (0x3ff0000UL) /*!< SST9 (Bitfield-Mask: 0x3ff) */ +/* ======================================================== ADSSTR5 ======================================================== */ + #define R_ADC_B0_ADSSTR5_SST10_Pos (0UL) /*!< SST10 (Bit 0) */ + #define R_ADC_B0_ADSSTR5_SST10_Msk (0x3ffUL) /*!< SST10 (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADSSTR5_SST11_Pos (16UL) /*!< SST11 (Bit 16) */ + #define R_ADC_B0_ADSSTR5_SST11_Msk (0x3ff0000UL) /*!< SST11 (Bitfield-Mask: 0x3ff) */ +/* ======================================================== ADSSTR6 ======================================================== */ + #define R_ADC_B0_ADSSTR6_SST12_Pos (0UL) /*!< SST12 (Bit 0) */ + #define R_ADC_B0_ADSSTR6_SST12_Msk (0x3ffUL) /*!< SST12 (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADSSTR6_SST13_Pos (16UL) /*!< SST13 (Bit 16) */ + #define R_ADC_B0_ADSSTR6_SST13_Msk (0x3ff0000UL) /*!< SST13 (Bitfield-Mask: 0x3ff) */ +/* ======================================================== ADSSTR7 ======================================================== */ + #define R_ADC_B0_ADSSTR7_SST14_Pos (0UL) /*!< SST14 (Bit 0) */ + #define R_ADC_B0_ADSSTR7_SST14_Msk (0x3ffUL) /*!< SST14 (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADSSTR7_SST15_Pos (16UL) /*!< SST15 (Bit 16) */ + #define R_ADC_B0_ADSSTR7_SST15_Msk (0x3ff0000UL) /*!< SST15 (Bitfield-Mask: 0x3ff) */ +/* ======================================================= ADCNVSTR ======================================================== */ + #define R_ADC_B0_ADCNVSTR_CST0_Pos (0UL) /*!< CST0 (Bit 0) */ + #define R_ADC_B0_ADCNVSTR_CST0_Msk (0x3fUL) /*!< CST0 (Bitfield-Mask: 0x3f) */ + #define R_ADC_B0_ADCNVSTR_CST1_Pos (8UL) /*!< CST1 (Bit 8) */ + #define R_ADC_B0_ADCNVSTR_CST1_Msk (0x3f00UL) /*!< CST1 (Bitfield-Mask: 0x3f) */ +/* ======================================================= ADCALSTCR ======================================================= */ + #define R_ADC_B0_ADCALSTCR_CALADSST_Pos (0UL) /*!< CALADSST (Bit 0) */ + #define R_ADC_B0_ADCALSTCR_CALADSST_Msk (0x3ffUL) /*!< CALADSST (Bitfield-Mask: 0x3ff) */ + #define R_ADC_B0_ADCALSTCR_CALADCST_Pos (16UL) /*!< CALADCST (Bit 16) */ + #define R_ADC_B0_ADCALSTCR_CALADCST_Msk (0x3f0000UL) /*!< CALADCST (Bitfield-Mask: 0x3f) */ +/* ======================================================== ADSHCR0 ======================================================== */ + #define R_ADC_B0_ADSHCR0_SHEN0_Pos (0UL) /*!< SHEN0 (Bit 0) */ + #define R_ADC_B0_ADSHCR0_SHEN0_Msk (0x1UL) /*!< SHEN0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSHCR0_SHEN1_Pos (1UL) /*!< SHEN1 (Bit 1) */ + #define R_ADC_B0_ADSHCR0_SHEN1_Msk (0x2UL) /*!< SHEN1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSHCR0_SHEN2_Pos (2UL) /*!< SHEN2 (Bit 2) */ + #define R_ADC_B0_ADSHCR0_SHEN2_Msk (0x4UL) /*!< SHEN2 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADSHSTR0 ======================================================== */ + #define R_ADC_B0_ADSHSTR0_SHSST_Pos (0UL) /*!< SHSST (Bit 0) */ + #define R_ADC_B0_ADSHSTR0_SHSST_Msk (0xffUL) /*!< SHSST (Bitfield-Mask: 0xff) */ + #define R_ADC_B0_ADSHSTR0_SHHST_Pos (16UL) /*!< SHHST (Bit 16) */ + #define R_ADC_B0_ADSHSTR0_SHHST_Msk (0x70000UL) /*!< SHHST (Bitfield-Mask: 0x07) */ +/* ======================================================== ADSHCR1 ======================================================== */ + #define R_ADC_B0_ADSHCR1_SHEN4_Pos (0UL) /*!< SHEN4 (Bit 0) */ + #define R_ADC_B0_ADSHCR1_SHEN4_Msk (0x1UL) /*!< SHEN4 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSHCR1_SHEN5_Pos (1UL) /*!< SHEN5 (Bit 1) */ + #define R_ADC_B0_ADSHCR1_SHEN5_Msk (0x2UL) /*!< SHEN5 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSHCR1_SHEN6_Pos (2UL) /*!< SHEN6 (Bit 2) */ + #define R_ADC_B0_ADSHCR1_SHEN6_Msk (0x4UL) /*!< SHEN6 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADSHSTR1 ======================================================== */ + #define R_ADC_B0_ADSHSTR1_SHSST_Pos (0UL) /*!< SHSST (Bit 0) */ + #define R_ADC_B0_ADSHSTR1_SHSST_Msk (0xffUL) /*!< SHSST (Bitfield-Mask: 0xff) */ + #define R_ADC_B0_ADSHSTR1_SHHST_Pos (16UL) /*!< SHHST (Bit 16) */ + #define R_ADC_B0_ADSHSTR1_SHHST_Msk (0x70000UL) /*!< SHHST (Bitfield-Mask: 0x07) */ +/* ======================================================= ADCALSHCR ======================================================= */ + #define R_ADC_B0_ADCALSHCR_CALSHSST_Pos (0UL) /*!< CALSHSST (Bit 0) */ + #define R_ADC_B0_ADCALSHCR_CALSHSST_Msk (0xffUL) /*!< CALSHSST (Bitfield-Mask: 0xff) */ + #define R_ADC_B0_ADCALSHCR_CALSHHST_Pos (16UL) /*!< CALSHHST (Bit 16) */ + #define R_ADC_B0_ADCALSHCR_CALSHHST_Msk (0x70000UL) /*!< CALSHHST (Bitfield-Mask: 0x07) */ +/* ======================================================== ADPGACR ======================================================== */ + #define R_ADC_B0_ADPGACR_PGADEN_Pos (1UL) /*!< PGADEN (Bit 1) */ + #define R_ADC_B0_ADPGACR_PGADEN_Msk (0x2UL) /*!< PGADEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADPGACR_PGASEL1_Pos (2UL) /*!< PGASEL1 (Bit 2) */ + #define R_ADC_B0_ADPGACR_PGASEL1_Msk (0x4UL) /*!< PGASEL1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADPGACR_PGAENAMP_Pos (3UL) /*!< PGAENAMP (Bit 3) */ + #define R_ADC_B0_ADPGACR_PGAENAMP_Msk (0x8UL) /*!< PGAENAMP (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADPGACR_PGAGEN_Pos (16UL) /*!< PGAGEN (Bit 16) */ + #define R_ADC_B0_ADPGACR_PGAGEN_Msk (0x10000UL) /*!< PGAGEN (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADPGACR_PGADG_Pos (20UL) /*!< PGADG (Bit 20) */ + #define R_ADC_B0_ADPGACR_PGADG_Msk (0x300000UL) /*!< PGADG (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADPGACR_PGAGAIN_Pos (24UL) /*!< PGAGAIN (Bit 24) */ + #define R_ADC_B0_ADPGACR_PGAGAIN_Msk (0xf000000UL) /*!< PGAGAIN (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADPGAMONCR ======================================================= */ + #define R_ADC_B0_ADPGAMONCR_PGAMON_Pos (0UL) /*!< PGAMON (Bit 0) */ + #define R_ADC_B0_ADPGAMONCR_PGAMON_Msk (0x7UL) /*!< PGAMON (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADPGAMONCR_MONSEL0_Pos (16UL) /*!< MONSEL0 (Bit 16) */ + #define R_ADC_B0_ADPGAMONCR_MONSEL0_Msk (0x10000UL) /*!< MONSEL0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADPGAMONCR_MONSEL1_Pos (17UL) /*!< MONSEL1 (Bit 17) */ + #define R_ADC_B0_ADPGAMONCR_MONSEL1_Msk (0x20000UL) /*!< MONSEL1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADPGAMONCR_MONSEL2_Pos (18UL) /*!< MONSEL2 (Bit 18) */ + #define R_ADC_B0_ADPGAMONCR_MONSEL2_Msk (0x40000UL) /*!< MONSEL2 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADPGAMONCR_MONSEL3_Pos (19UL) /*!< MONSEL3 (Bit 19) */ + #define R_ADC_B0_ADPGAMONCR_MONSEL3_Msk (0x80000UL) /*!< MONSEL3 (Bitfield-Mask: 0x01) */ +/* ======================================================== ADREFCR ======================================================== */ + #define R_ADC_B0_ADREFCR_VDE_Pos (0UL) /*!< VDE (Bit 0) */ + #define R_ADC_B0_ADREFCR_VDE_Msk (0x1UL) /*!< VDE (Bitfield-Mask: 0x01) */ +/* ======================================================= ADUOFTR0 ======================================================== */ + #define R_ADC_B0_ADUOFTR0_UOFSET_Pos (0UL) /*!< UOFSET (Bit 0) */ + #define R_ADC_B0_ADUOFTR0_UOFSET_Msk (0xffffUL) /*!< UOFSET (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADUOFTR1 ======================================================== */ + #define R_ADC_B0_ADUOFTR1_UOFSET_Pos (0UL) /*!< UOFSET (Bit 0) */ + #define R_ADC_B0_ADUOFTR1_UOFSET_Msk (0xffffUL) /*!< UOFSET (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADUOFTR2 ======================================================== */ + #define R_ADC_B0_ADUOFTR2_UOFSET_Pos (0UL) /*!< UOFSET (Bit 0) */ + #define R_ADC_B0_ADUOFTR2_UOFSET_Msk (0xffffUL) /*!< UOFSET (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADUOFTR3 ======================================================== */ + #define R_ADC_B0_ADUOFTR3_UOFSET_Pos (0UL) /*!< UOFSET (Bit 0) */ + #define R_ADC_B0_ADUOFTR3_UOFSET_Msk (0xffffUL) /*!< UOFSET (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADUOFTR4 ======================================================== */ + #define R_ADC_B0_ADUOFTR4_UOFSET_Pos (0UL) /*!< UOFSET (Bit 0) */ + #define R_ADC_B0_ADUOFTR4_UOFSET_Msk (0xffffUL) /*!< UOFSET (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADUOFTR5 ======================================================== */ + #define R_ADC_B0_ADUOFTR5_UOFSET_Pos (0UL) /*!< UOFSET (Bit 0) */ + #define R_ADC_B0_ADUOFTR5_UOFSET_Msk (0xffffUL) /*!< UOFSET (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADUOFTR6 ======================================================== */ + #define R_ADC_B0_ADUOFTR6_UOFSET_Pos (0UL) /*!< UOFSET (Bit 0) */ + #define R_ADC_B0_ADUOFTR6_UOFSET_Msk (0xffffUL) /*!< UOFSET (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADUOFTR7 ======================================================== */ + #define R_ADC_B0_ADUOFTR7_UOFSET_Pos (0UL) /*!< UOFSET (Bit 0) */ + #define R_ADC_B0_ADUOFTR7_UOFSET_Msk (0xffffUL) /*!< UOFSET (Bitfield-Mask: 0xffff) */ +/* ======================================================== ADUGTR0 ======================================================== */ + #define R_ADC_B0_ADUGTR0_UGAIN_Pos (0UL) /*!< UGAIN (Bit 0) */ + #define R_ADC_B0_ADUGTR0_UGAIN_Msk (0xffffffUL) /*!< UGAIN (Bitfield-Mask: 0xffffff) */ +/* ======================================================== ADUGTR1 ======================================================== */ + #define R_ADC_B0_ADUGTR1_UGAIN_Pos (0UL) /*!< UGAIN (Bit 0) */ + #define R_ADC_B0_ADUGTR1_UGAIN_Msk (0xffffffUL) /*!< UGAIN (Bitfield-Mask: 0xffffff) */ +/* ======================================================== ADUGTR2 ======================================================== */ + #define R_ADC_B0_ADUGTR2_UGAIN_Pos (0UL) /*!< UGAIN (Bit 0) */ + #define R_ADC_B0_ADUGTR2_UGAIN_Msk (0xffffffUL) /*!< UGAIN (Bitfield-Mask: 0xffffff) */ +/* ======================================================== ADUGTR3 ======================================================== */ + #define R_ADC_B0_ADUGTR3_UGAIN_Pos (0UL) /*!< UGAIN (Bit 0) */ + #define R_ADC_B0_ADUGTR3_UGAIN_Msk (0xffffffUL) /*!< UGAIN (Bitfield-Mask: 0xffffff) */ +/* ======================================================== ADUGTR4 ======================================================== */ + #define R_ADC_B0_ADUGTR4_UGAIN_Pos (0UL) /*!< UGAIN (Bit 0) */ + #define R_ADC_B0_ADUGTR4_UGAIN_Msk (0xffffffUL) /*!< UGAIN (Bitfield-Mask: 0xffffff) */ +/* ======================================================== ADUGTR5 ======================================================== */ + #define R_ADC_B0_ADUGTR5_UGAIN_Pos (0UL) /*!< UGAIN (Bit 0) */ + #define R_ADC_B0_ADUGTR5_UGAIN_Msk (0xffffffUL) /*!< UGAIN (Bitfield-Mask: 0xffffff) */ +/* ======================================================== ADUGTR6 ======================================================== */ + #define R_ADC_B0_ADUGTR6_UGAIN_Pos (0UL) /*!< UGAIN (Bit 0) */ + #define R_ADC_B0_ADUGTR6_UGAIN_Msk (0xffffffUL) /*!< UGAIN (Bitfield-Mask: 0xffffff) */ +/* ======================================================== ADUGTR7 ======================================================== */ + #define R_ADC_B0_ADUGTR7_UGAIN_Pos (0UL) /*!< UGAIN (Bit 0) */ + #define R_ADC_B0_ADUGTR7_UGAIN_Msk (0xffffffUL) /*!< UGAIN (Bitfield-Mask: 0xffffff) */ +/* ====================================================== ADLIMINTCR ======================================================= */ + #define R_ADC_B0_ADLIMINTCR_LIMIEn_Pos (0UL) /*!< LIMIEn (Bit 0) */ + #define R_ADC_B0_ADLIMINTCR_LIMIEn_Msk (0x1ffUL) /*!< LIMIEn (Bitfield-Mask: 0x1ff) */ +/* ======================================================= ADLIMTR0 ======================================================== */ + #define R_ADC_B0_ADLIMTR0_LIML_Pos (0UL) /*!< LIML (Bit 0) */ + #define R_ADC_B0_ADLIMTR0_LIML_Msk (0xffffUL) /*!< LIML (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADLIMTR0_LIMU_Pos (16UL) /*!< LIMU (Bit 16) */ + #define R_ADC_B0_ADLIMTR0_LIMU_Msk (0xffff0000UL) /*!< LIMU (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADLIMTR1 ======================================================== */ + #define R_ADC_B0_ADLIMTR1_LIML_Pos (0UL) /*!< LIML (Bit 0) */ + #define R_ADC_B0_ADLIMTR1_LIML_Msk (0xffffUL) /*!< LIML (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADLIMTR1_LIMU_Pos (16UL) /*!< LIMU (Bit 16) */ + #define R_ADC_B0_ADLIMTR1_LIMU_Msk (0xffff0000UL) /*!< LIMU (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADLIMTR2 ======================================================== */ + #define R_ADC_B0_ADLIMTR2_LIML_Pos (0UL) /*!< LIML (Bit 0) */ + #define R_ADC_B0_ADLIMTR2_LIML_Msk (0xffffUL) /*!< LIML (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADLIMTR2_LIMU_Pos (16UL) /*!< LIMU (Bit 16) */ + #define R_ADC_B0_ADLIMTR2_LIMU_Msk (0xffff0000UL) /*!< LIMU (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADLIMTR3 ======================================================== */ + #define R_ADC_B0_ADLIMTR3_LIML_Pos (0UL) /*!< LIML (Bit 0) */ + #define R_ADC_B0_ADLIMTR3_LIML_Msk (0xffffUL) /*!< LIML (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADLIMTR3_LIMU_Pos (16UL) /*!< LIMU (Bit 16) */ + #define R_ADC_B0_ADLIMTR3_LIMU_Msk (0xffff0000UL) /*!< LIMU (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADLIMTR4 ======================================================== */ + #define R_ADC_B0_ADLIMTR4_LIML_Pos (0UL) /*!< LIML (Bit 0) */ + #define R_ADC_B0_ADLIMTR4_LIML_Msk (0xffffUL) /*!< LIML (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADLIMTR4_LIMU_Pos (16UL) /*!< LIMU (Bit 16) */ + #define R_ADC_B0_ADLIMTR4_LIMU_Msk (0xffff0000UL) /*!< LIMU (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADLIMTR5 ======================================================== */ + #define R_ADC_B0_ADLIMTR5_LIML_Pos (0UL) /*!< LIML (Bit 0) */ + #define R_ADC_B0_ADLIMTR5_LIML_Msk (0xffffUL) /*!< LIML (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADLIMTR5_LIMU_Pos (16UL) /*!< LIMU (Bit 16) */ + #define R_ADC_B0_ADLIMTR5_LIMU_Msk (0xffff0000UL) /*!< LIMU (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADLIMTR6 ======================================================== */ + #define R_ADC_B0_ADLIMTR6_LIML_Pos (0UL) /*!< LIML (Bit 0) */ + #define R_ADC_B0_ADLIMTR6_LIML_Msk (0xffffUL) /*!< LIML (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADLIMTR6_LIMU_Pos (16UL) /*!< LIMU (Bit 16) */ + #define R_ADC_B0_ADLIMTR6_LIMU_Msk (0xffff0000UL) /*!< LIMU (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADLIMTR7 ======================================================== */ + #define R_ADC_B0_ADLIMTR7_LIML_Pos (0UL) /*!< LIML (Bit 0) */ + #define R_ADC_B0_ADLIMTR7_LIML_Msk (0xffffUL) /*!< LIML (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADLIMTR7_LIMU_Pos (16UL) /*!< LIMU (Bit 16) */ + #define R_ADC_B0_ADLIMTR7_LIMU_Msk (0xffff0000UL) /*!< LIMU (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADCMPENR ======================================================== */ + #define R_ADC_B0_ADCMPENR_CMPENn_Pos (0UL) /*!< CMPENn (Bit 0) */ + #define R_ADC_B0_ADCMPENR_CMPENn_Msk (0xffUL) /*!< CMPENn (Bitfield-Mask: 0xff) */ +/* ====================================================== ADCMPINTCR ======================================================= */ + #define R_ADC_B0_ADCMPINTCR_CMPIEn_Pos (0UL) /*!< CMPIEn (Bit 0) */ + #define R_ADC_B0_ADCMPINTCR_CMPIEn_Msk (0xfUL) /*!< CMPIEn (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCCMPCR0 ======================================================= */ + #define R_ADC_B0_ADCCMPCR0_CCMPCND_Pos (0UL) /*!< CCMPCND (Bit 0) */ + #define R_ADC_B0_ADCCMPCR0_CCMPCND_Msk (0x3UL) /*!< CCMPCND (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADCCMPCR0_CCMPTBLm_Pos (16UL) /*!< CCMPTBLm (Bit 16) */ + #define R_ADC_B0_ADCCMPCR0_CCMPTBLm_Msk (0xff0000UL) /*!< CCMPTBLm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADCCMPCR1 ======================================================= */ + #define R_ADC_B0_ADCCMPCR1_CCMPCND_Pos (0UL) /*!< CCMPCND (Bit 0) */ + #define R_ADC_B0_ADCCMPCR1_CCMPCND_Msk (0x3UL) /*!< CCMPCND (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADCCMPCR1_CCMPTBLm_Pos (16UL) /*!< CCMPTBLm (Bit 16) */ + #define R_ADC_B0_ADCCMPCR1_CCMPTBLm_Msk (0xff0000UL) /*!< CCMPTBLm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADCMPMDR0 ======================================================= */ + #define R_ADC_B0_ADCMPMDR0_CMPMD0_Pos (0UL) /*!< CMPMD0 (Bit 0) */ + #define R_ADC_B0_ADCMPMDR0_CMPMD0_Msk (0x3UL) /*!< CMPMD0 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADCMPMDR0_CMPMD1_Pos (8UL) /*!< CMPMD1 (Bit 8) */ + #define R_ADC_B0_ADCMPMDR0_CMPMD1_Msk (0x300UL) /*!< CMPMD1 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADCMPMDR0_CMPMD2_Pos (16UL) /*!< CMPMD2 (Bit 16) */ + #define R_ADC_B0_ADCMPMDR0_CMPMD2_Msk (0x30000UL) /*!< CMPMD2 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADCMPMDR0_CMPMD3_Pos (24UL) /*!< CMPMD3 (Bit 24) */ + #define R_ADC_B0_ADCMPMDR0_CMPMD3_Msk (0x3000000UL) /*!< CMPMD3 (Bitfield-Mask: 0x03) */ +/* ======================================================= ADCMPMDR1 ======================================================= */ + #define R_ADC_B0_ADCMPMDR1_CMPMD4_Pos (0UL) /*!< CMPMD4 (Bit 0) */ + #define R_ADC_B0_ADCMPMDR1_CMPMD4_Msk (0x3UL) /*!< CMPMD4 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADCMPMDR1_CMPMD5_Pos (8UL) /*!< CMPMD5 (Bit 8) */ + #define R_ADC_B0_ADCMPMDR1_CMPMD5_Msk (0x300UL) /*!< CMPMD5 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADCMPMDR1_CMPMD6_Pos (16UL) /*!< CMPMD6 (Bit 16) */ + #define R_ADC_B0_ADCMPMDR1_CMPMD6_Msk (0x30000UL) /*!< CMPMD6 (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADCMPMDR1_CMPMD7_Pos (24UL) /*!< CMPMD7 (Bit 24) */ + #define R_ADC_B0_ADCMPMDR1_CMPMD7_Msk (0x3000000UL) /*!< CMPMD7 (Bitfield-Mask: 0x03) */ +/* ======================================================= ADCMPTBR0 ======================================================= */ + #define R_ADC_B0_ADCMPTBR0_CMPTBL_Pos (0UL) /*!< CMPTBL (Bit 0) */ + #define R_ADC_B0_ADCMPTBR0_CMPTBL_Msk (0xffffUL) /*!< CMPTBL (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADCMPTBR0_CMPTBH_Pos (16UL) /*!< CMPTBH (Bit 16) */ + #define R_ADC_B0_ADCMPTBR0_CMPTBH_Msk (0xffff0000UL) /*!< CMPTBH (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADCMPTBR1 ======================================================= */ + #define R_ADC_B0_ADCMPTBR1_CMPTBL_Pos (0UL) /*!< CMPTBL (Bit 0) */ + #define R_ADC_B0_ADCMPTBR1_CMPTBL_Msk (0xffffUL) /*!< CMPTBL (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADCMPTBR1_CMPTBH_Pos (16UL) /*!< CMPTBH (Bit 16) */ + #define R_ADC_B0_ADCMPTBR1_CMPTBH_Msk (0xffff0000UL) /*!< CMPTBH (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADCMPTBR2 ======================================================= */ + #define R_ADC_B0_ADCMPTBR2_CMPTBL_Pos (0UL) /*!< CMPTBL (Bit 0) */ + #define R_ADC_B0_ADCMPTBR2_CMPTBL_Msk (0xffffUL) /*!< CMPTBL (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADCMPTBR2_CMPTBH_Pos (16UL) /*!< CMPTBH (Bit 16) */ + #define R_ADC_B0_ADCMPTBR2_CMPTBH_Msk (0xffff0000UL) /*!< CMPTBH (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADCMPTBR3 ======================================================= */ + #define R_ADC_B0_ADCMPTBR3_CMPTBL_Pos (0UL) /*!< CMPTBL (Bit 0) */ + #define R_ADC_B0_ADCMPTBR3_CMPTBL_Msk (0xffffUL) /*!< CMPTBL (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADCMPTBR3_CMPTBH_Pos (16UL) /*!< CMPTBH (Bit 16) */ + #define R_ADC_B0_ADCMPTBR3_CMPTBH_Msk (0xffff0000UL) /*!< CMPTBH (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADCMPTBR4 ======================================================= */ + #define R_ADC_B0_ADCMPTBR4_CMPTBL_Pos (0UL) /*!< CMPTBL (Bit 0) */ + #define R_ADC_B0_ADCMPTBR4_CMPTBL_Msk (0xffffUL) /*!< CMPTBL (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADCMPTBR4_CMPTBH_Pos (16UL) /*!< CMPTBH (Bit 16) */ + #define R_ADC_B0_ADCMPTBR4_CMPTBH_Msk (0xffff0000UL) /*!< CMPTBH (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADCMPTBR5 ======================================================= */ + #define R_ADC_B0_ADCMPTBR5_CMPTBL_Pos (0UL) /*!< CMPTBL (Bit 0) */ + #define R_ADC_B0_ADCMPTBR5_CMPTBL_Msk (0xffffUL) /*!< CMPTBL (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADCMPTBR5_CMPTBH_Pos (16UL) /*!< CMPTBH (Bit 16) */ + #define R_ADC_B0_ADCMPTBR5_CMPTBH_Msk (0xffff0000UL) /*!< CMPTBH (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADCMPTBR6 ======================================================= */ + #define R_ADC_B0_ADCMPTBR6_CMPTBL_Pos (0UL) /*!< CMPTBL (Bit 0) */ + #define R_ADC_B0_ADCMPTBR6_CMPTBL_Msk (0xffffUL) /*!< CMPTBL (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADCMPTBR6_CMPTBH_Pos (16UL) /*!< CMPTBH (Bit 16) */ + #define R_ADC_B0_ADCMPTBR6_CMPTBH_Msk (0xffff0000UL) /*!< CMPTBH (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADCMPTBR7 ======================================================= */ + #define R_ADC_B0_ADCMPTBR7_CMPTBL_Pos (0UL) /*!< CMPTBL (Bit 0) */ + #define R_ADC_B0_ADCMPTBR7_CMPTBL_Msk (0xffffUL) /*!< CMPTBL (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADCMPTBR7_CMPTBH_Pos (16UL) /*!< CMPTBH (Bit 16) */ + #define R_ADC_B0_ADCMPTBR7_CMPTBH_Msk (0xffff0000UL) /*!< CMPTBH (Bitfield-Mask: 0xffff) */ +/* ======================================================= ADFIFOCR ======================================================== */ + #define R_ADC_B0_ADFIFOCR_FIFOEN0_Pos (0UL) /*!< FIFOEN0 (Bit 0) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN0_Msk (0x1UL) /*!< FIFOEN0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN1_Pos (1UL) /*!< FIFOEN1 (Bit 1) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN1_Msk (0x2UL) /*!< FIFOEN1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN2_Pos (2UL) /*!< FIFOEN2 (Bit 2) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN2_Msk (0x4UL) /*!< FIFOEN2 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN3_Pos (3UL) /*!< FIFOEN3 (Bit 3) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN3_Msk (0x8UL) /*!< FIFOEN3 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN4_Pos (4UL) /*!< FIFOEN4 (Bit 4) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN4_Msk (0x10UL) /*!< FIFOEN4 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN5_Pos (5UL) /*!< FIFOEN5 (Bit 5) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN5_Msk (0x20UL) /*!< FIFOEN5 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN6_Pos (6UL) /*!< FIFOEN6 (Bit 6) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN6_Msk (0x40UL) /*!< FIFOEN6 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN7_Pos (7UL) /*!< FIFOEN7 (Bit 7) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN7_Msk (0x80UL) /*!< FIFOEN7 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN8_Pos (8UL) /*!< FIFOEN8 (Bit 8) */ + #define R_ADC_B0_ADFIFOCR_FIFOEN8_Msk (0x100UL) /*!< FIFOEN8 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADFIFOINTCR ====================================================== */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE0_Pos (0UL) /*!< FIFOIE0 (Bit 0) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE0_Msk (0x1UL) /*!< FIFOIE0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE1_Pos (1UL) /*!< FIFOIE1 (Bit 1) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE1_Msk (0x2UL) /*!< FIFOIE1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE2_Pos (2UL) /*!< FIFOIE2 (Bit 2) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE2_Msk (0x4UL) /*!< FIFOIE2 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE3_Pos (3UL) /*!< FIFOIE3 (Bit 3) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE3_Msk (0x8UL) /*!< FIFOIE3 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE4_Pos (4UL) /*!< FIFOIE4 (Bit 4) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE4_Msk (0x10UL) /*!< FIFOIE4 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE5_Pos (5UL) /*!< FIFOIE5 (Bit 5) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE5_Msk (0x20UL) /*!< FIFOIE5 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE6_Pos (6UL) /*!< FIFOIE6 (Bit 6) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE6_Msk (0x40UL) /*!< FIFOIE6 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE7_Pos (7UL) /*!< FIFOIE7 (Bit 7) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE7_Msk (0x80UL) /*!< FIFOIE7 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE8_Pos (8UL) /*!< FIFOIE8 (Bit 8) */ + #define R_ADC_B0_ADFIFOINTCR_FIFOIE8_Msk (0x100UL) /*!< FIFOIE8 (Bitfield-Mask: 0x01) */ +/* ===================================================== ADFIFOINTLR0 ====================================================== */ + #define R_ADC_B0_ADFIFOINTLR0_FIFOILV0_Pos (0UL) /*!< FIFOILV0 (Bit 0) */ + #define R_ADC_B0_ADFIFOINTLR0_FIFOILV0_Msk (0xfUL) /*!< FIFOILV0 (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADFIFOINTLR0_FIFOILV1_Pos (16UL) /*!< FIFOILV1 (Bit 16) */ + #define R_ADC_B0_ADFIFOINTLR0_FIFOILV1_Msk (0xf0000UL) /*!< FIFOILV1 (Bitfield-Mask: 0x0f) */ +/* ===================================================== ADFIFOINTLR1 ====================================================== */ + #define R_ADC_B0_ADFIFOINTLR1_FIFOILV2_Pos (0UL) /*!< FIFOILV2 (Bit 0) */ + #define R_ADC_B0_ADFIFOINTLR1_FIFOILV2_Msk (0xfUL) /*!< FIFOILV2 (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADFIFOINTLR1_FIFOILV3_Pos (16UL) /*!< FIFOILV3 (Bit 16) */ + #define R_ADC_B0_ADFIFOINTLR1_FIFOILV3_Msk (0xf0000UL) /*!< FIFOILV3 (Bitfield-Mask: 0x0f) */ +/* ===================================================== ADFIFOINTLR2 ====================================================== */ + #define R_ADC_B0_ADFIFOINTLR2_FIFOILV4_Pos (0UL) /*!< FIFOILV4 (Bit 0) */ + #define R_ADC_B0_ADFIFOINTLR2_FIFOILV4_Msk (0xfUL) /*!< FIFOILV4 (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADFIFOINTLR2_FIFOILV5_Pos (16UL) /*!< FIFOILV5 (Bit 16) */ + #define R_ADC_B0_ADFIFOINTLR2_FIFOILV5_Msk (0xf0000UL) /*!< FIFOILV5 (Bitfield-Mask: 0x0f) */ +/* ===================================================== ADFIFOINTLR3 ====================================================== */ + #define R_ADC_B0_ADFIFOINTLR3_FIFOILV6_Pos (0UL) /*!< FIFOILV6 (Bit 0) */ + #define R_ADC_B0_ADFIFOINTLR3_FIFOILV6_Msk (0xfUL) /*!< FIFOILV6 (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADFIFOINTLR3_FIFOILV7_Pos (16UL) /*!< FIFOILV7 (Bit 16) */ + #define R_ADC_B0_ADFIFOINTLR3_FIFOILV7_Msk (0xf0000UL) /*!< FIFOILV7 (Bitfield-Mask: 0x0f) */ +/* ===================================================== ADFIFOINTLR4 ====================================================== */ + #define R_ADC_B0_ADFIFOINTLR4_FIFOILV8_Pos (0UL) /*!< FIFOILV8 (Bit 0) */ + #define R_ADC_B0_ADFIFOINTLR4_FIFOILV8_Msk (0xfUL) /*!< FIFOILV8 (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR0 ======================================================== */ + #define R_ADC_B0_ADCHCR0_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR0_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR0_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR0_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR0_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR0_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR0_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR0_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR1 ======================================================== */ + #define R_ADC_B0_ADCHCR1_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR1_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR1_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR1_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR1_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR1_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR1_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR1_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR2 ======================================================== */ + #define R_ADC_B0_ADCHCR2_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR2_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR2_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR2_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR2_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR2_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR2_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR2_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR3 ======================================================== */ + #define R_ADC_B0_ADCHCR3_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR3_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR3_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR3_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR3_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR3_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR3_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR3_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR4 ======================================================== */ + #define R_ADC_B0_ADCHCR4_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR4_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR4_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR4_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR4_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR4_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR4_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR4_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR5 ======================================================== */ + #define R_ADC_B0_ADCHCR5_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR5_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR5_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR5_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR5_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR5_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR5_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR5_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR6 ======================================================== */ + #define R_ADC_B0_ADCHCR6_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR6_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR6_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR6_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR6_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR6_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR6_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR6_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR7 ======================================================== */ + #define R_ADC_B0_ADCHCR7_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR7_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR7_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR7_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR7_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR7_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR7_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR7_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR8 ======================================================== */ + #define R_ADC_B0_ADCHCR8_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR8_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR8_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR8_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR8_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR8_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR8_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR8_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================== ADCHCR9 ======================================================== */ + #define R_ADC_B0_ADCHCR9_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR9_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR9_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR9_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR9_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR9_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR9_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR9_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR10 ======================================================== */ + #define R_ADC_B0_ADCHCR10_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR10_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR10_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR10_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR10_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR10_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR10_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR10_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR11 ======================================================== */ + #define R_ADC_B0_ADCHCR11_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR11_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR11_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR11_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR11_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR11_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR11_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR11_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR12 ======================================================== */ + #define R_ADC_B0_ADCHCR12_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR12_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR12_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR12_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR12_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR12_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR12_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR12_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR13 ======================================================== */ + #define R_ADC_B0_ADCHCR13_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR13_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR13_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR13_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR13_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR13_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR13_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR13_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR14 ======================================================== */ + #define R_ADC_B0_ADCHCR14_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR14_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR14_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR14_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR14_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR14_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR14_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR14_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR15 ======================================================== */ + #define R_ADC_B0_ADCHCR15_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR15_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR15_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR15_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR15_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR15_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR15_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR15_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR16 ======================================================== */ + #define R_ADC_B0_ADCHCR16_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR16_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR16_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR16_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR16_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR16_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR16_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR16_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR17 ======================================================== */ + #define R_ADC_B0_ADCHCR17_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR17_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR17_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR17_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR17_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR17_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR17_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR17_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR18 ======================================================== */ + #define R_ADC_B0_ADCHCR18_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR18_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR18_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR18_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR18_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR18_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR18_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR18_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR19 ======================================================== */ + #define R_ADC_B0_ADCHCR19_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR19_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR19_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR19_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR19_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR19_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR19_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR19_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR20 ======================================================== */ + #define R_ADC_B0_ADCHCR20_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR20_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR20_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR20_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR20_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR20_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR20_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR20_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR21 ======================================================== */ + #define R_ADC_B0_ADCHCR21_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR21_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR21_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR21_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR21_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR21_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR21_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR21_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR22 ======================================================== */ + #define R_ADC_B0_ADCHCR22_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR22_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR22_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR22_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR22_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR22_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR22_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR22_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR23 ======================================================== */ + #define R_ADC_B0_ADCHCR23_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR23_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR23_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR23_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR23_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR23_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR23_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR23_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR24 ======================================================== */ + #define R_ADC_B0_ADCHCR24_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR24_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR24_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR24_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR24_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR24_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR24_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR24_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR25 ======================================================== */ + #define R_ADC_B0_ADCHCR25_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR25_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR25_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR25_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR25_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR25_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR25_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR25_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR26 ======================================================== */ + #define R_ADC_B0_ADCHCR26_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR26_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR26_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR26_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR26_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR26_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR26_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR26_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR27 ======================================================== */ + #define R_ADC_B0_ADCHCR27_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR27_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR27_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR27_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR27_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR27_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR27_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR27_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR28 ======================================================== */ + #define R_ADC_B0_ADCHCR28_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR28_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR28_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR28_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR28_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR28_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR28_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR28_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR29 ======================================================== */ + #define R_ADC_B0_ADCHCR29_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR29_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR29_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR29_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR29_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR29_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR29_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR29_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR30 ======================================================== */ + #define R_ADC_B0_ADCHCR30_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR30_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR30_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR30_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR30_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR30_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR30_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR30_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR31 ======================================================== */ + #define R_ADC_B0_ADCHCR31_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR31_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR31_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR31_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR31_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR31_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR31_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR31_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR32 ======================================================== */ + #define R_ADC_B0_ADCHCR32_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR32_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR32_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR32_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR32_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR32_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR32_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR32_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR33 ======================================================== */ + #define R_ADC_B0_ADCHCR33_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR33_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR33_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR33_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR33_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR33_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR33_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR33_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR34 ======================================================== */ + #define R_ADC_B0_ADCHCR34_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR34_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR34_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR34_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR34_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR34_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR34_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR34_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR35 ======================================================== */ + #define R_ADC_B0_ADCHCR35_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR35_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR35_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR35_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR35_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR35_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR35_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR35_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADCHCR36 ======================================================== */ + #define R_ADC_B0_ADCHCR36_SGSEL_Pos (0UL) /*!< SGSEL (Bit 0) */ + #define R_ADC_B0_ADCHCR36_SGSEL_Msk (0x1fUL) /*!< SGSEL (Bitfield-Mask: 0x1f) */ + #define R_ADC_B0_ADCHCR36_CNVCS_Pos (8UL) /*!< CNVCS (Bit 8) */ + #define R_ADC_B0_ADCHCR36_CNVCS_Msk (0x7f00UL) /*!< CNVCS (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADCHCR36_AINMD_Pos (15UL) /*!< AINMD (Bit 15) */ + #define R_ADC_B0_ADCHCR36_AINMD_Msk (0x8000UL) /*!< AINMD (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCHCR36_SSTSEL_Pos (16UL) /*!< SSTSEL (Bit 16) */ + #define R_ADC_B0_ADCHCR36_SSTSEL_Msk (0xf0000UL) /*!< SSTSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA0 ======================================================= */ + #define R_ADC_B0_ADDOPCRA0_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA0_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA0_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA0_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA1 ======================================================= */ + #define R_ADC_B0_ADDOPCRA1_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA1_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA1_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA1_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA2 ======================================================= */ + #define R_ADC_B0_ADDOPCRA2_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA2_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA2_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA2_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA3 ======================================================= */ + #define R_ADC_B0_ADDOPCRA3_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA3_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA3_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA3_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA4 ======================================================= */ + #define R_ADC_B0_ADDOPCRA4_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA4_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA4_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA4_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA5 ======================================================= */ + #define R_ADC_B0_ADDOPCRA5_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA5_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA5_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA5_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA6 ======================================================= */ + #define R_ADC_B0_ADDOPCRA6_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA6_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA6_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA6_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA7 ======================================================= */ + #define R_ADC_B0_ADDOPCRA7_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA7_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA7_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA7_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA8 ======================================================= */ + #define R_ADC_B0_ADDOPCRA8_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA8_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA8_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA8_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRA9 ======================================================= */ + #define R_ADC_B0_ADDOPCRA9_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA9_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA9_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA9_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA10 ======================================================= */ + #define R_ADC_B0_ADDOPCRA10_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA10_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA10_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA10_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA11 ======================================================= */ + #define R_ADC_B0_ADDOPCRA11_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA11_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA11_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA11_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA12 ======================================================= */ + #define R_ADC_B0_ADDOPCRA12_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA12_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA12_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA12_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA13 ======================================================= */ + #define R_ADC_B0_ADDOPCRA13_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA13_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA13_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA13_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA14 ======================================================= */ + #define R_ADC_B0_ADDOPCRA14_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA14_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA14_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA14_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA15 ======================================================= */ + #define R_ADC_B0_ADDOPCRA15_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA15_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA15_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA15_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA16 ======================================================= */ + #define R_ADC_B0_ADDOPCRA16_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA16_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA16_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA16_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA17 ======================================================= */ + #define R_ADC_B0_ADDOPCRA17_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA17_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA17_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA17_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA18 ======================================================= */ + #define R_ADC_B0_ADDOPCRA18_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA18_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA18_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA18_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA19 ======================================================= */ + #define R_ADC_B0_ADDOPCRA19_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA19_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA19_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA19_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA20 ======================================================= */ + #define R_ADC_B0_ADDOPCRA20_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA20_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA20_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA20_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA21 ======================================================= */ + #define R_ADC_B0_ADDOPCRA21_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA21_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA21_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA21_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA22 ======================================================= */ + #define R_ADC_B0_ADDOPCRA22_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA22_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA22_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA22_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA23 ======================================================= */ + #define R_ADC_B0_ADDOPCRA23_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA23_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA23_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA23_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA24 ======================================================= */ + #define R_ADC_B0_ADDOPCRA24_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA24_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA24_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA24_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA25 ======================================================= */ + #define R_ADC_B0_ADDOPCRA25_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA25_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA25_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA25_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA26 ======================================================= */ + #define R_ADC_B0_ADDOPCRA26_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA26_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA26_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA26_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA27 ======================================================= */ + #define R_ADC_B0_ADDOPCRA27_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA27_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA27_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA27_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA28 ======================================================= */ + #define R_ADC_B0_ADDOPCRA28_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA28_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA28_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA28_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA29 ======================================================= */ + #define R_ADC_B0_ADDOPCRA29_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA29_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA29_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA29_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA30 ======================================================= */ + #define R_ADC_B0_ADDOPCRA30_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA30_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA30_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA30_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA31 ======================================================= */ + #define R_ADC_B0_ADDOPCRA31_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA31_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA31_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA31_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA32 ======================================================= */ + #define R_ADC_B0_ADDOPCRA32_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA32_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA32_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA32_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA33 ======================================================= */ + #define R_ADC_B0_ADDOPCRA33_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA33_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA33_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA33_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA34 ======================================================= */ + #define R_ADC_B0_ADDOPCRA34_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA34_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA34_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA34_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA35 ======================================================= */ + #define R_ADC_B0_ADDOPCRA35_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA35_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA35_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA35_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ====================================================== ADDOPCRA36 ======================================================= */ + #define R_ADC_B0_ADDOPCRA36_GAINSEL_Pos (16UL) /*!< GAINSEL (Bit 16) */ + #define R_ADC_B0_ADDOPCRA36_GAINSEL_Msk (0xf0000UL) /*!< GAINSEL (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRA36_OFSETSEL_Pos (24UL) /*!< OFSETSEL (Bit 24) */ + #define R_ADC_B0_ADDOPCRA36_OFSETSEL_Msk (0xf000000UL) /*!< OFSETSEL (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADDOPCRB0 ======================================================= */ + #define R_ADC_B0_ADDOPCRB0_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB0_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB0_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB0_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB0_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB0_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRB1 ======================================================= */ + #define R_ADC_B0_ADDOPCRB1_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB1_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB1_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB1_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB1_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB1_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRB2 ======================================================= */ + #define R_ADC_B0_ADDOPCRB2_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB2_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB2_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB2_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB2_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB2_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRB3 ======================================================= */ + #define R_ADC_B0_ADDOPCRB3_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB3_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB3_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB3_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB3_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB3_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRB4 ======================================================= */ + #define R_ADC_B0_ADDOPCRB4_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB4_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB4_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB4_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB4_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB4_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRB5 ======================================================= */ + #define R_ADC_B0_ADDOPCRB5_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB5_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB5_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB5_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB5_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB5_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRB6 ======================================================= */ + #define R_ADC_B0_ADDOPCRB6_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB6_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB6_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB6_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB6_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB6_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRB7 ======================================================= */ + #define R_ADC_B0_ADDOPCRB7_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB7_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB7_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB7_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB7_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB7_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRB8 ======================================================= */ + #define R_ADC_B0_ADDOPCRB8_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB8_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB8_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB8_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB8_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB8_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRB9 ======================================================= */ + #define R_ADC_B0_ADDOPCRB9_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB9_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB9_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB9_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB9_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB9_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB10 ======================================================= */ + #define R_ADC_B0_ADDOPCRB10_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB10_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB10_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB10_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB10_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB10_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB11 ======================================================= */ + #define R_ADC_B0_ADDOPCRB11_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB11_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB11_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB11_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB11_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB11_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB12 ======================================================= */ + #define R_ADC_B0_ADDOPCRB12_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB12_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB12_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB12_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB12_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB12_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB13 ======================================================= */ + #define R_ADC_B0_ADDOPCRB13_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB13_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB13_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB13_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB13_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB13_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB14 ======================================================= */ + #define R_ADC_B0_ADDOPCRB14_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB14_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB14_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB14_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB14_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB14_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB15 ======================================================= */ + #define R_ADC_B0_ADDOPCRB15_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB15_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB15_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB15_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB15_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB15_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB16 ======================================================= */ + #define R_ADC_B0_ADDOPCRB16_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB16_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB16_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB16_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB16_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB16_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB17 ======================================================= */ + #define R_ADC_B0_ADDOPCRB17_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB17_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB17_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB17_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB17_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB17_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB18 ======================================================= */ + #define R_ADC_B0_ADDOPCRB18_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB18_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB18_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB18_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB18_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB18_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB19 ======================================================= */ + #define R_ADC_B0_ADDOPCRB19_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB19_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB19_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB19_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB19_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB19_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB20 ======================================================= */ + #define R_ADC_B0_ADDOPCRB20_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB20_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB20_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB20_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB20_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB20_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB21 ======================================================= */ + #define R_ADC_B0_ADDOPCRB21_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB21_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB21_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB21_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB21_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB21_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB22 ======================================================= */ + #define R_ADC_B0_ADDOPCRB22_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB22_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB22_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB22_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB22_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB22_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB23 ======================================================= */ + #define R_ADC_B0_ADDOPCRB23_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB23_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB23_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB23_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB23_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB23_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB24 ======================================================= */ + #define R_ADC_B0_ADDOPCRB24_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB24_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB24_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB24_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB24_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB24_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB25 ======================================================= */ + #define R_ADC_B0_ADDOPCRB25_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB25_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB25_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB25_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB25_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB25_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB26 ======================================================= */ + #define R_ADC_B0_ADDOPCRB26_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB26_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB26_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB26_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB26_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB26_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB27 ======================================================= */ + #define R_ADC_B0_ADDOPCRB27_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB27_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB27_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB27_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB27_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB27_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB28 ======================================================= */ + #define R_ADC_B0_ADDOPCRB28_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB28_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB28_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB28_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB28_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB28_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB29 ======================================================= */ + #define R_ADC_B0_ADDOPCRB29_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB29_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB29_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB29_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB29_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB29_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB30 ======================================================= */ + #define R_ADC_B0_ADDOPCRB30_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB30_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB30_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB30_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB30_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB30_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB31 ======================================================= */ + #define R_ADC_B0_ADDOPCRB31_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB31_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB31_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB31_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB31_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB31_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB32 ======================================================= */ + #define R_ADC_B0_ADDOPCRB32_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB32_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB32_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB32_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB32_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB32_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB33 ======================================================= */ + #define R_ADC_B0_ADDOPCRB33_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB33_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB33_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB33_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB33_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB33_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB34 ======================================================= */ + #define R_ADC_B0_ADDOPCRB34_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB34_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB34_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB34_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB34_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB34_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB35 ======================================================= */ + #define R_ADC_B0_ADDOPCRB35_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB35_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB35_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB35_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB35_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB35_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ====================================================== ADDOPCRB36 ======================================================= */ + #define R_ADC_B0_ADDOPCRB36_AVEMD_Pos (0UL) /*!< AVEMD (Bit 0) */ + #define R_ADC_B0_ADDOPCRB36_AVEMD_Msk (0x3UL) /*!< AVEMD (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRB36_ADC_Pos (8UL) /*!< ADC (Bit 8) */ + #define R_ADC_B0_ADDOPCRB36_ADC_Msk (0xf00UL) /*!< ADC (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRB36_CMPTBLEm_Pos (16UL) /*!< CMPTBLEm (Bit 16) */ + #define R_ADC_B0_ADDOPCRB36_CMPTBLEm_Msk (0xff0000UL) /*!< CMPTBLEm (Bitfield-Mask: 0xff) */ +/* ======================================================= ADDOPCRC0 ======================================================= */ + #define R_ADC_B0_ADDOPCRC0_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC0_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC0_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC0_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC0_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC0_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADDOPCRC1 ======================================================= */ + #define R_ADC_B0_ADDOPCRC1_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC1_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC1_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC1_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC1_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC1_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADDOPCRC2 ======================================================= */ + #define R_ADC_B0_ADDOPCRC2_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC2_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC2_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC2_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC2_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC2_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADDOPCRC3 ======================================================= */ + #define R_ADC_B0_ADDOPCRC3_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC3_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC3_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC3_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC3_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC3_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADDOPCRC4 ======================================================= */ + #define R_ADC_B0_ADDOPCRC4_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC4_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC4_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC4_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC4_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC4_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADDOPCRC5 ======================================================= */ + #define R_ADC_B0_ADDOPCRC5_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC5_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC5_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC5_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC5_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC5_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADDOPCRC6 ======================================================= */ + #define R_ADC_B0_ADDOPCRC6_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC6_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC6_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC6_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC6_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC6_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADDOPCRC7 ======================================================= */ + #define R_ADC_B0_ADDOPCRC7_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC7_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC7_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC7_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC7_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC7_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADDOPCRC8 ======================================================= */ + #define R_ADC_B0_ADDOPCRC8_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC8_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC8_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC8_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC8_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC8_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADDOPCRC9 ======================================================= */ + #define R_ADC_B0_ADDOPCRC9_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC9_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC9_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC9_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC9_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC9_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC10 ======================================================= */ + #define R_ADC_B0_ADDOPCRC10_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC10_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC10_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC10_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC10_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC10_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC11 ======================================================= */ + #define R_ADC_B0_ADDOPCRC11_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC11_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC11_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC11_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC11_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC11_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC12 ======================================================= */ + #define R_ADC_B0_ADDOPCRC12_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC12_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC12_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC12_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC12_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC12_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC13 ======================================================= */ + #define R_ADC_B0_ADDOPCRC13_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC13_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC13_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC13_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC13_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC13_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC14 ======================================================= */ + #define R_ADC_B0_ADDOPCRC14_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC14_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC14_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC14_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC14_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC14_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC15 ======================================================= */ + #define R_ADC_B0_ADDOPCRC15_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC15_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC15_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC15_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC15_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC15_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC16 ======================================================= */ + #define R_ADC_B0_ADDOPCRC16_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC16_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC16_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC16_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC16_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC16_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC17 ======================================================= */ + #define R_ADC_B0_ADDOPCRC17_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC17_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC17_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC17_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC17_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC17_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC18 ======================================================= */ + #define R_ADC_B0_ADDOPCRC18_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC18_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC18_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC18_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC18_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC18_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC19 ======================================================= */ + #define R_ADC_B0_ADDOPCRC19_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC19_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC19_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC19_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC19_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC19_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC20 ======================================================= */ + #define R_ADC_B0_ADDOPCRC20_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC20_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC20_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC20_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC20_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC20_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC21 ======================================================= */ + #define R_ADC_B0_ADDOPCRC21_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC21_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC21_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC21_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC21_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC21_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC22 ======================================================= */ + #define R_ADC_B0_ADDOPCRC22_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC22_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC22_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC22_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC22_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC22_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC23 ======================================================= */ + #define R_ADC_B0_ADDOPCRC23_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC23_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC23_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC23_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC23_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC23_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC24 ======================================================= */ + #define R_ADC_B0_ADDOPCRC24_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC24_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC24_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC24_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC24_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC24_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC25 ======================================================= */ + #define R_ADC_B0_ADDOPCRC25_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC25_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC25_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC25_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC25_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC25_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC26 ======================================================= */ + #define R_ADC_B0_ADDOPCRC26_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC26_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC26_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC26_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC26_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC26_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC27 ======================================================= */ + #define R_ADC_B0_ADDOPCRC27_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC27_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC27_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC27_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC27_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC27_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC28 ======================================================= */ + #define R_ADC_B0_ADDOPCRC28_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC28_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC28_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC28_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC28_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC28_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC29 ======================================================= */ + #define R_ADC_B0_ADDOPCRC29_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC29_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC29_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC29_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC29_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC29_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC30 ======================================================= */ + #define R_ADC_B0_ADDOPCRC30_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC30_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC30_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC30_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC30_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC30_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC31 ======================================================= */ + #define R_ADC_B0_ADDOPCRC31_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC31_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC31_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC31_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC31_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC31_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC32 ======================================================= */ + #define R_ADC_B0_ADDOPCRC32_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC32_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC32_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC32_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC32_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC32_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC33 ======================================================= */ + #define R_ADC_B0_ADDOPCRC33_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC33_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC33_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC33_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC33_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC33_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC34 ======================================================= */ + #define R_ADC_B0_ADDOPCRC34_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC34_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC34_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC34_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC34_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC34_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC35 ======================================================= */ + #define R_ADC_B0_ADDOPCRC35_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC35_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC35_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC35_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC35_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC35_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ====================================================== ADDOPCRC36 ======================================================= */ + #define R_ADC_B0_ADDOPCRC36_LIMTBLS_Pos (0UL) /*!< LIMTBLS (Bit 0) */ + #define R_ADC_B0_ADDOPCRC36_LIMTBLS_Msk (0xfUL) /*!< LIMTBLS (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADDOPCRC36_ADPRC_Pos (16UL) /*!< ADPRC (Bit 16) */ + #define R_ADC_B0_ADDOPCRC36_ADPRC_Msk (0x30000UL) /*!< ADPRC (Bitfield-Mask: 0x03) */ + #define R_ADC_B0_ADDOPCRC36_SIGNSEL_Pos (20UL) /*!< SIGNSEL (Bit 20) */ + #define R_ADC_B0_ADDOPCRC36_SIGNSEL_Msk (0x100000UL) /*!< SIGNSEL (Bitfield-Mask: 0x01) */ +/* ======================================================= ADCALSTR ======================================================== */ + #define R_ADC_B0_ADCALSTR_ADCALST0_Pos (0UL) /*!< ADCALST0 (Bit 0) */ + #define R_ADC_B0_ADCALSTR_ADCALST0_Msk (0x7UL) /*!< ADCALST0 (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADCALSTR_ADCALST1_Pos (8UL) /*!< ADCALST1 (Bit 8) */ + #define R_ADC_B0_ADCALSTR_ADCALST1_Msk (0x700UL) /*!< ADCALST1 (Bitfield-Mask: 0x07) */ +/* ======================================================= ADTRGENR ======================================================== */ + #define R_ADC_B0_ADTRGENR_STTRGENn_Pos (0UL) /*!< STTRGENn (Bit 0) */ + #define R_ADC_B0_ADTRGENR_STTRGENn_Msk (0x1ffUL) /*!< STTRGENn (Bitfield-Mask: 0x1ff) */ +/* ======================================================== ADSYSTR ======================================================== */ + #define R_ADC_B0_ADSYSTR_ADSYSTn_Pos (0UL) /*!< ADSYSTn (Bit 0) */ + #define R_ADC_B0_ADSYSTR_ADSYSTn_Msk (0x1ffUL) /*!< ADSYSTn (Bitfield-Mask: 0x1ff) */ +/* ========================================================= ADSTR ========================================================= */ + #define R_ADC_B0_ADSTR_ADST_Pos (0UL) /*!< ADST (Bit 0) */ + #define R_ADC_B0_ADSTR_ADST_Msk (0x1UL) /*!< ADST (Bitfield-Mask: 0x01) */ +/* ======================================================== ADSTOPR ======================================================== */ + #define R_ADC_B0_ADSTOPR_ADSTOP0_Pos (0UL) /*!< ADSTOP0 (Bit 0) */ + #define R_ADC_B0_ADSTOPR_ADSTOP0_Msk (0x1UL) /*!< ADSTOP0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSTOPR_ADSTOP1_Pos (8UL) /*!< ADSTOP1 (Bit 8) */ + #define R_ADC_B0_ADSTOPR_ADSTOP1_Msk (0x100UL) /*!< ADSTOP1 (Bitfield-Mask: 0x01) */ +/* ========================================================= ADSR ========================================================== */ + #define R_ADC_B0_ADSR_ADACT0_Pos (0UL) /*!< ADACT0 (Bit 0) */ + #define R_ADC_B0_ADSR_ADACT0_Msk (0x1UL) /*!< ADACT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSR_ADACT1_Pos (1UL) /*!< ADACT1 (Bit 1) */ + #define R_ADC_B0_ADSR_ADACT1_Msk (0x2UL) /*!< ADACT1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSR_CALACT0_Pos (16UL) /*!< CALACT0 (Bit 16) */ + #define R_ADC_B0_ADSR_CALACT0_Msk (0x10000UL) /*!< CALACT0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADSR_CALACT1_Pos (17UL) /*!< CALACT1 (Bit 17) */ + #define R_ADC_B0_ADSR_CALACT1_Msk (0x20000UL) /*!< CALACT1 (Bitfield-Mask: 0x01) */ +/* ======================================================== ADGRSR ========================================================= */ + #define R_ADC_B0_ADGRSR_ACTGRn_Pos (0UL) /*!< ACTGRn (Bit 0) */ + #define R_ADC_B0_ADGRSR_ACTGRn_Msk (0x1ffUL) /*!< ACTGRn (Bitfield-Mask: 0x1ff) */ +/* ======================================================== ADERSR ========================================================= */ + #define R_ADC_B0_ADERSR_ADERF0_Pos (0UL) /*!< ADERF0 (Bit 0) */ + #define R_ADC_B0_ADERSR_ADERF0_Msk (0x1UL) /*!< ADERF0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADERSR_ADERF1_Pos (1UL) /*!< ADERF1 (Bit 1) */ + #define R_ADC_B0_ADERSR_ADERF1_Msk (0x2UL) /*!< ADERF1 (Bitfield-Mask: 0x01) */ +/* ======================================================== ADERSCR ======================================================== */ + #define R_ADC_B0_ADERSCR_ADERCLR0_Pos (0UL) /*!< ADERCLR0 (Bit 0) */ + #define R_ADC_B0_ADERSCR_ADERCLR0_Msk (0x1UL) /*!< ADERCLR0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADERSCR_ADERCLR1_Pos (1UL) /*!< ADERCLR1 (Bit 1) */ + #define R_ADC_B0_ADERSCR_ADERCLR1_Msk (0x2UL) /*!< ADERCLR1 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADCALENDSR ======================================================= */ + #define R_ADC_B0_ADCALENDSR_CALENDF0_Pos (0UL) /*!< CALENDF0 (Bit 0) */ + #define R_ADC_B0_ADCALENDSR_CALENDF0_Msk (0x1UL) /*!< CALENDF0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCALENDSR_CALENDF1_Pos (1UL) /*!< CALENDF1 (Bit 1) */ + #define R_ADC_B0_ADCALENDSR_CALENDF1_Msk (0x2UL) /*!< CALENDF1 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADCALENDSCR ====================================================== */ + #define R_ADC_B0_ADCALENDSCR_CALENDC0_Pos (0UL) /*!< CALENDC0 (Bit 0) */ + #define R_ADC_B0_ADCALENDSCR_CALENDC0_Msk (0x1UL) /*!< CALENDC0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCALENDSCR_CALENDC1_Pos (1UL) /*!< CALENDC1 (Bit 1) */ + #define R_ADC_B0_ADCALENDSCR_CALENDC1_Msk (0x2UL) /*!< CALENDC1 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADOVFERSR ======================================================= */ + #define R_ADC_B0_ADOVFERSR_ADOVFEF0_Pos (0UL) /*!< ADOVFEF0 (Bit 0) */ + #define R_ADC_B0_ADOVFERSR_ADOVFEF0_Msk (0x1UL) /*!< ADOVFEF0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFERSR_ADOVFEF1_Pos (1UL) /*!< ADOVFEF1 (Bit 1) */ + #define R_ADC_B0_ADOVFERSR_ADOVFEF1_Msk (0x2UL) /*!< ADOVFEF1 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADOVFCHSR0 ======================================================= */ + #define R_ADC_B0_ADOVFCHSR0_OFVCHFn_Pos (0UL) /*!< OFVCHFn (Bit 0) */ + #define R_ADC_B0_ADOVFCHSR0_OFVCHFn_Msk (0x1fffffffUL) /*!< OFVCHFn (Bitfield-Mask: 0x1fffffff) */ +/* ======================================================= ADOVFEXSR ======================================================= */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF0_Pos (0UL) /*!< OVFEXF0 (Bit 0) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF0_Msk (0x1UL) /*!< OVFEXF0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF1_Pos (1UL) /*!< OVFEXF1 (Bit 1) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF1_Msk (0x2UL) /*!< OVFEXF1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF2_Pos (2UL) /*!< OVFEXF2 (Bit 2) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF2_Msk (0x4UL) /*!< OVFEXF2 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF5_Pos (5UL) /*!< OVFEXF5 (Bit 5) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF5_Msk (0x20UL) /*!< OVFEXF5 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF6_Pos (6UL) /*!< OVFEXF6 (Bit 6) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF6_Msk (0x40UL) /*!< OVFEXF6 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF7_Pos (7UL) /*!< OVFEXF7 (Bit 7) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF7_Msk (0x80UL) /*!< OVFEXF7 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF8_Pos (8UL) /*!< OVFEXF8 (Bit 8) */ + #define R_ADC_B0_ADOVFEXSR_OVFEXF8_Msk (0x100UL) /*!< OVFEXF8 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADOVFERSCR ======================================================= */ + #define R_ADC_B0_ADOVFERSCR_ADOVFEC0_Pos (0UL) /*!< ADOVFEC0 (Bit 0) */ + #define R_ADC_B0_ADOVFERSCR_ADOVFEC0_Msk (0x1UL) /*!< ADOVFEC0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFERSCR_ADOVFEC1_Pos (1UL) /*!< ADOVFEC1 (Bit 1) */ + #define R_ADC_B0_ADOVFERSCR_ADOVFEC1_Msk (0x2UL) /*!< ADOVFEC1 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADOVFCHSCR0 ====================================================== */ + #define R_ADC_B0_ADOVFCHSCR0_OVFCHCn_Pos (0UL) /*!< OVFCHCn (Bit 0) */ + #define R_ADC_B0_ADOVFCHSCR0_OVFCHCn_Msk (0x1fffffffUL) /*!< OVFCHCn (Bitfield-Mask: 0x1fffffff) */ +/* ====================================================== ADOVFEXSCR ======================================================= */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC0_Pos (0UL) /*!< OVFEXC0 (Bit 0) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC0_Msk (0x1UL) /*!< OVFEXC0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC1_Pos (1UL) /*!< OVFEXC1 (Bit 1) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC1_Msk (0x2UL) /*!< OVFEXC1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC2_Pos (2UL) /*!< OVFEXC2 (Bit 2) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC2_Msk (0x4UL) /*!< OVFEXC2 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC5_Pos (5UL) /*!< OVFEXC5 (Bit 5) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC5_Msk (0x20UL) /*!< OVFEXC5 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC6_Pos (6UL) /*!< OVFEXC6 (Bit 6) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC6_Msk (0x40UL) /*!< OVFEXC6 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC7_Pos (7UL) /*!< OVFEXC7 (Bit 7) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC7_Msk (0x80UL) /*!< OVFEXC7 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC8_Pos (8UL) /*!< OVFEXC8 (Bit 8) */ + #define R_ADC_B0_ADOVFEXSCR_OVFEXC8_Msk (0x100UL) /*!< OVFEXC8 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFOSR0 ======================================================= */ + #define R_ADC_B0_ADFIFOSR0_FIFOST0_Pos (0UL) /*!< FIFOST0 (Bit 0) */ + #define R_ADC_B0_ADFIFOSR0_FIFOST0_Msk (0xfUL) /*!< FIFOST0 (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADFIFOSR0_FIFOST1_Pos (16UL) /*!< FIFOST1 (Bit 16) */ + #define R_ADC_B0_ADFIFOSR0_FIFOST1_Msk (0xf0000UL) /*!< FIFOST1 (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADFIFOSR1 ======================================================= */ + #define R_ADC_B0_ADFIFOSR1_FIFOST2_Pos (0UL) /*!< FIFOST2 (Bit 0) */ + #define R_ADC_B0_ADFIFOSR1_FIFOST2_Msk (0xfUL) /*!< FIFOST2 (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADFIFOSR1_FIFOST3_Pos (16UL) /*!< FIFOST3 (Bit 16) */ + #define R_ADC_B0_ADFIFOSR1_FIFOST3_Msk (0xf0000UL) /*!< FIFOST3 (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADFIFOSR2 ======================================================= */ + #define R_ADC_B0_ADFIFOSR2_FIFOST4_Pos (0UL) /*!< FIFOST4 (Bit 0) */ + #define R_ADC_B0_ADFIFOSR2_FIFOST4_Msk (0xfUL) /*!< FIFOST4 (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADFIFOSR2_FIFOST5_Pos (16UL) /*!< FIFOST5 (Bit 16) */ + #define R_ADC_B0_ADFIFOSR2_FIFOST5_Msk (0xf0000UL) /*!< FIFOST5 (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADFIFOSR3 ======================================================= */ + #define R_ADC_B0_ADFIFOSR3_FIFOST6_Pos (0UL) /*!< FIFOST6 (Bit 0) */ + #define R_ADC_B0_ADFIFOSR3_FIFOST6_Msk (0xfUL) /*!< FIFOST6 (Bitfield-Mask: 0x0f) */ + #define R_ADC_B0_ADFIFOSR3_FIFOST7_Pos (16UL) /*!< FIFOST7 (Bit 16) */ + #define R_ADC_B0_ADFIFOSR3_FIFOST7_Msk (0xf0000UL) /*!< FIFOST7 (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADFIFOSR4 ======================================================= */ + #define R_ADC_B0_ADFIFOSR4_FIFOST8_Pos (0UL) /*!< FIFOST8 (Bit 0) */ + #define R_ADC_B0_ADFIFOSR4_FIFOST8_Msk (0xfUL) /*!< FIFOST8 (Bitfield-Mask: 0x0f) */ +/* ======================================================= ADFIFODCR ======================================================= */ + #define R_ADC_B0_ADFIFODCR_FIFODCn_Pos (0UL) /*!< FIFODCn (Bit 0) */ + #define R_ADC_B0_ADFIFODCR_FIFODCn_Msk (0x1ffUL) /*!< FIFODCn (Bitfield-Mask: 0x1ff) */ +/* ====================================================== ADFIFOERSR ======================================================= */ + #define R_ADC_B0_ADFIFOERSR_FIFOOVFn_Pos (0UL) /*!< FIFOOVFn (Bit 0) */ + #define R_ADC_B0_ADFIFOERSR_FIFOOVFn_Msk (0x1ffUL) /*!< FIFOOVFn (Bitfield-Mask: 0x1ff) */ + #define R_ADC_B0_ADFIFOERSR_FIFOFLFn_Pos (16UL) /*!< FIFOFLFn (Bit 16) */ + #define R_ADC_B0_ADFIFOERSR_FIFOFLFn_Msk (0x1ff0000UL) /*!< FIFOFLFn (Bitfield-Mask: 0x1ff) */ +/* ====================================================== ADFIFOERSCR ====================================================== */ + #define R_ADC_B0_ADFIFOERSCR_FIFOOVFCn_Pos (0UL) /*!< FIFOOVFCn (Bit 0) */ + #define R_ADC_B0_ADFIFOERSCR_FIFOOVFCn_Msk (0x1ffUL) /*!< FIFOOVFCn (Bitfield-Mask: 0x1ff) */ + #define R_ADC_B0_ADFIFOERSCR_FIFOFLCn_Pos (16UL) /*!< FIFOFLCn (Bit 16) */ + #define R_ADC_B0_ADFIFOERSCR_FIFOFLCn_Msk (0x1ff0000UL) /*!< FIFOFLCn (Bitfield-Mask: 0x1ff) */ +/* ======================================================= ADCMPTBSR ======================================================= */ + #define R_ADC_B0_ADCMPTBSR_CMPTBFn_Pos (0UL) /*!< CMPTBFn (Bit 0) */ + #define R_ADC_B0_ADCMPTBSR_CMPTBFn_Msk (0xffUL) /*!< CMPTBFn (Bitfield-Mask: 0xff) */ +/* ====================================================== ADCMPTBSCR ======================================================= */ + #define R_ADC_B0_ADCMPTBSCR_CMPTBCn_Pos (0UL) /*!< CMPTBCn (Bit 0) */ + #define R_ADC_B0_ADCMPTBSCR_CMPTBCn_Msk (0xffUL) /*!< CMPTBCn (Bitfield-Mask: 0xff) */ +/* ====================================================== ADCMPCHSR0 ======================================================= */ + #define R_ADC_B0_ADCMPCHSR0_CMPCHFn_Pos (0UL) /*!< CMPCHFn (Bit 0) */ + #define R_ADC_B0_ADCMPCHSR0_CMPCHFn_Msk (0x1fffffffUL) /*!< CMPCHFn (Bitfield-Mask: 0x1fffffff) */ +/* ======================================================= ADCMPEXSR ======================================================= */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF0_Pos (0UL) /*!< CMPEXF0 (Bit 0) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF0_Msk (0x1UL) /*!< CMPEXF0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF1_Pos (1UL) /*!< CMPEXF1 (Bit 1) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF1_Msk (0x2UL) /*!< CMPEXF1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF2_Pos (2UL) /*!< CMPEXF2 (Bit 2) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF2_Msk (0x4UL) /*!< CMPEXF2 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF5_Pos (5UL) /*!< CMPEXF5 (Bit 5) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF5_Msk (0x20UL) /*!< CMPEXF5 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF6_Pos (6UL) /*!< CMPEXF6 (Bit 6) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF6_Msk (0x40UL) /*!< CMPEXF6 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF7_Pos (7UL) /*!< CMPEXF7 (Bit 7) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF7_Msk (0x80UL) /*!< CMPEXF7 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF8_Pos (8UL) /*!< CMPEXF8 (Bit 8) */ + #define R_ADC_B0_ADCMPEXSR_CMPEXF8_Msk (0x100UL) /*!< CMPEXF8 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADCMPCHSCR0 ====================================================== */ + #define R_ADC_B0_ADCMPCHSCR0_CMPCHCn_Pos (0UL) /*!< CMPCHCn (Bit 0) */ + #define R_ADC_B0_ADCMPCHSCR0_CMPCHCn_Msk (0x1fffffffUL) /*!< CMPCHCn (Bitfield-Mask: 0x1fffffff) */ +/* ====================================================== ADCMPEXSCR ======================================================= */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC0_Pos (0UL) /*!< CMPEXC0 (Bit 0) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC0_Msk (0x1UL) /*!< CMPEXC0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC1_Pos (1UL) /*!< CMPEXC1 (Bit 1) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC1_Msk (0x2UL) /*!< CMPEXC1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC2_Pos (2UL) /*!< CMPEXC2 (Bit 2) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC2_Msk (0x4UL) /*!< CMPEXC2 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC5_Pos (5UL) /*!< CMPEXC5 (Bit 5) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC5_Msk (0x20UL) /*!< CMPEXC5 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC6_Pos (6UL) /*!< CMPEXC6 (Bit 6) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC6_Msk (0x40UL) /*!< CMPEXC6 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC7_Pos (7UL) /*!< CMPEXC7 (Bit 7) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC7_Msk (0x80UL) /*!< CMPEXC7 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC8_Pos (8UL) /*!< CMPEXC8 (Bit 8) */ + #define R_ADC_B0_ADCMPEXSCR_CMPEXC8_Msk (0x100UL) /*!< CMPEXC8 (Bitfield-Mask: 0x01) */ +/* ======================================================= ADLIMGRSR ======================================================= */ + #define R_ADC_B0_ADLIMGRSR_LIMGRFn_Pos (0UL) /*!< LIMGRFn (Bit 0) */ + #define R_ADC_B0_ADLIMGRSR_LIMGRFn_Msk (0x1ffUL) /*!< LIMGRFn (Bitfield-Mask: 0x1ff) */ +/* ====================================================== ADLIMCHSR0 ======================================================= */ + #define R_ADC_B0_ADLIMCHSR0_LIMCHFn_Pos (0UL) /*!< LIMCHFn (Bit 0) */ + #define R_ADC_B0_ADLIMCHSR0_LIMCHFn_Msk (0x1fffffffUL) /*!< LIMCHFn (Bitfield-Mask: 0x1fffffff) */ +/* ======================================================= ADLIMEXSR ======================================================= */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF0_Pos (0UL) /*!< LIMEXF0 (Bit 0) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF0_Msk (0x1UL) /*!< LIMEXF0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF1_Pos (1UL) /*!< LIMEXF1 (Bit 1) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF1_Msk (0x2UL) /*!< LIMEXF1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF2_Pos (2UL) /*!< LIMEXF2 (Bit 2) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF2_Msk (0x4UL) /*!< LIMEXF2 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF5_Pos (5UL) /*!< LIMEXF5 (Bit 5) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF5_Msk (0x20UL) /*!< LIMEXF5 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF6_Pos (6UL) /*!< LIMEXF6 (Bit 6) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF6_Msk (0x40UL) /*!< LIMEXF6 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF7_Pos (7UL) /*!< LIMEXF7 (Bit 7) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF7_Msk (0x80UL) /*!< LIMEXF7 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF8_Pos (8UL) /*!< LIMEXF8 (Bit 8) */ + #define R_ADC_B0_ADLIMEXSR_LIMEXF8_Msk (0x100UL) /*!< LIMEXF8 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADLIMGRSCR ======================================================= */ + #define R_ADC_B0_ADLIMGRSCR_LIMGRCn_Pos (0UL) /*!< LIMGRCn (Bit 0) */ + #define R_ADC_B0_ADLIMGRSCR_LIMGRCn_Msk (0x1ffUL) /*!< LIMGRCn (Bitfield-Mask: 0x1ff) */ +/* ====================================================== ADLIMCHSCR0 ====================================================== */ + #define R_ADC_B0_ADLIMCHSCR0_LIMCHCn_Pos (0UL) /*!< LIMCHCn (Bit 0) */ + #define R_ADC_B0_ADLIMCHSCR0_LIMCHCn_Msk (0x1fffffffUL) /*!< LIMCHCn (Bitfield-Mask: 0x1fffffff) */ +/* ====================================================== ADLIMEXSCR ======================================================= */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF0_Pos (0UL) /*!< LIMEXF0 (Bit 0) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF0_Msk (0x1UL) /*!< LIMEXF0 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF1_Pos (1UL) /*!< LIMEXF1 (Bit 1) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF1_Msk (0x2UL) /*!< LIMEXF1 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF2_Pos (2UL) /*!< LIMEXF2 (Bit 2) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF2_Msk (0x4UL) /*!< LIMEXF2 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF5_Pos (5UL) /*!< LIMEXF5 (Bit 5) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF5_Msk (0x20UL) /*!< LIMEXF5 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF6_Pos (6UL) /*!< LIMEXF6 (Bit 6) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF6_Msk (0x40UL) /*!< LIMEXF6 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF7_Pos (7UL) /*!< LIMEXF7 (Bit 7) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF7_Msk (0x80UL) /*!< LIMEXF7 (Bitfield-Mask: 0x01) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF8_Pos (8UL) /*!< LIMEXF8 (Bit 8) */ + #define R_ADC_B0_ADLIMEXSCR_LIMEXF8_Msk (0x100UL) /*!< LIMEXF8 (Bitfield-Mask: 0x01) */ +/* ====================================================== ADSCANENDSR ====================================================== */ + #define R_ADC_B0_ADSCANENDSR_SCENDFn_Pos (0UL) /*!< SCENDFn (Bit 0) */ + #define R_ADC_B0_ADSCANENDSR_SCENDFn_Msk (0x1ffUL) /*!< SCENDFn (Bitfield-Mask: 0x1ff) */ +/* ===================================================== ADSCANENDSCR ====================================================== */ + #define R_ADC_B0_ADSCANENDSCR_SCENDCn_Pos (0UL) /*!< SCENDCn (Bit 0) */ + #define R_ADC_B0_ADSCANENDSCR_SCENDCn_Msk (0x1ffUL) /*!< SCENDCn (Bitfield-Mask: 0x1ff) */ +/* ========================================================= ADDR ========================================================== */ + #define R_ADC_B0_ADDR_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADDR_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADDR_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADDR_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================== ADEXDR ========================================================= */ + #define R_ADC_B0_ADEXDR_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADEXDR_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADEXDR_DIAGSR_Pos (24UL) /*!< DIAGSR (Bit 24) */ + #define R_ADC_B0_ADEXDR_DIAGSR_Msk (0x7000000UL) /*!< DIAGSR (Bitfield-Mask: 0x07) */ + #define R_ADC_B0_ADEXDR_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADEXDR_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFODR0 ======================================================= */ + #define R_ADC_B0_ADFIFODR0_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADFIFODR0_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADFIFODR0_CH_Pos (24UL) /*!< CH (Bit 24) */ + #define R_ADC_B0_ADFIFODR0_CH_Msk (0x7f000000UL) /*!< CH (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADFIFODR0_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADFIFODR0_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFODR1 ======================================================= */ + #define R_ADC_B0_ADFIFODR1_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADFIFODR1_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADFIFODR1_CH_Pos (24UL) /*!< CH (Bit 24) */ + #define R_ADC_B0_ADFIFODR1_CH_Msk (0x7f000000UL) /*!< CH (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADFIFODR1_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADFIFODR1_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFODR2 ======================================================= */ + #define R_ADC_B0_ADFIFODR2_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADFIFODR2_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADFIFODR2_CH_Pos (24UL) /*!< CH (Bit 24) */ + #define R_ADC_B0_ADFIFODR2_CH_Msk (0x7f000000UL) /*!< CH (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADFIFODR2_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADFIFODR2_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFODR3 ======================================================= */ + #define R_ADC_B0_ADFIFODR3_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADFIFODR3_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADFIFODR3_CH_Pos (24UL) /*!< CH (Bit 24) */ + #define R_ADC_B0_ADFIFODR3_CH_Msk (0x7f000000UL) /*!< CH (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADFIFODR3_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADFIFODR3_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFODR4 ======================================================= */ + #define R_ADC_B0_ADFIFODR4_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADFIFODR4_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADFIFODR4_CH_Pos (24UL) /*!< CH (Bit 24) */ + #define R_ADC_B0_ADFIFODR4_CH_Msk (0x7f000000UL) /*!< CH (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADFIFODR4_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADFIFODR4_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFODR5 ======================================================= */ + #define R_ADC_B0_ADFIFODR5_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADFIFODR5_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADFIFODR5_CH_Pos (24UL) /*!< CH (Bit 24) */ + #define R_ADC_B0_ADFIFODR5_CH_Msk (0x7f000000UL) /*!< CH (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADFIFODR5_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADFIFODR5_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFODR6 ======================================================= */ + #define R_ADC_B0_ADFIFODR6_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADFIFODR6_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADFIFODR6_CH_Pos (24UL) /*!< CH (Bit 24) */ + #define R_ADC_B0_ADFIFODR6_CH_Msk (0x7f000000UL) /*!< CH (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADFIFODR6_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADFIFODR6_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFODR7 ======================================================= */ + #define R_ADC_B0_ADFIFODR7_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADFIFODR7_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADFIFODR7_CH_Pos (24UL) /*!< CH (Bit 24) */ + #define R_ADC_B0_ADFIFODR7_CH_Msk (0x7f000000UL) /*!< CH (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADFIFODR7_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADFIFODR7_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ +/* ======================================================= ADFIFODR8 ======================================================= */ + #define R_ADC_B0_ADFIFODR8_DATA_Pos (0UL) /*!< DATA (Bit 0) */ + #define R_ADC_B0_ADFIFODR8_DATA_Msk (0xffffUL) /*!< DATA (Bitfield-Mask: 0xffff) */ + #define R_ADC_B0_ADFIFODR8_CH_Pos (24UL) /*!< CH (Bit 24) */ + #define R_ADC_B0_ADFIFODR8_CH_Msk (0x7f000000UL) /*!< CH (Bitfield-Mask: 0x7f) */ + #define R_ADC_B0_ADFIFODR8_ERR_Pos (31UL) /*!< ERR (Bit 31) */ + #define R_ADC_B0_ADFIFODR8_ERR_Msk (0x80000000UL) /*!< ERR (Bitfield-Mask: 0x01) */ + +/* =========================================================================================================================== */ +/* ================ R_DOC_B ================ */ +/* =========================================================================================================================== */ + +/* ========================================================= DOCR ========================================================== */ + #define R_DOC_B_DOCR_OMS_Pos (0UL) /*!< OMS (Bit 0) */ + #define R_DOC_B_DOCR_OMS_Msk (0x3UL) /*!< OMS (Bitfield-Mask: 0x03) */ + #define R_DOC_B_DOCR_DOBW_Pos (3UL) /*!< DOBW (Bit 3) */ + #define R_DOC_B_DOCR_DOBW_Msk (0x8UL) /*!< DOBW (Bitfield-Mask: 0x01) */ + #define R_DOC_B_DOCR_DCSEL_Pos (4UL) /*!< DCSEL (Bit 4) */ + #define R_DOC_B_DOCR_DCSEL_Msk (0x70UL) /*!< DCSEL (Bitfield-Mask: 0x07) */ + #define R_DOC_B_DOCR_DOPCIE_Pos (7UL) /*!< DOPCIE (Bit 7) */ + #define R_DOC_B_DOCR_DOPCIE_Msk (0x80UL) /*!< DOPCIE (Bitfield-Mask: 0x01) */ +/* ========================================================= DOSR ========================================================== */ + #define R_DOC_B_DOSR_DOPCF_Pos (0UL) /*!< DOPCF (Bit 0) */ + #define R_DOC_B_DOSR_DOPCF_Msk (0x1UL) /*!< DOPCF (Bitfield-Mask: 0x01) */ +/* ========================================================= DOSCR ========================================================= */ + #define R_DOC_B_DOSCR_DOPCFCL_Pos (0UL) /*!< DOPCFCL (Bit 0) */ + #define R_DOC_B_DOSCR_DOPCFCL_Msk (0x1UL) /*!< DOPCFCL (Bitfield-Mask: 0x01) */ +/* ========================================================= DODIR ========================================================= */ +/* ======================================================== DODSR0 ========================================================= */ +/* ======================================================== DODSR1 ========================================================= */ + +/* =========================================================================================================================== */ +/* ================ R_SCI_B0 ================ */ +/* =========================================================================================================================== */ + +/* ========================================================== RDR ========================================================== */ + #define R_SCI_B0_RDR_RDAT_Pos (0UL) /*!< RDAT (Bit 0) */ + #define R_SCI_B0_RDR_RDAT_Msk (0x1ffUL) /*!< RDAT (Bitfield-Mask: 0x1ff) */ + #define R_SCI_B0_RDR_MPB_Pos (9UL) /*!< MPB (Bit 9) */ + #define R_SCI_B0_RDR_MPB_Msk (0x200UL) /*!< MPB (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_RDR_DR_Pos (10UL) /*!< DR (Bit 10) */ + #define R_SCI_B0_RDR_DR_Msk (0x400UL) /*!< DR (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_RDR_FPER_Pos (11UL) /*!< FPER (Bit 11) */ + #define R_SCI_B0_RDR_FPER_Msk (0x800UL) /*!< FPER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_RDR_FFER_Pos (12UL) /*!< FFER (Bit 12) */ + #define R_SCI_B0_RDR_FFER_Msk (0x1000UL) /*!< FFER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_RDR_ORER_Pos (24UL) /*!< ORER (Bit 24) */ + #define R_SCI_B0_RDR_ORER_Msk (0x1000000UL) /*!< ORER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_RDR_PER_Pos (27UL) /*!< PER (Bit 27) */ + #define R_SCI_B0_RDR_PER_Msk (0x8000000UL) /*!< PER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_RDR_FER_Pos (28UL) /*!< FER (Bit 28) */ + #define R_SCI_B0_RDR_FER_Msk (0x10000000UL) /*!< FER (Bitfield-Mask: 0x01) */ +/* ========================================================== TDR ========================================================== */ + #define R_SCI_B0_TDR_TDAT_Pos (0UL) /*!< TDAT (Bit 0) */ + #define R_SCI_B0_TDR_TDAT_Msk (0x1ffUL) /*!< TDAT (Bitfield-Mask: 0x1ff) */ + #define R_SCI_B0_TDR_MPBT_Pos (9UL) /*!< MPBT (Bit 9) */ + #define R_SCI_B0_TDR_MPBT_Msk (0x200UL) /*!< MPBT (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_TDR_TSYNC_Pos (12UL) /*!< TSYNC (Bit 12) */ + #define R_SCI_B0_TDR_TSYNC_Msk (0x1000UL) /*!< TSYNC (Bitfield-Mask: 0x01) */ +/* ========================================================= CCR0 ========================================================== */ + #define R_SCI_B0_CCR0_RE_Pos (0UL) /*!< RE (Bit 0) */ + #define R_SCI_B0_CCR0_RE_Msk (0x1UL) /*!< RE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR0_TE_Pos (4UL) /*!< TE (Bit 4) */ + #define R_SCI_B0_CCR0_TE_Msk (0x10UL) /*!< TE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR0_MPIE_Pos (8UL) /*!< MPIE (Bit 8) */ + #define R_SCI_B0_CCR0_MPIE_Msk (0x100UL) /*!< MPIE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR0_DCME_Pos (9UL) /*!< DCME (Bit 9) */ + #define R_SCI_B0_CCR0_DCME_Msk (0x200UL) /*!< DCME (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR0_IDSEL_Pos (10UL) /*!< IDSEL (Bit 10) */ + #define R_SCI_B0_CCR0_IDSEL_Msk (0x400UL) /*!< IDSEL (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR0_RIE_Pos (16UL) /*!< RIE (Bit 16) */ + #define R_SCI_B0_CCR0_RIE_Msk (0x10000UL) /*!< RIE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR0_TIE_Pos (20UL) /*!< TIE (Bit 20) */ + #define R_SCI_B0_CCR0_TIE_Msk (0x100000UL) /*!< TIE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR0_TEIE_Pos (21UL) /*!< TEIE (Bit 21) */ + #define R_SCI_B0_CCR0_TEIE_Msk (0x200000UL) /*!< TEIE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR0_SSE_Pos (24UL) /*!< SSE (Bit 24) */ + #define R_SCI_B0_CCR0_SSE_Msk (0x1000000UL) /*!< SSE (Bitfield-Mask: 0x01) */ +/* ========================================================= CCR1 ========================================================== */ + #define R_SCI_B0_CCR1_CTSE_Pos (0UL) /*!< CTSE (Bit 0) */ + #define R_SCI_B0_CCR1_CTSE_Msk (0x1UL) /*!< CTSE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_CTSPEN_Pos (1UL) /*!< CTSPEN (Bit 1) */ + #define R_SCI_B0_CCR1_CTSPEN_Msk (0x2UL) /*!< CTSPEN (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_SPB2DT_Pos (4UL) /*!< SPB2DT (Bit 4) */ + #define R_SCI_B0_CCR1_SPB2DT_Msk (0x10UL) /*!< SPB2DT (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_SPB2IO_Pos (5UL) /*!< SPB2IO (Bit 5) */ + #define R_SCI_B0_CCR1_SPB2IO_Msk (0x20UL) /*!< SPB2IO (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_PE_Pos (8UL) /*!< PE (Bit 8) */ + #define R_SCI_B0_CCR1_PE_Msk (0x100UL) /*!< PE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_PM_Pos (9UL) /*!< PM (Bit 9) */ + #define R_SCI_B0_CCR1_PM_Msk (0x200UL) /*!< PM (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_TINV_Pos (12UL) /*!< TINV (Bit 12) */ + #define R_SCI_B0_CCR1_TINV_Msk (0x1000UL) /*!< TINV (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_RINV_Pos (13UL) /*!< RINV (Bit 13) */ + #define R_SCI_B0_CCR1_RINV_Msk (0x2000UL) /*!< RINV (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_SPLP_Pos (16UL) /*!< SPLP (Bit 16) */ + #define R_SCI_B0_CCR1_SPLP_Msk (0x10000UL) /*!< SPLP (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_SHARPS_Pos (20UL) /*!< SHARPS (Bit 20) */ + #define R_SCI_B0_CCR1_SHARPS_Msk (0x100000UL) /*!< SHARPS (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR1_NFCS_Pos (24UL) /*!< NFCS (Bit 24) */ + #define R_SCI_B0_CCR1_NFCS_Msk (0x7000000UL) /*!< NFCS (Bitfield-Mask: 0x07) */ + #define R_SCI_B0_CCR1_NFEN_Pos (28UL) /*!< NFEN (Bit 28) */ + #define R_SCI_B0_CCR1_NFEN_Msk (0x10000000UL) /*!< NFEN (Bitfield-Mask: 0x01) */ +/* ========================================================= CCR2 ========================================================== */ + #define R_SCI_B0_CCR2_BCP_Pos (0UL) /*!< BCP (Bit 0) */ + #define R_SCI_B0_CCR2_BCP_Msk (0x7UL) /*!< BCP (Bitfield-Mask: 0x07) */ + #define R_SCI_B0_CCR2_BGDM_Pos (4UL) /*!< BGDM (Bit 4) */ + #define R_SCI_B0_CCR2_BGDM_Msk (0x10UL) /*!< BGDM (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR2_ABCS_Pos (5UL) /*!< ABCS (Bit 5) */ + #define R_SCI_B0_CCR2_ABCS_Msk (0x20UL) /*!< ABCS (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR2_ABCSE_Pos (6UL) /*!< ABCSE (Bit 6) */ + #define R_SCI_B0_CCR2_ABCSE_Msk (0x40UL) /*!< ABCSE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR2_BRR_Pos (8UL) /*!< BRR (Bit 8) */ + #define R_SCI_B0_CCR2_BRR_Msk (0xff00UL) /*!< BRR (Bitfield-Mask: 0xff) */ + #define R_SCI_B0_CCR2_BRME_Pos (16UL) /*!< BRME (Bit 16) */ + #define R_SCI_B0_CCR2_BRME_Msk (0x10000UL) /*!< BRME (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR2_CKS_Pos (20UL) /*!< CKS (Bit 20) */ + #define R_SCI_B0_CCR2_CKS_Msk (0x300000UL) /*!< CKS (Bitfield-Mask: 0x03) */ + #define R_SCI_B0_CCR2_MDDR_Pos (24UL) /*!< MDDR (Bit 24) */ + #define R_SCI_B0_CCR2_MDDR_Msk (0xff000000UL) /*!< MDDR (Bitfield-Mask: 0xff) */ +/* ========================================================= CCR3 ========================================================== */ + #define R_SCI_B0_CCR3_CPHA_Pos (0UL) /*!< CPHA (Bit 0) */ + #define R_SCI_B0_CCR3_CPHA_Msk (0x1UL) /*!< CPHA (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_CPOL_Pos (1UL) /*!< CPOL (Bit 1) */ + #define R_SCI_B0_CCR3_CPOL_Msk (0x2UL) /*!< CPOL (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_BPEN_Pos (7UL) /*!< BPEN (Bit 7) */ + #define R_SCI_B0_CCR3_BPEN_Msk (0x80UL) /*!< BPEN (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_CHR_Pos (8UL) /*!< CHR (Bit 8) */ + #define R_SCI_B0_CCR3_CHR_Msk (0x300UL) /*!< CHR (Bitfield-Mask: 0x03) */ + #define R_SCI_B0_CCR3_LSBF_Pos (12UL) /*!< LSBF (Bit 12) */ + #define R_SCI_B0_CCR3_LSBF_Msk (0x1000UL) /*!< LSBF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_SINV_Pos (13UL) /*!< SINV (Bit 13) */ + #define R_SCI_B0_CCR3_SINV_Msk (0x2000UL) /*!< SINV (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_STP_Pos (14UL) /*!< STP (Bit 14) */ + #define R_SCI_B0_CCR3_STP_Msk (0x4000UL) /*!< STP (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_RXDESEL_Pos (15UL) /*!< RXDESEL (Bit 15) */ + #define R_SCI_B0_CCR3_RXDESEL_Msk (0x8000UL) /*!< RXDESEL (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_MOD_Pos (16UL) /*!< MOD (Bit 16) */ + #define R_SCI_B0_CCR3_MOD_Msk (0x70000UL) /*!< MOD (Bitfield-Mask: 0x07) */ + #define R_SCI_B0_CCR3_MP_Pos (19UL) /*!< MP (Bit 19) */ + #define R_SCI_B0_CCR3_MP_Msk (0x80000UL) /*!< MP (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_FM_Pos (20UL) /*!< FM (Bit 20) */ + #define R_SCI_B0_CCR3_FM_Msk (0x100000UL) /*!< FM (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_DEN_Pos (21UL) /*!< DEN (Bit 21) */ + #define R_SCI_B0_CCR3_DEN_Msk (0x200000UL) /*!< DEN (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_CKE_Pos (24UL) /*!< CKE (Bit 24) */ + #define R_SCI_B0_CCR3_CKE_Msk (0x3000000UL) /*!< CKE (Bitfield-Mask: 0x03) */ + #define R_SCI_B0_CCR3_GM_Pos (28UL) /*!< GM (Bit 28) */ + #define R_SCI_B0_CCR3_GM_Msk (0x10000000UL) /*!< GM (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR3_BLK_Pos (29UL) /*!< BLK (Bit 29) */ + #define R_SCI_B0_CCR3_BLK_Msk (0x20000000UL) /*!< BLK (Bitfield-Mask: 0x01) */ +/* ========================================================= CCR4 ========================================================== */ + #define R_SCI_B0_CCR4_CMPD_Pos (0UL) /*!< CMPD (Bit 0) */ + #define R_SCI_B0_CCR4_CMPD_Msk (0x1ffUL) /*!< CMPD (Bitfield-Mask: 0x1ff) */ + #define R_SCI_B0_CCR4_ASEN_Pos (16UL) /*!< ASEN (Bit 16) */ + #define R_SCI_B0_CCR4_ASEN_Msk (0x10000UL) /*!< ASEN (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR4_ATEN_Pos (17UL) /*!< ATEN (Bit 17) */ + #define R_SCI_B0_CCR4_ATEN_Msk (0x20000UL) /*!< ATEN (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR4_AST_Pos (24UL) /*!< AST (Bit 24) */ + #define R_SCI_B0_CCR4_AST_Msk (0x7000000UL) /*!< AST (Bitfield-Mask: 0x07) */ + #define R_SCI_B0_CCR4_AJD_Pos (27UL) /*!< AJD (Bit 27) */ + #define R_SCI_B0_CCR4_AJD_Msk (0x8000000UL) /*!< AJD (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CCR4_ATT_Pos (28UL) /*!< ATT (Bit 28) */ + #define R_SCI_B0_CCR4_ATT_Msk (0x70000000UL) /*!< ATT (Bitfield-Mask: 0x07) */ + #define R_SCI_B0_CCR4_AET_Pos (31UL) /*!< AET (Bit 31) */ + #define R_SCI_B0_CCR4_AET_Msk (0x80000000UL) /*!< AET (Bitfield-Mask: 0x01) */ +/* ========================================================= CESR ========================================================== */ + #define R_SCI_B0_CESR_RIST_Pos (0UL) /*!< RIST (Bit 0) */ + #define R_SCI_B0_CESR_RIST_Msk (0x1UL) /*!< RIST (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CESR_TIST_Pos (4UL) /*!< TIST (Bit 4) */ + #define R_SCI_B0_CESR_TIST_Msk (0x10UL) /*!< TIST (Bitfield-Mask: 0x01) */ +/* ========================================================== ICR ========================================================== */ + #define R_SCI_B0_ICR_IICDL_Pos (0UL) /*!< IICDL (Bit 0) */ + #define R_SCI_B0_ICR_IICDL_Msk (0x1fUL) /*!< IICDL (Bitfield-Mask: 0x1f) */ + #define R_SCI_B0_ICR_IICINTM_Pos (8UL) /*!< IICINTM (Bit 8) */ + #define R_SCI_B0_ICR_IICINTM_Msk (0x100UL) /*!< IICINTM (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_ICR_IICCSC_Pos (9UL) /*!< IICCSC (Bit 9) */ + #define R_SCI_B0_ICR_IICCSC_Msk (0x200UL) /*!< IICCSC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_ICR_IICACKT_Pos (13UL) /*!< IICACKT (Bit 13) */ + #define R_SCI_B0_ICR_IICACKT_Msk (0x2000UL) /*!< IICACKT (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_ICR_IICSTAREQ_Pos (16UL) /*!< IICSTAREQ (Bit 16) */ + #define R_SCI_B0_ICR_IICSTAREQ_Msk (0x10000UL) /*!< IICSTAREQ (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_ICR_IICRSTAREQ_Pos (17UL) /*!< IICRSTAREQ (Bit 17) */ + #define R_SCI_B0_ICR_IICRSTAREQ_Msk (0x20000UL) /*!< IICRSTAREQ (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_ICR_IICSTPREQ_Pos (18UL) /*!< IICSTPREQ (Bit 18) */ + #define R_SCI_B0_ICR_IICSTPREQ_Msk (0x40000UL) /*!< IICSTPREQ (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_ICR_IICSDAS_Pos (20UL) /*!< IICSDAS (Bit 20) */ + #define R_SCI_B0_ICR_IICSDAS_Msk (0x300000UL) /*!< IICSDAS (Bitfield-Mask: 0x03) */ + #define R_SCI_B0_ICR_IICSCLS_Pos (22UL) /*!< IICSCLS (Bit 22) */ + #define R_SCI_B0_ICR_IICSCLS_Msk (0xc00000UL) /*!< IICSCLS (Bitfield-Mask: 0x03) */ +/* ========================================================== FCR ========================================================== */ + #define R_SCI_B0_FCR_DRES_Pos (0UL) /*!< DRES (Bit 0) */ + #define R_SCI_B0_FCR_DRES_Msk (0x1UL) /*!< DRES (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_FCR_TTRG_Pos (8UL) /*!< TTRG (Bit 8) */ + #define R_SCI_B0_FCR_TTRG_Msk (0x1f00UL) /*!< TTRG (Bitfield-Mask: 0x1f) */ + #define R_SCI_B0_FCR_TFRST_Pos (15UL) /*!< TFRST (Bit 15) */ + #define R_SCI_B0_FCR_TFRST_Msk (0x8000UL) /*!< TFRST (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_FCR_RTRG_Pos (16UL) /*!< RTRG (Bit 16) */ + #define R_SCI_B0_FCR_RTRG_Msk (0x1f0000UL) /*!< RTRG (Bitfield-Mask: 0x1f) */ + #define R_SCI_B0_FCR_RFRST_Pos (23UL) /*!< RFRST (Bit 23) */ + #define R_SCI_B0_FCR_RFRST_Msk (0x800000UL) /*!< RFRST (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_FCR_RSTRG_Pos (24UL) /*!< RSTRG (Bit 24) */ + #define R_SCI_B0_FCR_RSTRG_Msk (0x1f000000UL) /*!< RSTRG (Bitfield-Mask: 0x1f) */ +/* ========================================================== MCR ========================================================== */ + #define R_SCI_B0_MCR_RMPOL_Pos (0UL) /*!< RMPOL (Bit 0) */ + #define R_SCI_B0_MCR_RMPOL_Msk (0x1UL) /*!< RMPOL (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MCR_TMPOL_Pos (1UL) /*!< TMPOL (Bit 1) */ + #define R_SCI_B0_MCR_TMPOL_Msk (0x2UL) /*!< TMPOL (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MCR_ERTEN_Pos (2UL) /*!< ERTEN (Bit 2) */ + #define R_SCI_B0_MCR_ERTEN_Msk (0x4UL) /*!< ERTEN (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MCR_SYNVAL_Pos (4UL) /*!< SYNVAL (Bit 4) */ + #define R_SCI_B0_MCR_SYNVAL_Msk (0x10UL) /*!< SYNVAL (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MCR_SYNSEL_Pos (5UL) /*!< SYNSEL (Bit 5) */ + #define R_SCI_B0_MCR_SYNSEL_Msk (0x20UL) /*!< SYNSEL (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MCR_SBSEL_Pos (6UL) /*!< SBSEL (Bit 6) */ + #define R_SCI_B0_MCR_SBSEL_Msk (0x40UL) /*!< SBSEL (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MCR_TPLEN_Pos (8UL) /*!< TPLEN (Bit 8) */ + #define R_SCI_B0_MCR_TPLEN_Msk (0xf00UL) /*!< TPLEN (Bitfield-Mask: 0x0f) */ + #define R_SCI_B0_MCR_TPPAT_Pos (12UL) /*!< TPPAT (Bit 12) */ + #define R_SCI_B0_MCR_TPPAT_Msk (0x3000UL) /*!< TPPAT (Bitfield-Mask: 0x03) */ + #define R_SCI_B0_MCR_RPLEN_Pos (16UL) /*!< RPLEN (Bit 16) */ + #define R_SCI_B0_MCR_RPLEN_Msk (0xf0000UL) /*!< RPLEN (Bitfield-Mask: 0x0f) */ + #define R_SCI_B0_MCR_RPPAT_Pos (20UL) /*!< RPPAT (Bit 20) */ + #define R_SCI_B0_MCR_RPPAT_Msk (0x300000UL) /*!< RPPAT (Bitfield-Mask: 0x03) */ + #define R_SCI_B0_MCR_PFEREN_Pos (24UL) /*!< PFEREN (Bit 24) */ + #define R_SCI_B0_MCR_PFEREN_Msk (0x1000000UL) /*!< PFEREN (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MCR_SYEREN_Pos (25UL) /*!< SYEREN (Bit 25) */ + #define R_SCI_B0_MCR_SYEREN_Msk (0x2000000UL) /*!< SYEREN (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MCR_SBEREN_Pos (26UL) /*!< SBEREN (Bit 26) */ + #define R_SCI_B0_MCR_SBEREN_Msk (0x4000000UL) /*!< SBEREN (Bitfield-Mask: 0x01) */ +/* ========================================================== DCR ========================================================== */ + #define R_SCI_B0_DCR_DEPOL_Pos (0UL) /*!< DEPOL (Bit 0) */ + #define R_SCI_B0_DCR_DEPOL_Msk (0x1UL) /*!< DEPOL (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_DCR_DEAST_Pos (8UL) /*!< DEAST (Bit 8) */ + #define R_SCI_B0_DCR_DEAST_Msk (0x1f00UL) /*!< DEAST (Bitfield-Mask: 0x1f) */ + #define R_SCI_B0_DCR_DENGT_Pos (16UL) /*!< DENGT (Bit 16) */ + #define R_SCI_B0_DCR_DENGT_Msk (0x1f0000UL) /*!< DENGT (Bitfield-Mask: 0x1f) */ +/* ========================================================= XCR0 ========================================================== */ + #define R_SCI_B0_XCR0_TCSS_Pos (0UL) /*!< TCSS (Bit 0) */ + #define R_SCI_B0_XCR0_TCSS_Msk (0x3UL) /*!< TCSS (Bitfield-Mask: 0x03) */ + #define R_SCI_B0_XCR0_BFE_Pos (8UL) /*!< BFE (Bit 8) */ + #define R_SCI_B0_XCR0_BFE_Msk (0x100UL) /*!< BFE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR0_CF0RE_Pos (9UL) /*!< CF0RE (Bit 9) */ + #define R_SCI_B0_XCR0_CF0RE_Msk (0x200UL) /*!< CF0RE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR0_CF1DS_Pos (10UL) /*!< CF1DS (Bit 10) */ + #define R_SCI_B0_XCR0_CF1DS_Msk (0xc00UL) /*!< CF1DS (Bitfield-Mask: 0x03) */ + #define R_SCI_B0_XCR0_PIBE_Pos (12UL) /*!< PIBE (Bit 12) */ + #define R_SCI_B0_XCR0_PIBE_Msk (0x1000UL) /*!< PIBE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR0_PIBS_Pos (13UL) /*!< PIBS (Bit 13) */ + #define R_SCI_B0_XCR0_PIBS_Msk (0xe000UL) /*!< PIBS (Bitfield-Mask: 0x07) */ + #define R_SCI_B0_XCR0_BFOIE_Pos (16UL) /*!< BFOIE (Bit 16) */ + #define R_SCI_B0_XCR0_BFOIE_Msk (0x10000UL) /*!< BFOIE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR0_BCDIE_Pos (17UL) /*!< BCDIE (Bit 17) */ + #define R_SCI_B0_XCR0_BCDIE_Msk (0x20000UL) /*!< BCDIE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR0_BFDIE_Pos (20UL) /*!< BFDIE (Bit 20) */ + #define R_SCI_B0_XCR0_BFDIE_Msk (0x100000UL) /*!< BFDIE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR0_COFIE_Pos (21UL) /*!< COFIE (Bit 21) */ + #define R_SCI_B0_XCR0_COFIE_Msk (0x200000UL) /*!< COFIE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR0_AEDIE_Pos (22UL) /*!< AEDIE (Bit 22) */ + #define R_SCI_B0_XCR0_AEDIE_Msk (0x400000UL) /*!< AEDIE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR0_BCCS_Pos (24UL) /*!< BCCS (Bit 24) */ + #define R_SCI_B0_XCR0_BCCS_Msk (0x3000000UL) /*!< BCCS (Bitfield-Mask: 0x03) */ +/* ========================================================= XCR1 ========================================================== */ + #define R_SCI_B0_XCR1_TCST_Pos (0UL) /*!< TCST (Bit 0) */ + #define R_SCI_B0_XCR1_TCST_Msk (0x1UL) /*!< TCST (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR1_SDST_Pos (4UL) /*!< SDST (Bit 4) */ + #define R_SCI_B0_XCR1_SDST_Msk (0x10UL) /*!< SDST (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR1_BMEN_Pos (5UL) /*!< BMEN (Bit 5) */ + #define R_SCI_B0_XCR1_BMEN_Msk (0x20UL) /*!< BMEN (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XCR1_PCF1D_Pos (8UL) /*!< PCF1D (Bit 8) */ + #define R_SCI_B0_XCR1_PCF1D_Msk (0xff00UL) /*!< PCF1D (Bitfield-Mask: 0xff) */ + #define R_SCI_B0_XCR1_SCF1D_Pos (16UL) /*!< SCF1D (Bit 16) */ + #define R_SCI_B0_XCR1_SCF1D_Msk (0xff0000UL) /*!< SCF1D (Bitfield-Mask: 0xff) */ + #define R_SCI_B0_XCR1_CF1CE_Pos (24UL) /*!< CF1CE (Bit 24) */ + #define R_SCI_B0_XCR1_CF1CE_Msk (0xff000000UL) /*!< CF1CE (Bitfield-Mask: 0xff) */ +/* ========================================================= XCR2 ========================================================== */ + #define R_SCI_B0_XCR2_CF0D_Pos (0UL) /*!< CF0D (Bit 0) */ + #define R_SCI_B0_XCR2_CF0D_Msk (0xffUL) /*!< CF0D (Bitfield-Mask: 0xff) */ + #define R_SCI_B0_XCR2_CF0CE_Pos (8UL) /*!< CF0CE (Bit 8) */ + #define R_SCI_B0_XCR2_CF0CE_Msk (0xff00UL) /*!< CF0CE (Bitfield-Mask: 0xff) */ + #define R_SCI_B0_XCR2_BFLW_Pos (16UL) /*!< BFLW (Bit 16) */ + #define R_SCI_B0_XCR2_BFLW_Msk (0xffff0000UL) /*!< BFLW (Bitfield-Mask: 0xffff) */ +/* ========================================================== CSR ========================================================== */ + #define R_SCI_B0_CSR_ERS_Pos (4UL) /*!< ERS (Bit 4) */ + #define R_SCI_B0_CSR_ERS_Msk (0x10UL) /*!< ERS (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_RXDMON_Pos (15UL) /*!< RXDMON (Bit 15) */ + #define R_SCI_B0_CSR_RXDMON_Msk (0x8000UL) /*!< RXDMON (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_DCMF_Pos (16UL) /*!< DCMF (Bit 16) */ + #define R_SCI_B0_CSR_DCMF_Msk (0x10000UL) /*!< DCMF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_DPER_Pos (17UL) /*!< DPER (Bit 17) */ + #define R_SCI_B0_CSR_DPER_Msk (0x20000UL) /*!< DPER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_DFER_Pos (18UL) /*!< DFER (Bit 18) */ + #define R_SCI_B0_CSR_DFER_Msk (0x40000UL) /*!< DFER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_ORER_Pos (24UL) /*!< ORER (Bit 24) */ + #define R_SCI_B0_CSR_ORER_Msk (0x1000000UL) /*!< ORER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_MFF_Pos (26UL) /*!< MFF (Bit 26) */ + #define R_SCI_B0_CSR_MFF_Msk (0x4000000UL) /*!< MFF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_PER_Pos (27UL) /*!< PER (Bit 27) */ + #define R_SCI_B0_CSR_PER_Msk (0x8000000UL) /*!< PER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_FER_Pos (28UL) /*!< FER (Bit 28) */ + #define R_SCI_B0_CSR_FER_Msk (0x10000000UL) /*!< FER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_TDRE_Pos (29UL) /*!< TDRE (Bit 29) */ + #define R_SCI_B0_CSR_TDRE_Msk (0x20000000UL) /*!< TDRE (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_TEND_Pos (30UL) /*!< TEND (Bit 30) */ + #define R_SCI_B0_CSR_TEND_Msk (0x40000000UL) /*!< TEND (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CSR_RDRF_Pos (31UL) /*!< RDRF (Bit 31) */ + #define R_SCI_B0_CSR_RDRF_Msk (0x80000000UL) /*!< RDRF (Bitfield-Mask: 0x01) */ +/* ========================================================== ISR ========================================================== */ + #define R_SCI_B0_ISR_IICACKR_Pos (0UL) /*!< IICACKR (Bit 0) */ + #define R_SCI_B0_ISR_IICACKR_Msk (0x1UL) /*!< IICACKR (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_ISR_IICSTIF_Pos (3UL) /*!< IICSTIF (Bit 3) */ + #define R_SCI_B0_ISR_IICSTIF_Msk (0x8UL) /*!< IICSTIF (Bitfield-Mask: 0x01) */ +/* ========================================================= FRSR ========================================================== */ + #define R_SCI_B0_FRSR_DR_Pos (0UL) /*!< DR (Bit 0) */ + #define R_SCI_B0_FRSR_DR_Msk (0x1UL) /*!< DR (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_FRSR_R_Pos (8UL) /*!< R (Bit 8) */ + #define R_SCI_B0_FRSR_R_Msk (0x3f00UL) /*!< R (Bitfield-Mask: 0x3f) */ + #define R_SCI_B0_FRSR_PNUM_Pos (16UL) /*!< PNUM (Bit 16) */ + #define R_SCI_B0_FRSR_PNUM_Msk (0x3f0000UL) /*!< PNUM (Bitfield-Mask: 0x3f) */ + #define R_SCI_B0_FRSR_FNUM_Pos (24UL) /*!< FNUM (Bit 24) */ + #define R_SCI_B0_FRSR_FNUM_Msk (0x3f000000UL) /*!< FNUM (Bitfield-Mask: 0x3f) */ +/* ========================================================= FTSR ========================================================== */ + #define R_SCI_B0_FTSR_T_Pos (0UL) /*!< T (Bit 0) */ + #define R_SCI_B0_FTSR_T_Msk (0x3fUL) /*!< T (Bitfield-Mask: 0x3f) */ +/* ========================================================== MSR ========================================================== */ + #define R_SCI_B0_MSR_PFER_Pos (0UL) /*!< PFER (Bit 0) */ + #define R_SCI_B0_MSR_PFER_Msk (0x1UL) /*!< PFER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MSR_SYER_Pos (1UL) /*!< SYER (Bit 1) */ + #define R_SCI_B0_MSR_SYER_Msk (0x2UL) /*!< SYER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MSR_SBER_Pos (2UL) /*!< SBER (Bit 2) */ + #define R_SCI_B0_MSR_SBER_Msk (0x4UL) /*!< SBER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MSR_MER_Pos (4UL) /*!< MER (Bit 4) */ + #define R_SCI_B0_MSR_MER_Msk (0x10UL) /*!< MER (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MSR_RSYNC_Pos (6UL) /*!< RSYNC (Bit 6) */ + #define R_SCI_B0_MSR_RSYNC_Msk (0x40UL) /*!< RSYNC (Bitfield-Mask: 0x01) */ +/* ========================================================= XSR0 ========================================================== */ + #define R_SCI_B0_XSR0_SFSF_Pos (0UL) /*!< SFSF (Bit 0) */ + #define R_SCI_B0_XSR0_SFSF_Msk (0x1UL) /*!< SFSF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_RXDSF_Pos (1UL) /*!< RXDSF (Bit 1) */ + #define R_SCI_B0_XSR0_RXDSF_Msk (0x2UL) /*!< RXDSF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_BFOF_Pos (8UL) /*!< BFOF (Bit 8) */ + #define R_SCI_B0_XSR0_BFOF_Msk (0x100UL) /*!< BFOF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_BCDF_Pos (9UL) /*!< BCDF (Bit 9) */ + #define R_SCI_B0_XSR0_BCDF_Msk (0x200UL) /*!< BCDF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_BFDF_Pos (10UL) /*!< BFDF (Bit 10) */ + #define R_SCI_B0_XSR0_BFDF_Msk (0x400UL) /*!< BFDF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_CF0MF_Pos (11UL) /*!< CF0MF (Bit 11) */ + #define R_SCI_B0_XSR0_CF0MF_Msk (0x800UL) /*!< CF0MF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_CF1MF_Pos (12UL) /*!< CF1MF (Bit 12) */ + #define R_SCI_B0_XSR0_CF1MF_Msk (0x1000UL) /*!< CF1MF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_PIBDF_Pos (13UL) /*!< PIBDF (Bit 13) */ + #define R_SCI_B0_XSR0_PIBDF_Msk (0x2000UL) /*!< PIBDF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_COF_Pos (14UL) /*!< COF (Bit 14) */ + #define R_SCI_B0_XSR0_COF_Msk (0x4000UL) /*!< COF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_AEDF_Pos (15UL) /*!< AEDF (Bit 15) */ + #define R_SCI_B0_XSR0_AEDF_Msk (0x8000UL) /*!< AEDF (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XSR0_CF0RD_Pos (16UL) /*!< CF0RD (Bit 16) */ + #define R_SCI_B0_XSR0_CF0RD_Msk (0xff0000UL) /*!< CF0RD (Bitfield-Mask: 0xff) */ + #define R_SCI_B0_XSR0_CF1RD_Pos (24UL) /*!< CF1RD (Bit 24) */ + #define R_SCI_B0_XSR0_CF1RD_Msk (0xff000000UL) /*!< CF1RD (Bitfield-Mask: 0xff) */ +/* ========================================================= XSR1 ========================================================== */ + #define R_SCI_B0_XSR1_TCNT_Pos (0UL) /*!< TCNT (Bit 0) */ + #define R_SCI_B0_XSR1_TCNT_Msk (0xffffUL) /*!< TCNT (Bitfield-Mask: 0xffff) */ +/* ========================================================= CFCLR ========================================================= */ + #define R_SCI_B0_CFCLR_ERSC_Pos (4UL) /*!< ERSC (Bit 4) */ + #define R_SCI_B0_CFCLR_ERSC_Msk (0x10UL) /*!< ERSC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CFCLR_DCMFC_Pos (16UL) /*!< DCMFC (Bit 16) */ + #define R_SCI_B0_CFCLR_DCMFC_Msk (0x10000UL) /*!< DCMFC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CFCLR_DPERC_Pos (17UL) /*!< DPERC (Bit 17) */ + #define R_SCI_B0_CFCLR_DPERC_Msk (0x20000UL) /*!< DPERC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CFCLR_DFERC_Pos (18UL) /*!< DFERC (Bit 18) */ + #define R_SCI_B0_CFCLR_DFERC_Msk (0x40000UL) /*!< DFERC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CFCLR_ORERC_Pos (24UL) /*!< ORERC (Bit 24) */ + #define R_SCI_B0_CFCLR_ORERC_Msk (0x1000000UL) /*!< ORERC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CFCLR_MFFC_Pos (26UL) /*!< MFFC (Bit 26) */ + #define R_SCI_B0_CFCLR_MFFC_Msk (0x4000000UL) /*!< MFFC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CFCLR_PERC_Pos (27UL) /*!< PERC (Bit 27) */ + #define R_SCI_B0_CFCLR_PERC_Msk (0x8000000UL) /*!< PERC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CFCLR_FERC_Pos (28UL) /*!< FERC (Bit 28) */ + #define R_SCI_B0_CFCLR_FERC_Msk (0x10000000UL) /*!< FERC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CFCLR_TDREC_Pos (29UL) /*!< TDREC (Bit 29) */ + #define R_SCI_B0_CFCLR_TDREC_Msk (0x20000000UL) /*!< TDREC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_CFCLR_RDRFC_Pos (31UL) /*!< RDRFC (Bit 31) */ + #define R_SCI_B0_CFCLR_RDRFC_Msk (0x80000000UL) /*!< RDRFC (Bitfield-Mask: 0x01) */ +/* ======================================================== ICFCLR ========================================================= */ + #define R_SCI_B0_ICFCLR_IICSTIFC_Pos (3UL) /*!< IICSTIFC (Bit 3) */ + #define R_SCI_B0_ICFCLR_IICSTIFC_Msk (0x8UL) /*!< IICSTIFC (Bitfield-Mask: 0x01) */ +/* ========================================================= FFCLR ========================================================= */ + #define R_SCI_B0_FFCLR_DRC_Pos (0UL) /*!< DRC (Bit 0) */ + #define R_SCI_B0_FFCLR_DRC_Msk (0x1UL) /*!< DRC (Bitfield-Mask: 0x01) */ +/* ========================================================= MFCLR ========================================================= */ + #define R_SCI_B0_MFCLR_PFERC_Pos (0UL) /*!< PFERC (Bit 0) */ + #define R_SCI_B0_MFCLR_PFERC_Msk (0x1UL) /*!< PFERC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MFCLR_SYERC_Pos (1UL) /*!< SYERC (Bit 1) */ + #define R_SCI_B0_MFCLR_SYERC_Msk (0x2UL) /*!< SYERC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MFCLR_SBERC_Pos (2UL) /*!< SBERC (Bit 2) */ + #define R_SCI_B0_MFCLR_SBERC_Msk (0x4UL) /*!< SBERC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_MFCLR_MERC_Pos (4UL) /*!< MERC (Bit 4) */ + #define R_SCI_B0_MFCLR_MERC_Msk (0x10UL) /*!< MERC (Bitfield-Mask: 0x01) */ +/* ========================================================= XFCLR ========================================================= */ + #define R_SCI_B0_XFCLR_BFOC_Pos (8UL) /*!< BFOC (Bit 8) */ + #define R_SCI_B0_XFCLR_BFOC_Msk (0x100UL) /*!< BFOC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XFCLR_BCDC_Pos (9UL) /*!< BCDC (Bit 9) */ + #define R_SCI_B0_XFCLR_BCDC_Msk (0x200UL) /*!< BCDC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XFCLR_BFDC_Pos (10UL) /*!< BFDC (Bit 10) */ + #define R_SCI_B0_XFCLR_BFDC_Msk (0x400UL) /*!< BFDC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XFCLR_CF0MC_Pos (11UL) /*!< CF0MC (Bit 11) */ + #define R_SCI_B0_XFCLR_CF0MC_Msk (0x800UL) /*!< CF0MC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XFCLR_CF1MC_Pos (12UL) /*!< CF1MC (Bit 12) */ + #define R_SCI_B0_XFCLR_CF1MC_Msk (0x1000UL) /*!< CF1MC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XFCLR_PIBDC_Pos (13UL) /*!< PIBDC (Bit 13) */ + #define R_SCI_B0_XFCLR_PIBDC_Msk (0x2000UL) /*!< PIBDC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XFCLR_COFC_Pos (14UL) /*!< COFC (Bit 14) */ + #define R_SCI_B0_XFCLR_COFC_Msk (0x4000UL) /*!< COFC (Bitfield-Mask: 0x01) */ + #define R_SCI_B0_XFCLR_AEDC_Pos (15UL) /*!< AEDC (Bit 15) */ + #define R_SCI_B0_XFCLR_AEDC_Msk (0x8000UL) /*!< AEDC (Bitfield-Mask: 0x01) */ + +/* =========================================================================================================================== */ +/* ================ R_SPI_B0 ================ */ +/* =========================================================================================================================== */ + +/* ========================================================= SPDR ========================================================== */ +/* ======================================================== SPDECR ========================================================= */ + #define R_SPI_B0_SPDECR_SCKDL_Pos (0UL) /*!< SCKDL (Bit 0) */ + #define R_SPI_B0_SPDECR_SCKDL_Msk (0x7UL) /*!< SCKDL (Bitfield-Mask: 0x07) */ + #define R_SPI_B0_SPDECR_SLNDL_Pos (8UL) /*!< SLNDL (Bit 8) */ + #define R_SPI_B0_SPDECR_SLNDL_Msk (0x700UL) /*!< SLNDL (Bitfield-Mask: 0x07) */ + #define R_SPI_B0_SPDECR_SPNDL_Pos (16UL) /*!< SPNDL (Bit 16) */ + #define R_SPI_B0_SPDECR_SPNDL_Msk (0x70000UL) /*!< SPNDL (Bitfield-Mask: 0x07) */ + #define R_SPI_B0_SPDECR_ARST_Pos (24UL) /*!< ARST (Bit 24) */ + #define R_SPI_B0_SPDECR_ARST_Msk (0x7000000UL) /*!< ARST (Bitfield-Mask: 0x07) */ +/* ========================================================= SPCR ========================================================== */ + #define R_SPI_B0_SPCR_SPE_Pos (0UL) /*!< SPE (Bit 0) */ + #define R_SPI_B0_SPCR_SPE_Msk (0x1UL) /*!< SPE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPSCKSEL_Pos (7UL) /*!< SPSCKSEL (Bit 7) */ + #define R_SPI_B0_SPCR_SPSCKSEL_Msk (0x80UL) /*!< SPSCKSEL (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPPE_Pos (8UL) /*!< SPPE (Bit 8) */ + #define R_SPI_B0_SPCR_SPPE_Msk (0x100UL) /*!< SPPE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPOE_Pos (9UL) /*!< SPOE (Bit 9) */ + #define R_SPI_B0_SPCR_SPOE_Msk (0x200UL) /*!< SPOE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_PTE_Pos (11UL) /*!< PTE (Bit 11) */ + #define R_SPI_B0_SPCR_PTE_Msk (0x800UL) /*!< PTE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SCKASE_Pos (12UL) /*!< SCKASE (Bit 12) */ + #define R_SPI_B0_SPCR_SCKASE_Msk (0x1000UL) /*!< SCKASE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_BFDS_Pos (13UL) /*!< BFDS (Bit 13) */ + #define R_SPI_B0_SPCR_BFDS_Msk (0x2000UL) /*!< BFDS (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_MODFEN_Pos (14UL) /*!< MODFEN (Bit 14) */ + #define R_SPI_B0_SPCR_MODFEN_Msk (0x4000UL) /*!< MODFEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPEIE_Pos (16UL) /*!< SPEIE (Bit 16) */ + #define R_SPI_B0_SPCR_SPEIE_Msk (0x10000UL) /*!< SPEIE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPRIE_Pos (17UL) /*!< SPRIE (Bit 17) */ + #define R_SPI_B0_SPCR_SPRIE_Msk (0x20000UL) /*!< SPRIE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPIIE_Pos (18UL) /*!< SPIIE (Bit 18) */ + #define R_SPI_B0_SPCR_SPIIE_Msk (0x40000UL) /*!< SPIIE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPDRES_Pos (19UL) /*!< SPDRES (Bit 19) */ + #define R_SPI_B0_SPCR_SPDRES_Msk (0x80000UL) /*!< SPDRES (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPTIE_Pos (20UL) /*!< SPTIE (Bit 20) */ + #define R_SPI_B0_SPCR_SPTIE_Msk (0x100000UL) /*!< SPTIE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_CENDIE_Pos (21UL) /*!< CENDIE (Bit 21) */ + #define R_SPI_B0_SPCR_CENDIE_Msk (0x200000UL) /*!< CENDIE (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPMS_Pos (24UL) /*!< SPMS (Bit 24) */ + #define R_SPI_B0_SPCR_SPMS_Msk (0x1000000UL) /*!< SPMS (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_SPFRF_Pos (25UL) /*!< SPFRF (Bit 25) */ + #define R_SPI_B0_SPCR_SPFRF_Msk (0x2000000UL) /*!< SPFRF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_TXMD_Pos (28UL) /*!< TXMD (Bit 28) */ + #define R_SPI_B0_SPCR_TXMD_Msk (0x30000000UL) /*!< TXMD (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPCR_MSTR_Pos (30UL) /*!< MSTR (Bit 30) */ + #define R_SPI_B0_SPCR_MSTR_Msk (0x40000000UL) /*!< MSTR (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR_BPEN_Pos (31UL) /*!< BPEN (Bit 31) */ + #define R_SPI_B0_SPCR_BPEN_Msk (0x80000000UL) /*!< BPEN (Bitfield-Mask: 0x01) */ +/* ========================================================= SPCR2 ========================================================= */ + #define R_SPI_B0_SPCR2_RMFM_Pos (0UL) /*!< RMFM (Bit 0) */ + #define R_SPI_B0_SPCR2_RMFM_Msk (0x1fUL) /*!< RMFM (Bitfield-Mask: 0x1f) */ + #define R_SPI_B0_SPCR2_RMEDTG_Pos (6UL) /*!< RMEDTG (Bit 6) */ + #define R_SPI_B0_SPCR2_RMEDTG_Msk (0x40UL) /*!< RMEDTG (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR2_RMSTTG_Pos (7UL) /*!< RMSTTG (Bit 7) */ + #define R_SPI_B0_SPCR2_RMSTTG_Msk (0x80UL) /*!< RMSTTG (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR2_SPDRC_Pos (8UL) /*!< SPDRC (Bit 8) */ + #define R_SPI_B0_SPCR2_SPDRC_Msk (0xff00UL) /*!< SPDRC (Bitfield-Mask: 0xff) */ + #define R_SPI_B0_SPCR2_SPLP_Pos (16UL) /*!< SPLP (Bit 16) */ + #define R_SPI_B0_SPCR2_SPLP_Msk (0x10000UL) /*!< SPLP (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR2_SPLP2_Pos (17UL) /*!< SPLP2 (Bit 17) */ + #define R_SPI_B0_SPCR2_SPLP2_Msk (0x20000UL) /*!< SPLP2 (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR2_MOIFV_Pos (20UL) /*!< MOIFV (Bit 20) */ + #define R_SPI_B0_SPCR2_MOIFV_Msk (0x100000UL) /*!< MOIFV (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR2_MOIFE_Pos (21UL) /*!< MOIFE (Bit 21) */ + #define R_SPI_B0_SPCR2_MOIFE_Msk (0x200000UL) /*!< MOIFE (Bitfield-Mask: 0x01) */ +/* ========================================================= SPCR3 ========================================================= */ + #define R_SPI_B0_SPCR3_SSL0P_Pos (0UL) /*!< SSL0P (Bit 0) */ + #define R_SPI_B0_SPCR3_SSL0P_Msk (0x1UL) /*!< SSL0P (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR3_SSL1P_Pos (1UL) /*!< SSL1P (Bit 1) */ + #define R_SPI_B0_SPCR3_SSL1P_Msk (0x2UL) /*!< SSL1P (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR3_SSL2P_Pos (2UL) /*!< SSL2P (Bit 2) */ + #define R_SPI_B0_SPCR3_SSL2P_Msk (0x4UL) /*!< SSL2P (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR3_SSL3P_Pos (3UL) /*!< SSL3P (Bit 3) */ + #define R_SPI_B0_SPCR3_SSL3P_Msk (0x8UL) /*!< SSL3P (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCR3_SPBR_Pos (8UL) /*!< SPBR (Bit 8) */ + #define R_SPI_B0_SPCR3_SPBR_Msk (0xff00UL) /*!< SPBR (Bitfield-Mask: 0xff) */ + #define R_SPI_B0_SPCR3_SPSLN_Pos (24UL) /*!< SPSLN (Bit 24) */ + #define R_SPI_B0_SPCR3_SPSLN_Msk (0x7000000UL) /*!< SPSLN (Bitfield-Mask: 0x07) */ +/* ======================================================== SPCMD0 ========================================================= */ + #define R_SPI_B0_SPCMD0_CPHA_Pos (0UL) /*!< CPHA (Bit 0) */ + #define R_SPI_B0_SPCMD0_CPHA_Msk (0x1UL) /*!< CPHA (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD0_CPOL_Pos (1UL) /*!< CPOL (Bit 1) */ + #define R_SPI_B0_SPCMD0_CPOL_Msk (0x2UL) /*!< CPOL (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD0_BRDV_Pos (2UL) /*!< BRDV (Bit 2) */ + #define R_SPI_B0_SPCMD0_BRDV_Msk (0xcUL) /*!< BRDV (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPCMD0_SSLKP_Pos (7UL) /*!< SSLKP (Bit 7) */ + #define R_SPI_B0_SPCMD0_SSLKP_Msk (0x80UL) /*!< SSLKP (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD0_LSBF_Pos (12UL) /*!< LSBF (Bit 12) */ + #define R_SPI_B0_SPCMD0_LSBF_Msk (0x1000UL) /*!< LSBF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD0_SPNDEN_Pos (13UL) /*!< SPNDEN (Bit 13) */ + #define R_SPI_B0_SPCMD0_SPNDEN_Msk (0x2000UL) /*!< SPNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD0_SLNDEN_Pos (14UL) /*!< SLNDEN (Bit 14) */ + #define R_SPI_B0_SPCMD0_SLNDEN_Msk (0x4000UL) /*!< SLNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD0_SCKDEN_Pos (15UL) /*!< SCKDEN (Bit 15) */ + #define R_SPI_B0_SPCMD0_SCKDEN_Msk (0x8000UL) /*!< SCKDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD0_SPB_Pos (16UL) /*!< SPB (Bit 16) */ + #define R_SPI_B0_SPCMD0_SPB_Msk (0x1f0000UL) /*!< SPB (Bitfield-Mask: 0x1f) */ + #define R_SPI_B0_SPCMD0_SSLA_Pos (24UL) /*!< SSLA (Bit 24) */ + #define R_SPI_B0_SPCMD0_SSLA_Msk (0x7000000UL) /*!< SSLA (Bitfield-Mask: 0x07) */ +/* ======================================================== SPCMD1 ========================================================= */ + #define R_SPI_B0_SPCMD1_CPHA_Pos (0UL) /*!< CPHA (Bit 0) */ + #define R_SPI_B0_SPCMD1_CPHA_Msk (0x1UL) /*!< CPHA (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD1_CPOL_Pos (1UL) /*!< CPOL (Bit 1) */ + #define R_SPI_B0_SPCMD1_CPOL_Msk (0x2UL) /*!< CPOL (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD1_BRDV_Pos (2UL) /*!< BRDV (Bit 2) */ + #define R_SPI_B0_SPCMD1_BRDV_Msk (0xcUL) /*!< BRDV (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPCMD1_SSLKP_Pos (7UL) /*!< SSLKP (Bit 7) */ + #define R_SPI_B0_SPCMD1_SSLKP_Msk (0x80UL) /*!< SSLKP (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD1_LSBF_Pos (12UL) /*!< LSBF (Bit 12) */ + #define R_SPI_B0_SPCMD1_LSBF_Msk (0x1000UL) /*!< LSBF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD1_SPNDEN_Pos (13UL) /*!< SPNDEN (Bit 13) */ + #define R_SPI_B0_SPCMD1_SPNDEN_Msk (0x2000UL) /*!< SPNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD1_SLNDEN_Pos (14UL) /*!< SLNDEN (Bit 14) */ + #define R_SPI_B0_SPCMD1_SLNDEN_Msk (0x4000UL) /*!< SLNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD1_SCKDEN_Pos (15UL) /*!< SCKDEN (Bit 15) */ + #define R_SPI_B0_SPCMD1_SCKDEN_Msk (0x8000UL) /*!< SCKDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD1_SPB_Pos (16UL) /*!< SPB (Bit 16) */ + #define R_SPI_B0_SPCMD1_SPB_Msk (0x1f0000UL) /*!< SPB (Bitfield-Mask: 0x1f) */ + #define R_SPI_B0_SPCMD1_SSLA_Pos (24UL) /*!< SSLA (Bit 24) */ + #define R_SPI_B0_SPCMD1_SSLA_Msk (0x7000000UL) /*!< SSLA (Bitfield-Mask: 0x07) */ +/* ======================================================== SPCMD2 ========================================================= */ + #define R_SPI_B0_SPCMD2_CPHA_Pos (0UL) /*!< CPHA (Bit 0) */ + #define R_SPI_B0_SPCMD2_CPHA_Msk (0x1UL) /*!< CPHA (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD2_CPOL_Pos (1UL) /*!< CPOL (Bit 1) */ + #define R_SPI_B0_SPCMD2_CPOL_Msk (0x2UL) /*!< CPOL (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD2_BRDV_Pos (2UL) /*!< BRDV (Bit 2) */ + #define R_SPI_B0_SPCMD2_BRDV_Msk (0xcUL) /*!< BRDV (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPCMD2_SSLKP_Pos (7UL) /*!< SSLKP (Bit 7) */ + #define R_SPI_B0_SPCMD2_SSLKP_Msk (0x80UL) /*!< SSLKP (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD2_LSBF_Pos (12UL) /*!< LSBF (Bit 12) */ + #define R_SPI_B0_SPCMD2_LSBF_Msk (0x1000UL) /*!< LSBF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD2_SPNDEN_Pos (13UL) /*!< SPNDEN (Bit 13) */ + #define R_SPI_B0_SPCMD2_SPNDEN_Msk (0x2000UL) /*!< SPNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD2_SLNDEN_Pos (14UL) /*!< SLNDEN (Bit 14) */ + #define R_SPI_B0_SPCMD2_SLNDEN_Msk (0x4000UL) /*!< SLNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD2_SCKDEN_Pos (15UL) /*!< SCKDEN (Bit 15) */ + #define R_SPI_B0_SPCMD2_SCKDEN_Msk (0x8000UL) /*!< SCKDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD2_SPB_Pos (16UL) /*!< SPB (Bit 16) */ + #define R_SPI_B0_SPCMD2_SPB_Msk (0x1f0000UL) /*!< SPB (Bitfield-Mask: 0x1f) */ + #define R_SPI_B0_SPCMD2_SSLA_Pos (24UL) /*!< SSLA (Bit 24) */ + #define R_SPI_B0_SPCMD2_SSLA_Msk (0x7000000UL) /*!< SSLA (Bitfield-Mask: 0x07) */ +/* ======================================================== SPCMD3 ========================================================= */ + #define R_SPI_B0_SPCMD3_CPHA_Pos (0UL) /*!< CPHA (Bit 0) */ + #define R_SPI_B0_SPCMD3_CPHA_Msk (0x1UL) /*!< CPHA (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD3_CPOL_Pos (1UL) /*!< CPOL (Bit 1) */ + #define R_SPI_B0_SPCMD3_CPOL_Msk (0x2UL) /*!< CPOL (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD3_BRDV_Pos (2UL) /*!< BRDV (Bit 2) */ + #define R_SPI_B0_SPCMD3_BRDV_Msk (0xcUL) /*!< BRDV (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPCMD3_SSLKP_Pos (7UL) /*!< SSLKP (Bit 7) */ + #define R_SPI_B0_SPCMD3_SSLKP_Msk (0x80UL) /*!< SSLKP (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD3_LSBF_Pos (12UL) /*!< LSBF (Bit 12) */ + #define R_SPI_B0_SPCMD3_LSBF_Msk (0x1000UL) /*!< LSBF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD3_SPNDEN_Pos (13UL) /*!< SPNDEN (Bit 13) */ + #define R_SPI_B0_SPCMD3_SPNDEN_Msk (0x2000UL) /*!< SPNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD3_SLNDEN_Pos (14UL) /*!< SLNDEN (Bit 14) */ + #define R_SPI_B0_SPCMD3_SLNDEN_Msk (0x4000UL) /*!< SLNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD3_SCKDEN_Pos (15UL) /*!< SCKDEN (Bit 15) */ + #define R_SPI_B0_SPCMD3_SCKDEN_Msk (0x8000UL) /*!< SCKDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD3_SPB_Pos (16UL) /*!< SPB (Bit 16) */ + #define R_SPI_B0_SPCMD3_SPB_Msk (0x1f0000UL) /*!< SPB (Bitfield-Mask: 0x1f) */ + #define R_SPI_B0_SPCMD3_SSLA_Pos (24UL) /*!< SSLA (Bit 24) */ + #define R_SPI_B0_SPCMD3_SSLA_Msk (0x7000000UL) /*!< SSLA (Bitfield-Mask: 0x07) */ +/* ======================================================== SPCMD4 ========================================================= */ + #define R_SPI_B0_SPCMD4_CPHA_Pos (0UL) /*!< CPHA (Bit 0) */ + #define R_SPI_B0_SPCMD4_CPHA_Msk (0x1UL) /*!< CPHA (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD4_CPOL_Pos (1UL) /*!< CPOL (Bit 1) */ + #define R_SPI_B0_SPCMD4_CPOL_Msk (0x2UL) /*!< CPOL (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD4_BRDV_Pos (2UL) /*!< BRDV (Bit 2) */ + #define R_SPI_B0_SPCMD4_BRDV_Msk (0xcUL) /*!< BRDV (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPCMD4_SSLKP_Pos (7UL) /*!< SSLKP (Bit 7) */ + #define R_SPI_B0_SPCMD4_SSLKP_Msk (0x80UL) /*!< SSLKP (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD4_LSBF_Pos (12UL) /*!< LSBF (Bit 12) */ + #define R_SPI_B0_SPCMD4_LSBF_Msk (0x1000UL) /*!< LSBF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD4_SPNDEN_Pos (13UL) /*!< SPNDEN (Bit 13) */ + #define R_SPI_B0_SPCMD4_SPNDEN_Msk (0x2000UL) /*!< SPNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD4_SLNDEN_Pos (14UL) /*!< SLNDEN (Bit 14) */ + #define R_SPI_B0_SPCMD4_SLNDEN_Msk (0x4000UL) /*!< SLNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD4_SCKDEN_Pos (15UL) /*!< SCKDEN (Bit 15) */ + #define R_SPI_B0_SPCMD4_SCKDEN_Msk (0x8000UL) /*!< SCKDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD4_SPB_Pos (16UL) /*!< SPB (Bit 16) */ + #define R_SPI_B0_SPCMD4_SPB_Msk (0x1f0000UL) /*!< SPB (Bitfield-Mask: 0x1f) */ + #define R_SPI_B0_SPCMD4_SSLA_Pos (24UL) /*!< SSLA (Bit 24) */ + #define R_SPI_B0_SPCMD4_SSLA_Msk (0x7000000UL) /*!< SSLA (Bitfield-Mask: 0x07) */ +/* ======================================================== SPCMD5 ========================================================= */ + #define R_SPI_B0_SPCMD5_CPHA_Pos (0UL) /*!< CPHA (Bit 0) */ + #define R_SPI_B0_SPCMD5_CPHA_Msk (0x1UL) /*!< CPHA (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD5_CPOL_Pos (1UL) /*!< CPOL (Bit 1) */ + #define R_SPI_B0_SPCMD5_CPOL_Msk (0x2UL) /*!< CPOL (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD5_BRDV_Pos (2UL) /*!< BRDV (Bit 2) */ + #define R_SPI_B0_SPCMD5_BRDV_Msk (0xcUL) /*!< BRDV (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPCMD5_SSLKP_Pos (7UL) /*!< SSLKP (Bit 7) */ + #define R_SPI_B0_SPCMD5_SSLKP_Msk (0x80UL) /*!< SSLKP (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD5_LSBF_Pos (12UL) /*!< LSBF (Bit 12) */ + #define R_SPI_B0_SPCMD5_LSBF_Msk (0x1000UL) /*!< LSBF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD5_SPNDEN_Pos (13UL) /*!< SPNDEN (Bit 13) */ + #define R_SPI_B0_SPCMD5_SPNDEN_Msk (0x2000UL) /*!< SPNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD5_SLNDEN_Pos (14UL) /*!< SLNDEN (Bit 14) */ + #define R_SPI_B0_SPCMD5_SLNDEN_Msk (0x4000UL) /*!< SLNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD5_SCKDEN_Pos (15UL) /*!< SCKDEN (Bit 15) */ + #define R_SPI_B0_SPCMD5_SCKDEN_Msk (0x8000UL) /*!< SCKDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD5_SPB_Pos (16UL) /*!< SPB (Bit 16) */ + #define R_SPI_B0_SPCMD5_SPB_Msk (0x1f0000UL) /*!< SPB (Bitfield-Mask: 0x1f) */ + #define R_SPI_B0_SPCMD5_SSLA_Pos (24UL) /*!< SSLA (Bit 24) */ + #define R_SPI_B0_SPCMD5_SSLA_Msk (0x7000000UL) /*!< SSLA (Bitfield-Mask: 0x07) */ +/* ======================================================== SPCMD6 ========================================================= */ + #define R_SPI_B0_SPCMD6_CPHA_Pos (0UL) /*!< CPHA (Bit 0) */ + #define R_SPI_B0_SPCMD6_CPHA_Msk (0x1UL) /*!< CPHA (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD6_CPOL_Pos (1UL) /*!< CPOL (Bit 1) */ + #define R_SPI_B0_SPCMD6_CPOL_Msk (0x2UL) /*!< CPOL (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD6_BRDV_Pos (2UL) /*!< BRDV (Bit 2) */ + #define R_SPI_B0_SPCMD6_BRDV_Msk (0xcUL) /*!< BRDV (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPCMD6_SSLKP_Pos (7UL) /*!< SSLKP (Bit 7) */ + #define R_SPI_B0_SPCMD6_SSLKP_Msk (0x80UL) /*!< SSLKP (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD6_LSBF_Pos (12UL) /*!< LSBF (Bit 12) */ + #define R_SPI_B0_SPCMD6_LSBF_Msk (0x1000UL) /*!< LSBF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD6_SPNDEN_Pos (13UL) /*!< SPNDEN (Bit 13) */ + #define R_SPI_B0_SPCMD6_SPNDEN_Msk (0x2000UL) /*!< SPNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD6_SLNDEN_Pos (14UL) /*!< SLNDEN (Bit 14) */ + #define R_SPI_B0_SPCMD6_SLNDEN_Msk (0x4000UL) /*!< SLNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD6_SCKDEN_Pos (15UL) /*!< SCKDEN (Bit 15) */ + #define R_SPI_B0_SPCMD6_SCKDEN_Msk (0x8000UL) /*!< SCKDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD6_SPB_Pos (16UL) /*!< SPB (Bit 16) */ + #define R_SPI_B0_SPCMD6_SPB_Msk (0x1f0000UL) /*!< SPB (Bitfield-Mask: 0x1f) */ + #define R_SPI_B0_SPCMD6_SSLA_Pos (24UL) /*!< SSLA (Bit 24) */ + #define R_SPI_B0_SPCMD6_SSLA_Msk (0x7000000UL) /*!< SSLA (Bitfield-Mask: 0x07) */ +/* ======================================================== SPCMD7 ========================================================= */ + #define R_SPI_B0_SPCMD7_CPHA_Pos (0UL) /*!< CPHA (Bit 0) */ + #define R_SPI_B0_SPCMD7_CPHA_Msk (0x1UL) /*!< CPHA (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD7_CPOL_Pos (1UL) /*!< CPOL (Bit 1) */ + #define R_SPI_B0_SPCMD7_CPOL_Msk (0x2UL) /*!< CPOL (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD7_BRDV_Pos (2UL) /*!< BRDV (Bit 2) */ + #define R_SPI_B0_SPCMD7_BRDV_Msk (0xcUL) /*!< BRDV (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPCMD7_SSLKP_Pos (7UL) /*!< SSLKP (Bit 7) */ + #define R_SPI_B0_SPCMD7_SSLKP_Msk (0x80UL) /*!< SSLKP (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD7_LSBF_Pos (12UL) /*!< LSBF (Bit 12) */ + #define R_SPI_B0_SPCMD7_LSBF_Msk (0x1000UL) /*!< LSBF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD7_SPNDEN_Pos (13UL) /*!< SPNDEN (Bit 13) */ + #define R_SPI_B0_SPCMD7_SPNDEN_Msk (0x2000UL) /*!< SPNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD7_SLNDEN_Pos (14UL) /*!< SLNDEN (Bit 14) */ + #define R_SPI_B0_SPCMD7_SLNDEN_Msk (0x4000UL) /*!< SLNDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD7_SCKDEN_Pos (15UL) /*!< SCKDEN (Bit 15) */ + #define R_SPI_B0_SPCMD7_SCKDEN_Msk (0x8000UL) /*!< SCKDEN (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPCMD7_SPB_Pos (16UL) /*!< SPB (Bit 16) */ + #define R_SPI_B0_SPCMD7_SPB_Msk (0x1f0000UL) /*!< SPB (Bitfield-Mask: 0x1f) */ + #define R_SPI_B0_SPCMD7_SSLA_Pos (24UL) /*!< SSLA (Bit 24) */ + #define R_SPI_B0_SPCMD7_SSLA_Msk (0x7000000UL) /*!< SSLA (Bitfield-Mask: 0x07) */ +/* ========================================================= SPDCR ========================================================= */ + #define R_SPI_B0_SPDCR_BYSW_Pos (0UL) /*!< BYSW (Bit 0) */ + #define R_SPI_B0_SPDCR_BYSW_Msk (0x1UL) /*!< BYSW (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPDCR_SPRDTD_Pos (3UL) /*!< SPRDTD (Bit 3) */ + #define R_SPI_B0_SPDCR_SPRDTD_Msk (0x8UL) /*!< SPRDTD (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPDCR_SINV_Pos (4UL) /*!< SINV (Bit 4) */ + #define R_SPI_B0_SPDCR_SINV_Msk (0x10UL) /*!< SINV (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPDCR_SPFC_Pos (8UL) /*!< SPFC (Bit 8) */ + #define R_SPI_B0_SPDCR_SPFC_Msk (0x300UL) /*!< SPFC (Bitfield-Mask: 0x03) */ +/* ======================================================== SPDCR2 ========================================================= */ + #define R_SPI_B0_SPDCR2_RTRG_Pos (0UL) /*!< RTRG (Bit 0) */ + #define R_SPI_B0_SPDCR2_RTRG_Msk (0x3UL) /*!< RTRG (Bitfield-Mask: 0x03) */ + #define R_SPI_B0_SPDCR2_TTRG_Pos (8UL) /*!< TTRG (Bit 8) */ + #define R_SPI_B0_SPDCR2_TTRG_Msk (0x300UL) /*!< TTRG (Bitfield-Mask: 0x03) */ +/* ========================================================= SPSR ========================================================== */ + #define R_SPI_B0_SPSR_SPCP_Pos (8UL) /*!< SPCP (Bit 8) */ + #define R_SPI_B0_SPSR_SPCP_Msk (0x700UL) /*!< SPCP (Bitfield-Mask: 0x07) */ + #define R_SPI_B0_SPSR_SPECM_Pos (12UL) /*!< SPECM (Bit 12) */ + #define R_SPI_B0_SPSR_SPECM_Msk (0x7000UL) /*!< SPECM (Bitfield-Mask: 0x07) */ + #define R_SPI_B0_SPSR_SPDRF_Pos (23UL) /*!< SPDRF (Bit 23) */ + #define R_SPI_B0_SPSR_SPDRF_Msk (0x800000UL) /*!< SPDRF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSR_OVRF_Pos (24UL) /*!< OVRF (Bit 24) */ + #define R_SPI_B0_SPSR_OVRF_Msk (0x1000000UL) /*!< OVRF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSR_IDLNF_Pos (25UL) /*!< IDLNF (Bit 25) */ + #define R_SPI_B0_SPSR_IDLNF_Msk (0x2000000UL) /*!< IDLNF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSR_MODF_Pos (26UL) /*!< MODF (Bit 26) */ + #define R_SPI_B0_SPSR_MODF_Msk (0x4000000UL) /*!< MODF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSR_PERF_Pos (27UL) /*!< PERF (Bit 27) */ + #define R_SPI_B0_SPSR_PERF_Msk (0x8000000UL) /*!< PERF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSR_UDRF_Pos (28UL) /*!< UDRF (Bit 28) */ + #define R_SPI_B0_SPSR_UDRF_Msk (0x10000000UL) /*!< UDRF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSR_SPTEF_Pos (29UL) /*!< SPTEF (Bit 29) */ + #define R_SPI_B0_SPSR_SPTEF_Msk (0x20000000UL) /*!< SPTEF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSR_CENDF_Pos (30UL) /*!< CENDF (Bit 30) */ + #define R_SPI_B0_SPSR_CENDF_Msk (0x40000000UL) /*!< CENDF (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSR_SPRF_Pos (31UL) /*!< SPRF (Bit 31) */ + #define R_SPI_B0_SPSR_SPRF_Msk (0x80000000UL) /*!< SPRF (Bitfield-Mask: 0x01) */ +/* ======================================================== SPTFSR ========================================================= */ + #define R_SPI_B0_SPTFSR_TFDN_Pos (0UL) /*!< TFDN (Bit 0) */ + #define R_SPI_B0_SPTFSR_TFDN_Msk (0x7UL) /*!< TFDN (Bitfield-Mask: 0x07) */ +/* ======================================================== SPRFSR ========================================================= */ + #define R_SPI_B0_SPRFSR_RFDN_Pos (0UL) /*!< RFDN (Bit 0) */ + #define R_SPI_B0_SPRFSR_RFDN_Msk (0x7UL) /*!< RFDN (Bitfield-Mask: 0x07) */ +/* ========================================================= SPPSR ========================================================= */ + #define R_SPI_B0_SPPSR_SPEPS_Pos (0UL) /*!< SPEPS (Bit 0) */ + #define R_SPI_B0_SPPSR_SPEPS_Msk (0x1UL) /*!< SPEPS (Bitfield-Mask: 0x01) */ +/* ========================================================= SPSRC ========================================================= */ + #define R_SPI_B0_SPSRC_SPDRFC_Pos (23UL) /*!< SPDRFC (Bit 23) */ + #define R_SPI_B0_SPSRC_SPDRFC_Msk (0x800000UL) /*!< SPDRFC (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSRC_OVRFC_Pos (24UL) /*!< OVRFC (Bit 24) */ + #define R_SPI_B0_SPSRC_OVRFC_Msk (0x1000000UL) /*!< OVRFC (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSRC_MODFC_Pos (26UL) /*!< MODFC (Bit 26) */ + #define R_SPI_B0_SPSRC_MODFC_Msk (0x4000000UL) /*!< MODFC (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSRC_PERFC_Pos (27UL) /*!< PERFC (Bit 27) */ + #define R_SPI_B0_SPSRC_PERFC_Msk (0x8000000UL) /*!< PERFC (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSRC_UDRFC_Pos (28UL) /*!< UDRFC (Bit 28) */ + #define R_SPI_B0_SPSRC_UDRFC_Msk (0x10000000UL) /*!< UDRFC (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSRC_SPTEFC_Pos (29UL) /*!< SPTEFC (Bit 29) */ + #define R_SPI_B0_SPSRC_SPTEFC_Msk (0x20000000UL) /*!< SPTEFC (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSRC_CENDFC_Pos (30UL) /*!< CENDFC (Bit 30) */ + #define R_SPI_B0_SPSRC_CENDFC_Msk (0x40000000UL) /*!< CENDFC (Bitfield-Mask: 0x01) */ + #define R_SPI_B0_SPSRC_SPRFC_Pos (31UL) /*!< SPRFC (Bit 31) */ + #define R_SPI_B0_SPSRC_SPRFC_Msk (0x80000000UL) /*!< SPRFC (Bitfield-Mask: 0x01) */ +/* ========================================================= SPFCR ========================================================= */ + #define R_SPI_B0_SPFCR_SPFRST_Pos (0UL) /*!< SPFRST (Bit 0) */ + #define R_SPI_B0_SPFCR_SPFRST_Msk (0x1UL) /*!< SPFRST (Bitfield-Mask: 0x01) */ + +/* =========================================================================================================================== */ +/* ================ R_TFU ================ */ +/* =========================================================================================================================== */ + +/* ========================================================= SCDT0 ========================================================= */ + #define R_TFU_SCDT0_SCDT0_Pos (0UL) /*!< SCDT0 (Bit 0) */ + #define R_TFU_SCDT0_SCDT0_Msk (0xffffffffUL) /*!< SCDT0 (Bitfield-Mask: 0xffffffff) */ +/* ========================================================= SCDT1 ========================================================= */ + #define R_TFU_SCDT1_SCDT1_Pos (0UL) /*!< SCDT1 (Bit 0) */ + #define R_TFU_SCDT1_SCDT1_Msk (0xffffffffUL) /*!< SCDT1 (Bitfield-Mask: 0xffffffff) */ +/* ========================================================= ATDT0 ========================================================= */ + #define R_TFU_ATDT0_ATDT0_Pos (0UL) /*!< ATDT0 (Bit 0) */ + #define R_TFU_ATDT0_ATDT0_Msk (0xffffffffUL) /*!< ATDT0 (Bitfield-Mask: 0xffffffff) */ +/* ========================================================= ATDT1 ========================================================= */ + #define R_TFU_ATDT1_ATDT1_Pos (0UL) /*!< ATDT1 (Bit 0) */ + #define R_TFU_ATDT1_ATDT1_Msk (0xffffffffUL) /*!< ATDT1 (Bitfield-Mask: 0xffffffff) */ + /** @} */ /* End of group PosMask_peripherals */ #ifdef __cplusplus diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c similarity index 99% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c index 334ab87ff4..a2e07b2f03 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c @@ -63,6 +63,7 @@ void Reset_Handler (void) /* Initialize system using BSP. */ SystemInit(); + /* Call user application. */ #ifdef __ARMCC_VERSION main(); #elif defined(__GNUC__) diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c similarity index 93% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c index cfe71882c8..2e0f1e1c77 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c @@ -28,7 +28,6 @@ **********************************************************************************************************************/ #include #include "bsp_api.h" -#include "hal_data.h" /*********************************************************************************************************************** * Macro definitions @@ -68,7 +67,7 @@ **********************************************************************************************************************/ /** System Clock Frequency (Core Clock) */ -uint32_t SystemCoreClock = 0U; +uint32_t SystemCoreClock BSP_SECTION_EARLY_INIT; #if defined(__ARMCC_VERSION) extern uint32_t Image$$BSS$$ZI$$Base; @@ -136,6 +135,11 @@ void R_BSP_WarmStart(bsp_warm_start_event_t event) __attribute__((weak)); #endif +#if BSP_CFG_EARLY_INIT +static void bsp_init_uninitialized_vars(void); + +#endif + /*******************************************************************************************************************//** * Initialize the MCU and the runtime environment. **********************************************************************************************************************/ @@ -186,6 +190,16 @@ void SystemInit (void) #endif #endif +#if BSP_FEATURE_TFU_SUPPORTED + R_BSP_MODULE_START(FSP_IP_TFU, 0U); +#endif + +#if BSP_CFG_EARLY_INIT + + /* Initialize uninitialized BSP variables early for use in R_BSP_WarmStart. */ + bsp_init_uninitialized_vars(); +#endif + /* Call pre clock initialization hook. */ R_BSP_WarmStart(BSP_WARM_START_RESET); @@ -333,6 +347,9 @@ void SystemInit (void) /* Initialize ELC events that will be used to trigger NVIC interrupts. */ bsp_irq_cfg(); + + /* Call any BSP specific code. No arguments are needed so NULL is sent. */ + bsp_init(NULL); } /*******************************************************************************************************************//** @@ -357,7 +374,6 @@ void R_BSP_WarmStart (bsp_warm_start_event_t event) else if (BSP_WARM_START_POST_C == event) { /* C runtime environment, system clocks, and pins are all setup. */ - R_IOPORT_Open(&g_ioport_ctrl, &g_bsp_pin_cfg); } else { @@ -409,4 +425,34 @@ static void bsp_reset_trng_circuit (void) #endif +#if BSP_CFG_EARLY_INIT + +/*******************************************************************************************************************//** + * Initialize BSP variables not handled by C runtime startup. + **********************************************************************************************************************/ +static void bsp_init_uninitialized_vars (void) +{ + g_protect_pfswe_counter = 0; + + extern volatile uint16_t g_protect_counters[]; + for (uint32_t i = 0; i < 4; i++) + { + g_protect_counters[i] = 0; + } + + extern bsp_grp_irq_cb_t g_bsp_group_irq_sources[]; + for (uint32_t i = 0; i < 16; i++) + { + g_bsp_group_irq_sources[i] = 0; + } + + #if BSP_CFG_EARLY_INIT + + /* Set SystemCoreClock to MOCO */ + SystemCoreClock = BSP_MOCO_HZ; + #endif +} + +#endif + /** @} (end addtogroup BSP_MCU) */ diff --git a/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_arm_exceptions.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_arm_exceptions.h new file mode 100644 index 0000000000..a8f399026d --- /dev/null +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_arm_exceptions.h @@ -0,0 +1,50 @@ +/*********************************************************************************************************************** + * Copyright [2020-2021] Renesas Electronics Corporation and/or its affiliates. All Rights Reserved. + * + * This software and documentation are supplied by Renesas Electronics America Inc. and may only be used with products + * of Renesas Electronics Corp. and its affiliates ("Renesas"). No other uses are authorized. Renesas products are + * sold pursuant to Renesas terms and conditions of sale. Purchasers are solely responsible for the selection and use + * of Renesas products and Renesas assumes no liability. No license, express or implied, to any intellectual property + * right is granted by Renesas. This software is protected under all applicable laws, including copyright laws. Renesas + * reserves the right to change or discontinue this software and/or this documentation. THE SOFTWARE AND DOCUMENTATION + * IS DELIVERED TO YOU "AS IS," AND RENESAS MAKES NO REPRESENTATIONS OR WARRANTIES, AND TO THE FULLEST EXTENT + * PERMISSIBLE UNDER APPLICABLE LAW, DISCLAIMS ALL WARRANTIES, WHETHER EXPLICITLY OR IMPLICITLY, INCLUDING WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT, WITH RESPECT TO THE SOFTWARE OR + * DOCUMENTATION. RENESAS SHALL HAVE NO LIABILITY ARISING OUT OF ANY SECURITY VULNERABILITY OR BREACH. TO THE MAXIMUM + * EXTENT PERMITTED BY LAW, IN NO EVENT WILL RENESAS BE LIABLE TO YOU IN CONNECTION WITH THE SOFTWARE OR DOCUMENTATION + * (OR ANY PERSON OR ENTITY CLAIMING RIGHTS DERIVED FROM YOU) FOR ANY LOSS, DAMAGES, OR CLAIMS WHATSOEVER, INCLUDING, + * WITHOUT LIMITATION, ANY DIRECT, CONSEQUENTIAL, SPECIAL, INDIRECT, PUNITIVE, OR INCIDENTAL DAMAGES; ANY LOST PROFITS, + * OTHER ECONOMIC DAMAGE, PROPERTY DAMAGE, OR PERSONAL INJURY; AND EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS. + **********************************************************************************************************************/ + +/** @} (end addtogroup BSP_MCU) */ + +#ifndef BSP_ARM_EXCEPTIONS_H +#define BSP_ARM_EXCEPTIONS_H + +/*********************************************************************************************************************** + * Macro definitions + **********************************************************************************************************************/ + +/*********************************************************************************************************************** + * Typedef definitions + **********************************************************************************************************************/ + +/* This list includes only Arm standard exceptions. Renesas interrupts are defined in vector_data.h. */ +typedef enum IRQn +{ + Reset_IRQn = -15, /* 1 Reset Vector invoked on Power up and warm reset */ + NonMaskableInt_IRQn = -14, /* 2 Non maskable Interrupt cannot be stopped or preempted */ + HardFault_IRQn = -13, /* 3 Hard Fault all classes of Fault */ + MemoryManagement_IRQn = -12, /* 4 Memory Management MPU mismatch, including Access Violation and No Match */ + BusFault_IRQn = -11, /* 5 Bus Fault Pre-Fetch-, Memory Access, other address/memory Fault */ + UsageFault_IRQn = -10, /* 6 Usage Fault i.e. Undef Instruction, Illegal State Transition */ + SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ + SVCall_IRQn = -5, /* 11 System Service Call via SVC instruction */ + DebugMonitor_IRQn = -4, /* 12 Debug Monitor */ + PendSV_IRQn = -2, /* 14 Pendable request for system service */ + SysTick_IRQn = -1, /* 15 System Tick Timer */ +} IRQn_Type; + +#endif diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.c similarity index 79% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.c index b52072e87a..2f2374b41b 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.c @@ -155,7 +155,9 @@ BSP_PRV_STARTUP_SCKDIVCR_FCLK_BITS) /* The number of clocks is used to size the g_clock_freq array. */ -#if BSP_PRV_PLL_SUPPORTED +#if BSP_PRV_PLL2_SUPPORTED + #define BSP_PRV_NUM_CLOCKS ((uint8_t) BSP_CLOCKS_SOURCE_CLOCK_PLL2 + 1U) +#elif BSP_PRV_PLL_SUPPORTED #define BSP_PRV_NUM_CLOCKS ((uint8_t) BSP_CLOCKS_SOURCE_CLOCK_PLL + 1U) #else #define BSP_PRV_NUM_CLOCKS ((uint8_t) BSP_CLOCKS_SOURCE_CLOCK_SUBCLOCK + 1U) @@ -198,10 +200,144 @@ (BSP_PRV_PL2SRCSEL << R_SYSTEM_PLL2CCR_PL2SRCSEL_Pos)) #endif +/* All clocks with configurable source except PLL and CLKOUT can use PLL. */ +#if (BSP_CFG_CLOCK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL) + #define BSP_PRV_PLL_USED (1) + #define BSP_PRV_STABILIZE_PLL (1) +#elif defined(BSP_CFG_UCK_SOURCE) && BSP_FEATURE_BSP_HAS_USB_CLOCK_REQ && \ + (BSP_CFG_UCK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL) + #define BSP_PRV_PLL_USED (1) +#elif defined(BSP_CFG_SCISPICLK_SOURCE) && (BSP_CFG_SCISPICLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL) + #define BSP_PRV_PLL_USED (1) +#elif defined(BSP_CFG_CANFDCLK_SOURCE) && (BSP_CFG_CANFDCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL) + #define BSP_PRV_PLL_USED (1) +#elif defined(BSP_CFG_GPTCLK_SOURCE) && (BSP_CFG_GPTCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL) + #define BSP_PRV_PLL_USED (1) +#elif defined(BSP_CFG_IICCLK_SOURCE) && (BSP_CFG_IICCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL) + #define BSP_PRV_PLL_USED (1) +#elif defined(BSP_CFG_OCTA_SOURCE) && (BSP_CFG_OCTA_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL) + #define BSP_PRV_PLL_USED (1) +#else + #define BSP_PRV_PLL_USED (0) +#endif + +/* All clocks with configurable source except the main clock, PLL, and CLKOUT can use PLL2. */ +#if defined(BSP_CFG_UCK_SOURCE) && BSP_FEATURE_BSP_HAS_USB_CLOCK_REQ && \ + (BSP_CFG_UCK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL2) + #define BSP_PRV_PLL2_USED (1) +#elif defined(BSP_CFG_SCISPICLK_SOURCE) && (BSP_CFG_SCISPICLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL2) + #define BSP_PRV_PLL2_USED (1) +#elif defined(BSP_CFG_CANFDCLK_SOURCE) && (BSP_CFG_CANFDCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL2) + #define BSP_PRV_PLL2_USED (1) +#elif defined(BSP_CFG_GPTCLK_SOURCE) && (BSP_CFG_GPTCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL2) + #define BSP_PRV_PLL2_USED (1) +#elif defined(BSP_CFG_IICCLK_SOURCE) && (BSP_CFG_IICCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL2) + #define BSP_PRV_PLL2_USED (1) +#elif defined(BSP_CFG_OCTA_SOURCE) && (BSP_CFG_OCTA_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_PLL2) + #define BSP_PRV_PLL2_USED (1) +#else + #define BSP_PRV_PLL2_USED (0) +#endif + +/* All clocks with configurable source except UCK, CANFD can use the main oscillator. */ +#if (BSP_CFG_CLOCK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC) + #define BSP_PRV_MAIN_OSC_USED (1) + #define BSP_PRV_STABILIZE_MAIN_OSC (1) +#elif defined(BSP_CFG_PLL_SOURCE) && (BSP_CFG_PLL_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC) && BSP_PRV_PLL_USED + #define BSP_PRV_MAIN_OSC_USED (1) + #define BSP_PRV_STABILIZE_MAIN_OSC (1) +#elif defined(BSP_CFG_PLL2_SOURCE) && (BSP_CFG_PLL2_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC) && BSP_PRV_PLL2_USED + #define BSP_PRV_MAIN_OSC_USED (1) + #define BSP_PRV_STABILIZE_MAIN_OSC (1) +#elif defined(BSP_CFG_CLKOUT_SOURCE) && (BSP_CFG_CLKOUT_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC) + #define BSP_PRV_MAIN_OSC_USED (1) +#elif defined(BSP_CFG_SCISPICLK_SOURCE) && (BSP_CFG_SCISPICLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC) + #define BSP_PRV_MAIN_OSC_USED (1) +#elif defined(BSP_CFG_CANFDCLK_SOURCE) && (BSP_CFG_CANFDCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC) + #define BSP_PRV_MAIN_OSC_USED (1) +#elif defined(BSP_CFG_GPTCLK_SOURCE) && (BSP_CFG_GPTCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC) + #define BSP_PRV_MAIN_OSC_USED (1) +#elif defined(BSP_CFG_IICCLK_SOURCE) && (BSP_CFG_IICCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC) + #define BSP_PRV_MAIN_OSC_USED (1) +#elif defined(BSP_CFG_OCTA_SOURCE) && (BSP_CFG_OCTA_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC) + #define BSP_PRV_MAIN_OSC_USED (1) +#else + #define BSP_PRV_MAIN_OSC_USED (0) +#endif + +/* All clocks with configurable source can use HOCO. */ +#if (BSP_CFG_CLOCK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) + #define BSP_PRV_HOCO_USED (1) + #define BSP_PRV_STABILIZE_HOCO (1) +#elif defined(BSP_CFG_PLL_SOURCE) && (BSP_CFG_PLL_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) && BSP_PRV_PLL_USED + #define BSP_PRV_HOCO_USED (1) + #define BSP_PRV_STABILIZE_HOCO (1) +#elif defined(BSP_CFG_PLL2_SOURCE) && (BSP_CFG_PLL2_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) && BSP_PRV_PLL2_USED + #define BSP_PRV_HOCO_USED (1) + #define BSP_PRV_STABILIZE_HOCO (1) +#elif defined(BSP_CFG_UCK_SOURCE) && BSP_FEATURE_BSP_HAS_USB_CLOCK_REQ && \ + (BSP_CFG_UCK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) + #define BSP_PRV_HOCO_USED (1) +#elif defined(BSP_CFG_CLKOUT_SOURCE) && (BSP_CFG_CLKOUT_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) + #define BSP_PRV_HOCO_USED (1) +#elif defined(BSP_CFG_SCISPICLK_SOURCE) && (BSP_CFG_SCISPICLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) + #define BSP_PRV_HOCO_USED (1) +#elif defined(BSP_CFG_CANFDCLK_SOURCE) && (BSP_CFG_CANFDCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) + #define BSP_PRV_HOCO_USED (1) +#elif defined(BSP_CFG_GPTCLK_SOURCE) && (BSP_CFG_GPTCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) + #define BSP_PRV_HOCO_USED (1) +#elif defined(BSP_CFG_IICCLK_SOURCE) && (BSP_CFG_IICCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) + #define BSP_PRV_HOCO_USED (1) +#elif defined(BSP_CFG_OCTA_SOURCE) && (BSP_CFG_OCTA_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_HOCO) + #define BSP_PRV_HOCO_USED (1) +#else + #define BSP_PRV_HOCO_USED (0) +#endif + +/* All clocks with configurable source except UCK, CANFD, and PLL can use MOCO. */ +#if (BSP_CFG_CLOCK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MOCO) + #define BSP_PRV_MOCO_USED (1) + #define BSP_PRV_STABILIZE_MOCO (1) +#elif defined(BSP_CFG_CLKOUT_SOURCE) && (BSP_CFG_CLKOUT_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MOCO) + #define BSP_PRV_MOCO_USED (1) +#elif defined(BSP_CFG_SCISPICLK_SOURCE) && (BSP_CFG_SCISPICLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MOCO) + #define BSP_PRV_MOCO_USED (1) +#elif defined(BSP_CFG_CANFDCLK_SOURCE) && (BSP_CFG_CANFDCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MOCO) + #define BSP_PRV_MOCO_USED (1) +#elif defined(BSP_CFG_GPTCLK_SOURCE) && (BSP_CFG_GPTCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MOCO) + #define BSP_PRV_MOCO_USED (1) +#elif defined(BSP_CFG_IICCLK_SOURCE) && (BSP_CFG_IICCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MOCO) + #define BSP_PRV_MOCO_USED (1) +#elif defined(BSP_CFG_OCTA_SOURCE) && (BSP_CFG_OCTA_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_MOCO) + #define BSP_PRV_MOCO_USED (1) +#else + #define BSP_PRV_MOCO_USED (0) +#endif + +/* All clocks with configurable source except UCK, CANFD, and PLL can use LOCO. */ +#if (BSP_CFG_CLOCK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_LOCO) + #define BSP_PRV_LOCO_USED (1) + #define BSP_PRV_STABILIZE_LOCO (1) +#elif defined(BSP_CFG_CLKOUT_SOURCE) && (BSP_CFG_CLKOUT_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_LOCO) + #define BSP_PRV_LOCO_USED (1) +#elif defined(BSP_CFG_SCISPICLK_SOURCE) && (BSP_CFG_SCISPICLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_LOCO) + #define BSP_PRV_LOCO_USED (1) +#elif defined(BSP_CFG_CANFDCLK_SOURCE) && (BSP_CFG_CANFDCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_LOCO) + #define BSP_PRV_LOCO_USED (1) +#elif defined(BSP_CFG_GPTCLK_SOURCE) && (BSP_CFG_GPTCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_LOCO) + #define BSP_PRV_LOCO_USED (1) +#elif defined(BSP_CFG_IICCLK_SOURCE) && (BSP_CFG_IICCLK_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_LOCO) + #define BSP_PRV_LOCO_USED (1) +#elif defined(BSP_CFG_OCTA_SOURCE) && (BSP_CFG_OCTA_SOURCE == BSP_CLOCKS_SOURCE_CLOCK_LOCO) + #define BSP_PRV_LOCO_USED (1) +#else + #define BSP_PRV_LOCO_USED (0) +#endif + /* Determine the optimal operating speed mode to apply after clock configuration based on the startup clock * frequency. */ #if BSP_STARTUP_ICLK_HZ <= BSP_FEATURE_CGC_LOW_SPEED_MAX_FREQ_HZ && \ - BSP_CLOCKS_SOURCE_CLOCK_PLL != BSP_CFG_CLOCK_SOURCE + !BSP_PRV_PLL_USED && !BSP_PRV_PLL2_USED #define BSP_PRV_STARTUP_OPERATING_MODE (BSP_PRV_OPERATING_MODE_LOW_SPEED) #elif BSP_STARTUP_ICLK_HZ <= BSP_FEATURE_CGC_MIDDLE_SPEED_MAX_FREQ_HZ #define BSP_PRV_STARTUP_OPERATING_MODE (BSP_PRV_OPERATING_MODE_MIDDLE_SPEED) @@ -732,6 +868,28 @@ static void bsp_clock_freq_var_init (void) R_BSP_ClockUpdateCallbackSet(g_bsp_clock_update_callback, &g_callback_memory); #endif + /* Update PLL Clock Frequency based on BSP Configuration. */ +#if BSP_PRV_PLL_SUPPORTED && BSP_CLOCKS_SOURCE_CLOCK_PLL != BSP_CFG_CLOCK_SOURCE && BSP_PRV_PLL_USED + #if (1U == BSP_FEATURE_CGC_PLLCCR_TYPE) + g_clock_freq[BSP_CLOCKS_SOURCE_CLOCK_PLL] = ((g_clock_freq[BSP_CFG_PLL_SOURCE] * (BSP_CFG_PLL_MUL + 1U)) >> 1U) / + (BSP_CFG_PLL_DIV + 1U); + #else + g_clock_freq[BSP_CLOCKS_SOURCE_CLOCK_PLL] = ((g_clock_freq[BSP_CFG_PLL_SOURCE] * (BSP_CFG_PLL_MUL + 1U)) >> 1U) >> + BSP_CFG_PLL_DIV; + #endif +#endif + + /* Update PLL2 Clock Frequency based on BSP Configuration. */ +#if BSP_PRV_PLL2_SUPPORTED && BSP_PRV_PLL2_USED + #if (1U == BSP_FEATURE_CGC_PLLCCR_TYPE) + g_clock_freq[BSP_CLOCKS_SOURCE_CLOCK_PLL2] = ((g_clock_freq[BSP_CFG_PLL2_SOURCE] * (BSP_CFG_PLL2_MUL + 1U)) >> 1U) / + (BSP_CFG_PLL2_DIV + 1U); + #else + g_clock_freq[BSP_CLOCKS_SOURCE_CLOCK_PLL2] = + ((g_clock_freq[BSP_CFG_PLL2_SOURCE] * (BSP_CFG_PLL2_MUL + 1U)) >> 1U) >> BSP_CFG_PLL2_DIV; + #endif +#endif + /* The SystemCoreClock needs to be updated before calling R_BSP_SoftwareDelay. */ SystemCoreClockUpdate(); } @@ -792,7 +950,8 @@ void bsp_clock_init (void) #endif #endif -#if BSP_CLOCK_CFG_SUBCLOCK_POPULATED +#if BSP_FEATURE_CGC_HAS_SOSC + #if BSP_CLOCK_CFG_SUBCLOCK_POPULATED /* If the board has a subclock, set the subclock drive and start the subclock if the subclock is stopped. If the * subclock is running, the subclock drive is assumed to be set appropriately. */ @@ -801,15 +960,16 @@ void bsp_clock_init (void) /* Configure the subclock drive if the subclock is not already running. */ R_SYSTEM->SOMCR = ((BSP_CLOCK_CFG_SUBCLOCK_DRIVE << BSP_FEATURE_CGC_SODRV_SHIFT) & BSP_FEATURE_CGC_SODRV_MASK); R_SYSTEM->SOSCCR = 0U; - #if (BSP_CLOCKS_SOURCE_CLOCK_SUBCLOCK == BSP_CFG_CLOCK_SOURCE) || (BSP_PRV_HOCO_USE_FLL) + #if (BSP_CLOCKS_SOURCE_CLOCK_SUBCLOCK == BSP_CFG_CLOCK_SOURCE) || (BSP_PRV_HOCO_USE_FLL) /* If the subclock is the system clock source OR if FLL is used, wait for stabilization. */ R_BSP_SoftwareDelay(BSP_CLOCK_CFG_SUBCLOCK_STABILIZATION_MS, BSP_DELAY_UNITS_MILLISECONDS); - #endif + #endif } -#else + #else R_SYSTEM->SOSCCR = 1U; + #endif #endif #if BSP_FEATURE_CGC_HAS_HOCOWTCR @@ -846,7 +1006,7 @@ void bsp_clock_init (void) /* MCUs that support low voltage mode start up in low voltage mode. */ bsp_prv_operating_mode_opccr_set(BSP_PRV_OPERATING_MODE_HIGH_SPEED); - #if BSP_CLOCKS_SOURCE_CLOCK_HOCO != BSP_CFG_CLOCK_SOURCE && BSP_CLOCKS_SOURCE_CLOCK_HOCO != BSP_CFG_PLL_SOURCE + #if !BSP_PRV_HOCO_USED /* HOCO must be running during startup in low voltage mode. If HOCO is not used, turn it off after exiting low * voltage mode. */ @@ -867,17 +1027,77 @@ void bsp_clock_init (void) R_SYSTEM->FLLCR1 = 1U; #endif - /* If the PLL is the desired source clock, ensure the source clock is running and stable and the power mode - * allows PLL operation. */ -#if BSP_PRV_PLL_SUPPORTED - #if BSP_CLOCKS_SOURCE_CLOCK_PLL == BSP_CFG_CLOCK_SOURCE - - /* Start PLL source clock. */ - #if BSP_CLOCKS_SOURCE_CLOCK_HOCO == BSP_CFG_PLL_SOURCE + /* Start all clocks used by other clocks first. */ +#if BSP_PRV_HOCO_USED R_SYSTEM->HOCOCR = 0U; - #else - R_SYSTEM->MOSCCR = 0U; + + #if BSP_PRV_HOCO_USE_FLL && (BSP_CLOCKS_SOURCE_CLOCK_HOCO != BSP_CFG_PLL_SOURCE) + + /* If FLL is enabled, wait for the FLL stabilization delay (1.8 ms) */ + R_BSP_SoftwareDelay(BSP_PRV_FLL_STABILIZATION_TIME_US, BSP_DELAY_UNITS_MICROSECONDS); + #endif + + #if BSP_PRV_STABILIZE_HOCO + + /* Wait for HOCO to stabilize. */ + FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.HOCOSF, 1U); + #endif +#endif +#if BSP_PRV_MOCO_USED + #if BSP_CFG_SOFT_RESET_SUPPORTED + + /* If the MOCO is not running, start it and wait for it to stabilize using a software delay. */ + if (0U != R_SYSTEM->MOCOCR) + { + R_SYSTEM->MOCOCR = 0U; + #if BSP_PRV_STABILIZE_MOCO + R_BSP_SoftwareDelay(BSP_FEATURE_CGC_MOCO_STABILIZATION_MAX_US, BSP_DELAY_UNITS_MICROSECONDS); #endif + } + #endif +#endif +#if BSP_PRV_LOCO_USED + #if BSP_CFG_SOFT_RESET_SUPPORTED + + /* If the LOCO is not running, start it and wait for it to stabilize using a software delay. */ + if (0U != R_SYSTEM->LOCOCR) + { + R_SYSTEM->LOCOCR = 0U; + #if BSP_PRV_STABILIZE_LOCO + R_BSP_SoftwareDelay(BSP_FEATURE_CGC_LOCO_STABILIZATION_MAX_US, BSP_DELAY_UNITS_MICROSECONDS); + #endif + } + + #else + R_SYSTEM->LOCOCR = 0U; + #if BSP_PRV_STABILIZE_LOCO + R_BSP_SoftwareDelay(BSP_FEATURE_CGC_LOCO_STABILIZATION_MAX_US, BSP_DELAY_UNITS_MICROSECONDS); + #endif + #endif +#endif +#if BSP_PRV_MAIN_OSC_USED + R_SYSTEM->MOSCCR = 0U; + + #if BSP_PRV_STABILIZE_MAIN_OSC + + /* Wait for main oscillator to stabilize. */ + FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.MOSCSF, 1U); + #endif +#endif + + /* Start clocks that require other clocks. At this point, all dependent clocks are running and stable if needed. */ + +#if BSP_PRV_STARTUP_OPERATING_MODE != BSP_PRV_OPERATING_MODE_LOW_SPEED + #if BSP_FEATURE_CGC_HAS_PLL2 && BSP_CFG_PLL2_SOURCE != BSP_CLOCKS_CLOCK_DISABLED + R_SYSTEM->PLL2CCR = BSP_PRV_PLL2CCR; + + /* Start PLL2. */ + R_SYSTEM->PLL2CR = 0U; + #endif /* BSP_FEATURE_CGC_HAS_PLL2 && BSP_CFG_PLL2_ENABLE */ +#endif + +#if BSP_PRV_PLL_SUPPORTED && BSP_PRV_PLL_USED + #if BSP_CLOCKS_SOURCE_CLOCK_PLL == BSP_CFG_CLOCK_SOURCE /* Configure the PLL registers. */ #if 1U == BSP_FEATURE_CGC_PLLCCR_TYPE @@ -895,74 +1115,15 @@ void bsp_clock_init (void) * while setting PLLCCR. */ bsp_prv_software_delay_loop(BSP_DELAY_LOOPS_CALCULATE(BSP_PRV_MAX_HOCO_CYCLES_PER_US)); #endif - - /* Verify PLL source is stable before starting PLL. */ - #if BSP_CLOCKS_SOURCE_CLOCK_HOCO == BSP_CFG_PLL_SOURCE - #if BSP_PRV_HOCO_USE_FLL - - /* If FLL is enabled, wait for the FLL stabilization delay (1.8 ms) */ - R_BSP_SoftwareDelay(BSP_PRV_FLL_STABILIZATION_TIME_US, BSP_DELAY_UNITS_MICROSECONDS); - #endif - - /* Wait for HOCO to stabilize. */ - FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.HOCOSF, 1U); - #else - - /* Wait for main oscillator to stabilize. */ - FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.MOSCSF, 1U); - #endif - #endif -#endif - - /* Start source clock. */ -#if BSP_CLOCKS_SOURCE_CLOCK_HOCO == BSP_CFG_CLOCK_SOURCE - R_SYSTEM->HOCOCR = 0U; - - #if BSP_PRV_HOCO_USE_FLL && (BSP_CLOCKS_SOURCE_CLOCK_HOCO != BSP_CFG_PLL_SOURCE) - - /* If FLL is enabled, wait for the FLL stabilization delay (1.8 ms) */ - R_BSP_SoftwareDelay(BSP_PRV_FLL_STABILIZATION_TIME_US, BSP_DELAY_UNITS_MICROSECONDS); #endif - /* Wait for HOCO to stabilize. */ - FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.HOCOSF, 1U); -#elif BSP_CLOCKS_SOURCE_CLOCK_MOCO == BSP_CFG_CLOCK_SOURCE - #if BSP_CFG_SOFT_RESET_SUPPORTED - - /* If the MOCO is not running, start it and wait for it to stabilize using a software delay. */ - if (0U != R_SYSTEM->MOCOCR) - { - R_SYSTEM->MOCOCR = 0U; - R_BSP_SoftwareDelay(BSP_FEATURE_CGC_MOCO_STABILIZATION_MAX_US, BSP_DELAY_UNITS_MICROSECONDS); - } - #endif -#elif BSP_CLOCKS_SOURCE_CLOCK_LOCO == BSP_CFG_CLOCK_SOURCE - #if BSP_CFG_SOFT_RESET_SUPPORTED - - /* If the LOCO is not running, start it and wait for it to stabilize using a software delay. */ - if (0U != R_SYSTEM->LOCOCR) - { - R_SYSTEM->LOCOCR = 0U; - R_BSP_SoftwareDelay(BSP_FEATURE_CGC_LOCO_STABILIZATION_MAX_US, BSP_DELAY_UNITS_MICROSECONDS); - } - - #else - R_SYSTEM->LOCOCR = 0U; - R_BSP_SoftwareDelay(BSP_FEATURE_CGC_LOCO_STABILIZATION_MAX_US, BSP_DELAY_UNITS_MICROSECONDS); - #endif -#elif BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC == BSP_CFG_CLOCK_SOURCE - R_SYSTEM->MOSCCR = 0U; - - /* Wait for main oscillator to stabilize. */ - FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.MOSCSF, 1U); -#elif BSP_CLOCKS_SOURCE_CLOCK_PLL == BSP_CFG_CLOCK_SOURCE R_SYSTEM->PLLCR = 0U; + #if BSP_PRV_STABILIZE_PLL + /* Wait for PLL to stabilize. */ FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.PLLSF, 1U); -#else - - /* Do nothing. Subclock is already started and stabilized if it is populated and selected as system clock. */ + #endif #endif /* Set source clock and dividers. */ @@ -984,6 +1145,15 @@ void bsp_clock_init (void) /* Wait for PLL to stabilize. */ FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.PLLSF, 0U); + + #if BSP_FEATURE_CGC_HAS_PLL2 + + /* If the MCU has a PLL2, ensure PLL2 is stopped and stable before entering low speed mode. */ + R_SYSTEM->PLL2CR = 1U; + + /* Wait for PLL to stabilize. */ + FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.PLL2SF, 0U); + #endif } #endif #endif @@ -1028,36 +1198,6 @@ void bsp_clock_init (void) #endif #if BSP_PRV_STARTUP_OPERATING_MODE != BSP_PRV_OPERATING_MODE_LOW_SPEED - #if BSP_FEATURE_CGC_HAS_PLL2 && BSP_CFG_PLL2_SOURCE != BSP_CLOCKS_CLOCK_DISABLED - - /* Start PLL2 source clock. */ - #if BSP_CLOCKS_SOURCE_CLOCK_HOCO == BSP_CFG_PLL2_SOURCE && (BSP_CLOCKS_SOURCE_CLOCK_HOCO != BSP_CFG_PLL_SOURCE) && \ - (BSP_CLOCKS_SOURCE_CLOCK_HOCO != BSP_CFG_CLOCK_SOURCE) - R_SYSTEM->HOCOCR = 0U; - - #if BSP_PRV_HOCO_USE_FLL - - /* If FLL is enabled, wait for the FLL stabilization delay (1.8 ms) */ - R_BSP_SoftwareDelay(BSP_PRV_FLL_STABILIZATION_TIME_US, BSP_DELAY_UNITS_MICROSECONDS); - #endif - - FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.HOCOSF, 1U); - #elif BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC == BSP_CFG_PLL2_SOURCE && \ - (BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC != BSP_CFG_PLL_SOURCE) && \ - (BSP_CLOCKS_SOURCE_CLOCK_MAIN_OSC != BSP_CFG_CLOCK_SOURCE) - R_SYSTEM->MOSCCR = 0U; - FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.MOSCSF, 1U); - #endif /* BSP_CLOCKS_SOURCE_CLOCK_HOCO == BSP_CFG_PLL2_SOURCE */ - - R_SYSTEM->PLL2CCR = BSP_PRV_PLL2CCR; - - /* Start PLL2. */ - R_SYSTEM->PLL2CR = 0U; - - /* Wait for PLL2 to stabilize. */ - FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->OSCSF_b.PLL2SF, 1U); - #endif /* BSP_FEATURE_CGC_HAS_PLL2 && BSP_CFG_PLL2_ENABLE */ - #if BSP_CFG_UCK_SOURCE != BSP_CLOCKS_CLOCK_DISABLED /* If the USB clock has a divider setting in SCKDIVCR2. */ @@ -1141,6 +1281,69 @@ void bsp_clock_init (void) FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->CANFDCKCR_b.CANFDCKSRDY, 0U); #endif + /* Set the SCISPI clock if it exists on the MCU */ +#if BSP_FEATURE_BSP_HAS_SCISPI_CLOCK && (BSP_CFG_SCISPICLK_SOURCE != BSP_CLOCKS_CLOCK_DISABLED) + + /* Request to stop the SCISPI clock. */ + R_SYSTEM->SCISPICKCR_b.SCISPICKSREQ = 1; + + /* Wait for the SCISPI clock to stop. */ + FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->SCISPICKCR_b.SCISPICKSRDY, 1U); + + /* Select the SCISPI clock divisor and source. */ + R_SYSTEM->SCISPICKDIVCR = BSP_CFG_SCISPICLK_DIV; + R_SYSTEM->SCISPICKCR = BSP_CFG_SCISPICLK_SOURCE | R_SYSTEM_SCISPICKCR_SCISPICKSREQ_Msk | + R_SYSTEM_SCISPICKCR_SCISPICKSRDY_Msk; + + /* Request to start the SCISPI clock. */ + R_SYSTEM->SCISPICKCR_b.SCISPICKSREQ = 0; + + /* Wait for the SCISPI clock to start. */ + FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->SCISPICKCR_b.SCISPICKSRDY, 0U); +#endif + + /* Set the GPT clock if it exists on the MCU */ +#if BSP_FEATURE_BSP_HAS_GPT_CLOCK && (BSP_CFG_GPTCLK_SOURCE != BSP_CLOCKS_CLOCK_DISABLED) + + /* Request to stop the GPT clock. */ + R_SYSTEM->GPTCKCR_b.GPTCKSREQ = 1; + + /* Wait for the GPT clock to stop. */ + FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->GPTCKCR_b.GPTCKSRDY, 1U); + + /* Select the GPT clock divisor and source. */ + R_SYSTEM->GPTCKDIVCR = BSP_CFG_GPTCLK_DIV; + R_SYSTEM->GPTCKCR = BSP_CFG_GPTCLK_SOURCE | R_SYSTEM_GPTCKCR_GPTCKSREQ_Msk | + R_SYSTEM_GPTCKCR_GPTCKSRDY_Msk; + + /* Request to start the GPT clock. */ + R_SYSTEM->GPTCKCR_b.GPTCKSREQ = 0; + + /* Wait for the GPT clock to start. */ + FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->GPTCKCR_b.GPTCKSRDY, 0U); +#endif + + /* Set the IIC clock if it exists on the MCU */ +#if BSP_FEATURE_BSP_HAS_IIC_CLOCK && (BSP_CFG_IICCLK_SOURCE != BSP_CLOCKS_CLOCK_DISABLED) + + /* Request to stop the IIC clock. */ + R_SYSTEM->IICCKCR_b.IICCKSREQ = 1; + + /* Wait for the IIC clock to stop. */ + FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->IICCKCR_b.IICCKSRDY, 1U); + + /* Select the IIC clock divisor and source. */ + R_SYSTEM->IICCKDIVCR = BSP_CFG_IICCLK_DIV; + R_SYSTEM->IICCKCR = BSP_CFG_IICCLK_SOURCE | R_SYSTEM_IICCKCR_IICCKSREQ_Msk | + R_SYSTEM_IICCKCR_IICCKSRDY_Msk; + + /* Request to start the IIC clock. */ + R_SYSTEM->IICCKCR_b.IICCKSREQ = 0; + + /* Wait for the IIC clock to start. */ + FSP_HARDWARE_REGISTER_WAIT(R_SYSTEM->IICCKCR_b.IICCKSRDY, 0U); +#endif + /* Lock CGC and LPM protection registers. */ R_SYSTEM->PRCR = (uint16_t) BSP_PRV_PRCR_LOCK; @@ -1347,4 +1550,17 @@ void R_BSP_OctaclkUpdate (bsp_octaclk_settings_t * p_octaclk_setting) #endif } +/*******************************************************************************************************************//** + * Gets the frequency of a source clock. + * @param[in] clock Pointer to Octaclk setting structure which provides information regarding + * Octaclk source and divider settings to be applied. + * @return Frequency of requested clock in Hertz. + **********************************************************************************************************************/ +uint32_t R_BSP_SourceClockHzGet (fsp_priv_source_clock_t clock) +{ + uint32_t source_clock = g_clock_freq[clock]; + + return source_clock; +} + /** @} (end addtogroup BSP_MCU_PRV) */ diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.h similarity index 92% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.h index 489a579620..68e4a77570 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_clocks.h @@ -147,6 +147,28 @@ FSP_HEADER #define BSP_CLOCKS_CANFD_CLOCK_DIV_2 (1) // Divide CANFD source clock by 2 #define BSP_CLOCKS_CANFD_CLOCK_DIV_4 (2) // Divide CANFD source clock by 4 #define BSP_CLOCKS_CANFD_CLOCK_DIV_6 (3) // Divide CANFD source clock by 6 +#define BSP_CLOCKS_CANFD_CLOCK_DIV_8 (4) // Divide CANFD source clock by 8 + +/* SCISPI clock divider options. */ +#define BSP_CLOCKS_SCISPI_CLOCK_DIV_1 (0) // Divide SCISPI source clock by 1 +#define BSP_CLOCKS_SCISPI_CLOCK_DIV_2 (1) // Divide SCISPI source clock by 2 +#define BSP_CLOCKS_SCISPI_CLOCK_DIV_4 (2) // Divide SCISPI source clock by 4 +#define BSP_CLOCKS_SCISPI_CLOCK_DIV_6 (3) // Divide SCISPI source clock by 6 +#define BSP_CLOCKS_SCISPI_CLOCK_DIV_8 (4) // Divide SCISPI source clock by 8 + +/* GPT clock divider options. */ +#define BSP_CLOCKS_GPT_CLOCK_DIV_1 (0) // Divide GPT source clock by 1 +#define BSP_CLOCKS_GPT_CLOCK_DIV_2 (1) // Divide GPT source clock by 2 +#define BSP_CLOCKS_GPT_CLOCK_DIV_4 (2) // Divide GPT source clock by 4 +#define BSP_CLOCKS_GPT_CLOCK_DIV_6 (3) // Divide GPT source clock by 6 +#define BSP_CLOCKS_GPT_CLOCK_DIV_8 (4) // Divide GPT source clock by 8 + +/* IIC clock divider options. */ +#define BSP_CLOCKS_IIC_CLOCK_DIV_1 (0) // Divide IIC source clock by 1 +#define BSP_CLOCKS_IIC_CLOCK_DIV_2 (1) // Divide IIC source clock by 2 +#define BSP_CLOCKS_IIC_CLOCK_DIV_4 (2) // Divide IIC source clock by 4 +#define BSP_CLOCKS_IIC_CLOCK_DIV_6 (3) // Divide IIC source clock by 6 +#define BSP_CLOCKS_IIC_CLOCK_DIV_8 (4) // Divide IIC source clock by 8 /* PLL divider options. */ #define BSP_CLOCKS_PLL_DIV_1 (0) diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.c similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.c diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.h similarity index 89% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.h index 8fb10ce5ce..8f25cb6560 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_common.h @@ -190,6 +190,13 @@ FSP_HEADER #define FSP_PRIV_TZ_USE_SECURE_REGS (0) #endif +/* Put certain BSP variables in uninitialized RAM when initializing BSP early. */ +#if BSP_CFG_EARLY_INIT + #define BSP_SECTION_EARLY_INIT BSP_PLACE_IN_SECTION(BSP_SECTION_NOINIT) +#else + #define BSP_SECTION_EARLY_INIT +#endif + /*********************************************************************************************************************** * Typedef definitions **********************************************************************************************************************/ @@ -214,6 +221,18 @@ typedef enum e_fsp_priv_clock FSP_PRIV_CLOCK_FCLK = 28, } fsp_priv_clock_t; +/* Private enum used in R_FSP_SciSpiClockHzGe. Maps clock name to base bit in SCISPICKCR. */ +typedef enum e_fsp_priv_source_clock +{ + FSP_PRIV_CLOCK_HOCO = 0, ///< The high speed on chip oscillator + FSP_PRIV_CLOCK_MOCO = 1, ///< The middle speed on chip oscillator + FSP_PRIV_CLOCK_LOCO = 2, ///< The low speed on chip oscillator + FSP_PRIV_CLOCK_MAIN_OSC = 3, ///< The main oscillator + FSP_PRIV_CLOCK_SUBCLOCK = 4, ///< The subclock oscillator + FSP_PRIV_CLOCK_PLL = 5, ///< The PLL oscillator + FSP_PRIV_CLOCK_PLL2 = 6, ///< The PLL2 oscillator +} fsp_priv_source_clock_t; + typedef struct st_bsp_unique_id { union @@ -226,6 +245,7 @@ typedef struct st_bsp_unique_id /*********************************************************************************************************************** * Exported global variables **********************************************************************************************************************/ +uint32_t R_BSP_SourceClockHzGet(fsp_priv_source_clock_t clock); /*********************************************************************************************************************** * Global variables (defined in other files) @@ -262,6 +282,24 @@ __STATIC_INLINE uint32_t R_FSP_SystemClockHzGet (fsp_priv_clock_t clock) return (SystemCoreClock << iclk_div) >> clock_div; } +#if BSP_FEATURE_BSP_HAS_SCISPI_CLOCK + +/*******************************************************************************************************************//** + * Gets the frequency of a SCI/SPI clock. + * + * @return Frequency of requested clock in Hertz. + **********************************************************************************************************************/ +__STATIC_INLINE uint32_t R_FSP_SciSpiClockHzGet (void) +{ + uint32_t scispidivcr = R_SYSTEM->SCISPICKDIVCR; + uint32_t clock_div = (scispidivcr & FSP_PRIV_SCKDIVCR_DIV_MASK); + fsp_priv_source_clock_t scispicksel = (fsp_priv_source_clock_t) R_SYSTEM->SCISPICKCR_b.SCISPICKSEL; + + return R_BSP_SourceClockHzGet(scispicksel) >> clock_div; +} + +#endif + /*******************************************************************************************************************//** * Get unique ID for this device. * diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.c similarity index 90% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.c index d3548a7a2d..4dd223547e 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.c @@ -74,11 +74,27 @@ * at all. In this case the requested delay is too small (nanoseconds) to be carried out by the loop itself, and the * overhead associated with executing the code to just get to this point has certainly satisfied the requested delay. * - * * @note This function calls bsp_cpu_clock_get() which ultimately calls R_CGC_SystemClockFreqGet() and therefore requires * that the BSP has already initialized the CGC (which it does as part of the Sysinit). * Care should be taken to ensure this remains the case if in the future this function were to be called as part * of the BSP initialization. + * + * @note This function will delay for **at least** the specified duration. Due to overhead in calculating the correct number + * of loops to delay, very small delay values (generally 1-5 microseconds) may be significantly longer than specified. + * Approximate overhead for this function is as follows: + * - CM4: 20-50 cycles + * - CM33: 10-60 cycles + * - CM23: 75-200 cycles + * + * @note If more accurate microsecond timing must be performed in software it is recommended to use + * bsp_prv_software_delay_loop() directly. In this case, use BSP_DELAY_LOOP_CYCLES or BSP_DELAY_LOOPS_CALCULATE() + * to convert a calculated delay cycle count to a number of software delay loops. + * + * @note Delays may be longer than expected when compiler optimization is turned off. + * + * @warning The delay will be longer than specified on CM23 devices when the core clock is greater than 32 MHz. Setting + * BSP_DELAY_LOOP_CYCLES to 6 will improve accuracy at 48 MHz but will result in shorter than expected delays + * at lower speeds. **********************************************************************************************************************/ void R_BSP_SoftwareDelay (uint32_t delay, bsp_delay_units_t units) diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_delay.h diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.c similarity index 98% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.c index 28d916b3d4..fd1d74e944 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.c @@ -41,7 +41,7 @@ **********************************************************************************************************************/ /** This array holds callback functions. */ -static bsp_grp_irq_cb_t g_bsp_group_irq_sources[BSP_GRP_IRQ_TOTAL_ITEMS] = {0}; +bsp_grp_irq_cb_t g_bsp_group_irq_sources[BSP_GRP_IRQ_TOTAL_ITEMS] BSP_SECTION_EARLY_INIT; void NMI_Handler(void); static void bsp_group_irq_call(bsp_grp_irq_t irq); diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_group_irq.h diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.c similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.c diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_guard.h diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.c similarity index 98% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.c index ba68472a68..ad0cbb7ac8 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.c @@ -34,7 +34,7 @@ /*********************************************************************************************************************** * Exported global variables (to be accessed by other files) **********************************************************************************************************************/ -volatile uint32_t g_protect_pfswe_counter; +volatile uint32_t g_protect_pfswe_counter BSP_SECTION_EARLY_INIT; /*********************************************************************************************************************** * Private global variables and functions diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.h similarity index 83% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.h index dbb4a9859c..22b7f692b2 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_io.h @@ -42,6 +42,7 @@ FSP_HEADER #define BSP_IO_PWPR_B0WI_OFFSET (7U) #define BSP_IO_PWPR_PFSWE_OFFSET (6U) #define BSP_IO_PFS_PDR_OUTPUT (4U) +#define BSP_IO_PRV_PIN_WRITE_MASK (0xFFFE3FFE) /*********************************************************************************************************************** * Typedef definitions @@ -76,6 +77,9 @@ typedef enum e_bsp_io_port BSP_IO_PORT_09 = 0x0900, ///< IO port 9 BSP_IO_PORT_10 = 0x0A00, ///< IO port 10 BSP_IO_PORT_11 = 0x0B00, ///< IO port 11 + BSP_IO_PORT_12 = 0x0C00, ///< IO port 12 + BSP_IO_PORT_13 = 0x0D00, ///< IO port 13 + BSP_IO_PORT_14 = 0x0E00, ///< IO port 14 } bsp_io_port_t; /** Superset list of all possible IO port pins. */ @@ -284,6 +288,57 @@ typedef enum e_bsp_io_port_pin_t BSP_IO_PORT_11_PIN_13 = 0x0B0D, ///< IO port 11 pin 13 BSP_IO_PORT_11_PIN_14 = 0x0B0E, ///< IO port 11 pin 14 BSP_IO_PORT_11_PIN_15 = 0x0B0F, ///< IO port 11 pin 15 + + BSP_IO_PORT_12_PIN_00 = 0x0C00, ///< IO port 12 pin 0 + BSP_IO_PORT_12_PIN_01 = 0x0C01, ///< IO port 12 pin 1 + BSP_IO_PORT_12_PIN_02 = 0x0C02, ///< IO port 12 pin 2 + BSP_IO_PORT_12_PIN_03 = 0x0C03, ///< IO port 12 pin 3 + BSP_IO_PORT_12_PIN_04 = 0x0C04, ///< IO port 12 pin 4 + BSP_IO_PORT_12_PIN_05 = 0x0C05, ///< IO port 12 pin 5 + BSP_IO_PORT_12_PIN_06 = 0x0C06, ///< IO port 12 pin 6 + BSP_IO_PORT_12_PIN_07 = 0x0C07, ///< IO port 12 pin 7 + BSP_IO_PORT_12_PIN_08 = 0x0C08, ///< IO port 12 pin 8 + BSP_IO_PORT_12_PIN_09 = 0x0C09, ///< IO port 12 pin 9 + BSP_IO_PORT_12_PIN_10 = 0x0C0A, ///< IO port 12 pin 10 + BSP_IO_PORT_12_PIN_11 = 0x0C0B, ///< IO port 12 pin 11 + BSP_IO_PORT_12_PIN_12 = 0x0C0C, ///< IO port 12 pin 12 + BSP_IO_PORT_12_PIN_13 = 0x0C0D, ///< IO port 12 pin 13 + BSP_IO_PORT_12_PIN_14 = 0x0C0E, ///< IO port 12 pin 14 + BSP_IO_PORT_12_PIN_15 = 0x0C0F, ///< IO port 12 pin 15 + + BSP_IO_PORT_13_PIN_00 = 0x0D00, ///< IO port 13 pin 0 + BSP_IO_PORT_13_PIN_01 = 0x0D01, ///< IO port 13 pin 1 + BSP_IO_PORT_13_PIN_02 = 0x0D02, ///< IO port 13 pin 2 + BSP_IO_PORT_13_PIN_03 = 0x0D03, ///< IO port 13 pin 3 + BSP_IO_PORT_13_PIN_04 = 0x0D04, ///< IO port 13 pin 4 + BSP_IO_PORT_13_PIN_05 = 0x0D05, ///< IO port 13 pin 5 + BSP_IO_PORT_13_PIN_06 = 0x0D06, ///< IO port 13 pin 6 + BSP_IO_PORT_13_PIN_07 = 0x0D07, ///< IO port 13 pin 7 + BSP_IO_PORT_13_PIN_08 = 0x0D08, ///< IO port 13 pin 8 + BSP_IO_PORT_13_PIN_09 = 0x0D09, ///< IO port 13 pin 9 + BSP_IO_PORT_13_PIN_10 = 0x0D0A, ///< IO port 13 pin 10 + BSP_IO_PORT_13_PIN_11 = 0x0D0B, ///< IO port 13 pin 11 + BSP_IO_PORT_13_PIN_12 = 0x0D0C, ///< IO port 13 pin 12 + BSP_IO_PORT_13_PIN_13 = 0x0D0D, ///< IO port 13 pin 13 + BSP_IO_PORT_13_PIN_14 = 0x0D0E, ///< IO port 13 pin 14 + BSP_IO_PORT_13_PIN_15 = 0x0D0F, ///< IO port 13 pin 15 + + BSP_IO_PORT_14_PIN_00 = 0x0E00, ///< IO port 14 pin 0 + BSP_IO_PORT_14_PIN_01 = 0x0E01, ///< IO port 14 pin 1 + BSP_IO_PORT_14_PIN_02 = 0x0E02, ///< IO port 14 pin 2 + BSP_IO_PORT_14_PIN_03 = 0x0E03, ///< IO port 14 pin 3 + BSP_IO_PORT_14_PIN_04 = 0x0E04, ///< IO port 14 pin 4 + BSP_IO_PORT_14_PIN_05 = 0x0E05, ///< IO port 14 pin 5 + BSP_IO_PORT_14_PIN_06 = 0x0E06, ///< IO port 14 pin 6 + BSP_IO_PORT_14_PIN_07 = 0x0E07, ///< IO port 14 pin 7 + BSP_IO_PORT_14_PIN_08 = 0x0E08, ///< IO port 14 pin 8 + BSP_IO_PORT_14_PIN_09 = 0x0E09, ///< IO port 14 pin 9 + BSP_IO_PORT_14_PIN_10 = 0x0E0A, ///< IO port 14 pin 10 + BSP_IO_PORT_14_PIN_11 = 0x0E0B, ///< IO port 14 pin 11 + BSP_IO_PORT_14_PIN_12 = 0x0E0C, ///< IO port 14 pin 12 + BSP_IO_PORT_14_PIN_13 = 0x0E0D, ///< IO port 14 pin 13 + BSP_IO_PORT_14_PIN_14 = 0x0E0E, ///< IO port 14 pin 14 + BSP_IO_PORT_14_PIN_15 = 0x0E0F, ///< IO port 14 pin 15 } bsp_io_port_pin_t; /*********************************************************************************************************************** @@ -309,16 +364,34 @@ __STATIC_INLINE uint32_t R_BSP_PinRead (bsp_io_port_pin_t pin) } /*******************************************************************************************************************//** - * Set a pin to output and set the output level to the level provided + * Set a pin to output and set the output level to the level provided. If PFS protection is enabled, disable PFS + * protection using R_BSP_PinAccessEnable() before calling this function. * * @param[in] pin The pin * @param[in] level The level **********************************************************************************************************************/ __STATIC_INLINE void R_BSP_PinWrite (bsp_io_port_pin_t pin, bsp_io_level_t level) { + /* Clear PMR, ASEL, ISEL and PODR bits. */ + uint32_t pfs_bits = R_PFS->PORT[pin >> 8].PIN[pin & BSP_IO_PRV_8BIT_MASK].PmnPFS; + pfs_bits &= BSP_IO_PRV_PIN_WRITE_MASK; + /* Set output level and pin direction to output. */ - uint32_t lvl = (uint32_t) level; - R_PFS->PORT[pin >> 8].PIN[pin & BSP_IO_PRV_8BIT_MASK].PmnPFS = BSP_IO_PFS_PDR_OUTPUT | lvl; + uint32_t lvl = ((uint32_t) level | pfs_bits); + R_PFS->PORT[pin >> 8].PIN[pin & BSP_IO_PRV_8BIT_MASK].PmnPFS = (BSP_IO_PFS_PDR_OUTPUT | lvl); +} + +/*******************************************************************************************************************//** + * Configure a pin. If PFS protection is enabled, disable PFS protection using R_BSP_PinAccessEnable() before calling + * this function. + * + * @param[in] pin The pin + * @param[in] cfg Configuration for the pin (PmnPFS register setting) + **********************************************************************************************************************/ +__STATIC_INLINE void R_BSP_PinCfg (bsp_io_port_pin_t pin, uint32_t cfg) +{ + /* Configure a pin. */ + R_PFS->PORT[pin >> 8].PIN[pin & BSP_IO_PRV_8BIT_MASK].PmnPFS = cfg; } /*******************************************************************************************************************//** diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.c similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.c diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_irq.h diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_module_stop.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_module_stop.h similarity index 82% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_module_stop.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_module_stop.h index 7391a52a8a..10b26dfcba 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_module_stop.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_module_stop.h @@ -29,6 +29,16 @@ FSP_HEADER * @{ **********************************************************************************************************************/ +#if BSP_FEATURE_TZ_HAS_TRUSTZONE + +/* MSTPCRA is located in R_MSTP for Star devices. */ + #define R_BSP_MSTPCRA (R_MSTP->MSTPCRA) +#else + +/* MSTPCRA is located in R_SYSTEM for W1D and Peaks devices. */ + #define R_BSP_MSTPCRA (R_SYSTEM->MSTPCRA) +#endif + /*******************************************************************************************************************//** * Cancels the module stop state. * @@ -64,18 +74,31 @@ FSP_HEADER #define BSP_MSTP_REG_FSP_IP_POEG(channel) R_MSTP->MSTPCRD #define BSP_MSTP_BIT_FSP_IP_POEG(channel) (1U << (14U)); #else - #define BSP_MSTP_REG_FSP_IP_GPT(channel) R_MSTP->MSTPCRE - #define BSP_MSTP_BIT_FSP_IP_GPT(channel) (1U << (31 - channel)); - #define BSP_MSTP_REG_FSP_IP_AGT(channel) *((3U >= channel) ? &R_MSTP->MSTPCRD : &R_MSTP->MSTPCRE) - #define BSP_MSTP_BIT_FSP_IP_AGT(channel) ((3U >= \ + #if (2U == BSP_FEATURE_ELC_VERSION) + #define BSP_MSTP_REG_FSP_IP_GPT(channel) R_MSTP->MSTPCRE + #define BSP_MSTP_BIT_FSP_IP_GPT(channel) (1U << 31); + #define BSP_MSTP_REG_FSP_IP_AGT(channel) R_MSTP->MSTPCRD + #define BSP_MSTP_BIT_FSP_IP_AGT(channel) (1U << (3U - channel)); + #define BSP_MSTP_REG_FSP_IP_KEY(channel) R_MSTP->MSTPCRE + #define BSP_MSTP_BIT_FSP_IP_KEY(channel) (1U << 4U); + #define BSP_MSTP_REG_FSP_IP_POEG(channel) R_MSTP->MSTPCRD + #define BSP_MSTP_BIT_FSP_IP_POEG(channel) (1U << (14U - channel)); + #else + #define BSP_MSTP_REG_FSP_IP_GPT(channel) R_MSTP->MSTPCRE + #define BSP_MSTP_BIT_FSP_IP_GPT(channel) (1U << (31 - channel)); + #define BSP_MSTP_REG_FSP_IP_AGT(channel) *((3U >= channel) ? &R_MSTP->MSTPCRD : &R_MSTP->MSTPCRE) + #define BSP_MSTP_BIT_FSP_IP_AGT(channel) ((3U >= \ channel) ? (1U << (3U - channel)) : (1U << (15U - (channel - 4U)))); - #define BSP_MSTP_REG_FSP_IP_POEG(channel) R_MSTP->MSTPCRD - #define BSP_MSTP_BIT_FSP_IP_POEG(channel) (1U << (14U - channel)); + #define BSP_MSTP_REG_FSP_IP_KEY(channel) R_MSTP->MSTPCRE + #define BSP_MSTP_BIT_FSP_IP_KEY(channel) (1U << (4U - channel)); + #define BSP_MSTP_REG_FSP_IP_POEG(channel) R_MSTP->MSTPCRD + #define BSP_MSTP_BIT_FSP_IP_POEG(channel) (1U << (14U - channel)); + #endif #endif -#define BSP_MSTP_REG_FSP_IP_DMAC(channel) R_SYSTEM->MSTPCRA +#define BSP_MSTP_REG_FSP_IP_DMAC(channel) R_BSP_MSTPCRA #define BSP_MSTP_BIT_FSP_IP_DMAC(channel) (1U << (22U)); -#define BSP_MSTP_REG_FSP_IP_DTC(channel) R_SYSTEM->MSTPCRA +#define BSP_MSTP_REG_FSP_IP_DTC(channel) R_BSP_MSTPCRA #define BSP_MSTP_BIT_FSP_IP_DTC(channel) (1U << (22U)); #define BSP_MSTP_REG_FSP_IP_CAN(channel) R_MSTP->MSTPCRB #define BSP_MSTP_BIT_FSP_IP_CAN(channel) (1U << (2U - channel)); @@ -127,6 +150,10 @@ FSP_HEADER #define BSP_MSTP_BIT_FSP_IP_DOC(channel) (1U << (13U - channel)); #define BSP_MSTP_REG_FSP_IP_ELC(channel) R_MSTP->MSTPCRC #define BSP_MSTP_BIT_FSP_IP_ELC(channel) (1U << (14U - channel)); +#define BSP_MSTP_REG_FSP_IP_TFU(channel) R_MSTP->MSTPCRC +#define BSP_MSTP_BIT_FSP_IP_TFU(channel) (1U << (20U - channel)); +#define BSP_MSTP_REG_FSP_IP_IIRFA(channel) R_MSTP->MSTPCRC +#define BSP_MSTP_BIT_FSP_IP_IIRFA(channel) (1U << (21U - channel)); #define BSP_MSTP_REG_FSP_IP_CANFD(channel) R_MSTP->MSTPCRC #define BSP_MSTP_BIT_FSP_IP_CANFD(channel) (1U << (27U)); #define BSP_MSTP_REG_FSP_IP_TRNG(channel) R_MSTP->MSTPCRC @@ -139,10 +166,15 @@ FSP_HEADER #define BSP_MSTP_BIT_FSP_IP_ADC(channel) (1U << (16U - channel)); #define BSP_MSTP_REG_FSP_IP_SDADC(channel) R_MSTP->MSTPCRD #define BSP_MSTP_BIT_FSP_IP_SDADC(channel) (1U << (17U - channel)); -#define BSP_MSTP_REG_FSP_IP_DAC8(channel) R_MSTP->MSTPCRD -#define BSP_MSTP_BIT_FSP_IP_DAC8(channel) (1U << (19U)); -#define BSP_MSTP_REG_FSP_IP_DAC(channel) R_MSTP->MSTPCRD -#define BSP_MSTP_BIT_FSP_IP_DAC(channel) (1U << (20U)); +#if (BSP_FEATURE_DAC_MAX_CHANNELS > 2U) + #define BSP_MSTP_REG_FSP_IP_DAC(channel) R_MSTP->MSTPCRD + #define BSP_MSTP_BIT_FSP_IP_DAC(channel) (1U << (20U - channel)); +#else + #define BSP_MSTP_REG_FSP_IP_DAC8(channel) R_MSTP->MSTPCRD + #define BSP_MSTP_BIT_FSP_IP_DAC8(channel) (1U << (19U)); + #define BSP_MSTP_REG_FSP_IP_DAC(channel) R_MSTP->MSTPCRD + #define BSP_MSTP_BIT_FSP_IP_DAC(channel) (1U << (20U)); +#endif #define BSP_MSTP_REG_FSP_IP_TSN(channel) R_MSTP->MSTPCRD #define BSP_MSTP_BIT_FSP_IP_TSN(channel) (1U << (22U - channel)); #define BSP_MSTP_REG_FSP_IP_ACMPHS(channel) R_MSTP->MSTPCRD diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.c similarity index 98% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.c index fabb62a930..efab908a77 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.c @@ -43,10 +43,7 @@ **********************************************************************************************************************/ /** Used for holding reference counters for protection bits. */ -static volatile uint16_t g_protect_counters[] = -{ - 0U, 0U, 0U, 0U -}; +volatile uint16_t g_protect_counters[4] BSP_SECTION_EARLY_INIT; /** Masks for setting or clearing the PRCR register. Use -1 for size because PWPR in MPC is used differently. */ static const uint16_t g_prcr_masks[] = diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_register_protection.h diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c similarity index 99% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c index 2d359a2578..1df5ccbec0 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c @@ -108,8 +108,12 @@ BSP_DONT_REMOVE static const uint32_t g_bsp_id_codes[] BSP_PLACE_IN_SECTION (BSP BSP_DONT_REMOVE static const uint32_t BSP_PLACE_IN_SECTION(".option_setting_ofs0") g_bsp_rom_ofs0 = BSP_CFG_ROM_REG_OFS0; + + #if BSP_FEATURE_FLASH_HP_SUPPORTS_DUAL_BANK BSP_DONT_REMOVE static const uint32_t BSP_PLACE_IN_SECTION(".option_setting_dualsel") g_bsp_rom_dualsel = BSP_CFG_ROM_REG_DUALSEL; + + #endif BSP_DONT_REMOVE static const uint32_t BSP_PLACE_IN_SECTION(".option_setting_sas") g_bsp_rom_sas = 0xFFFFFFFF; diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_sbrk.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_sbrk.c similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_sbrk.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_sbrk.c diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.c similarity index 90% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.c index fd2530c385..62d9fe81f6 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.c @@ -62,26 +62,28 @@ typedef BSP_CMSE_NONSECURE_CALL void (*volatile bsp_nonsecure_func_t)(void); #pragma section=".tz_data_flash_ns_start" #pragma section=".tz_sdram_ns_start" #pragma section=".tz_qspi_flash_ns_start" + #pragma section=".tz_ospi_device_0_ns_start" + #pragma section=".tz_ospi_device_1_ns_start" /* &__tz__C is the address of the non-secure callable section. Must assign value to this variable or * linker will give error. */ /* &__tz__N is the start address of the non-secure region. */ -BSP_DONT_REMOVE void const * const __tz_FLASH_C BSP_ALIGN_VARIABLE(1024) @".tz_flash_nsc_start" = 0; -BSP_DONT_REMOVE void const * const __tz_FLASH_N BSP_ALIGN_VARIABLE(32768) @".tz_flash_ns_start" = 0; -BSP_DONT_REMOVE void const * const __tz_RAM_C BSP_ALIGN_VARIABLE(1024) @".tz_ram_nsc_start"; -BSP_DONT_REMOVE void const * const __tz_RAM_N BSP_ALIGN_VARIABLE(8192) @".tz_ram_ns_start"; -BSP_DONT_REMOVE void const * const __tz_DATA_FLASH_N BSP_ALIGN_VARIABLE(1024) @".tz_data_flash_ns_start"; +BSP_DONT_REMOVE void const * const __tz_FLASH_C BSP_ALIGN_VARIABLE(1024) @".tz_flash_nsc_start" = 0; +BSP_DONT_REMOVE void const * const __tz_FLASH_N BSP_ALIGN_VARIABLE(32768) @".tz_flash_ns_start" = 0; +BSP_DONT_REMOVE void * __tz_RAM_C BSP_ALIGN_VARIABLE(1024) @".tz_ram_nsc_start"; +BSP_DONT_REMOVE void * __tz_RAM_N BSP_ALIGN_VARIABLE(8192) @".tz_ram_ns_start"; +BSP_DONT_REMOVE void * __tz_DATA_FLASH_N BSP_ALIGN_VARIABLE(1024) @".tz_data_flash_ns_start"; #if BSP_FEATURE_SDRAM_START_ADDRESS -BSP_DONT_REMOVE void const * const __tz_SDRAM_N @".tz_sdram_ns_start"; +BSP_DONT_REMOVE void * __tz_SDRAM_N @".tz_sdram_ns_start"; #endif -BSP_DONT_REMOVE void const * const __tz_QSPI_FLASH_N @".tz_qspi_flash_ns_start"; +BSP_DONT_REMOVE void * __tz_QSPI_FLASH_N @".tz_qspi_flash_ns_start"; #if BSP_FEATURE_OSPI_DEVICE_0_START_ADDRESS -BSP_DONT_REMOVE void const * const __tz_OSPI_DEVICE_0_N @".tz_ospi_device_0_ns_start"; +BSP_DONT_REMOVE void * __tz_OSPI_DEVICE_0_N @".tz_ospi_device_0_ns_start"; #endif #if BSP_FEATURE_OSPI_DEVICE_1_START_ADDRESS -BSP_DONT_REMOVE void const * const __tz_OSPI_DEVICE_1_N @".tz_ospi_device_1_ns_start"; +BSP_DONT_REMOVE void * __tz_OSPI_DEVICE_1_N @".tz_ospi_device_1_ns_start"; #endif BSP_DONT_REMOVE uint32_t const * const gp_start_of_nonsecure_flash = (uint32_t *) &__tz_FLASH_N; @@ -264,19 +266,23 @@ void R_BSP_SecurityInit (void) R_PSCU->MSSAR = BSP_TZ_CFG_MSSAR; /* Initialize Type 2 SARs. */ - R_CPSCU->CSAR = BSP_TZ_CFG_CSAR; /* Cache Security Attribution. */ - R_SYSTEM->RSTSAR = BSP_TZ_CFG_RSTSAR; /* RSTSRn Security Attribution. */ - R_SYSTEM->LVDSAR = BSP_TZ_CFG_LVDSAR; /* LVD Security Attribution. */ - R_SYSTEM->CGFSAR = BSP_TZ_CFG_CGFSAR; /* CGC Security Attribution. */ - R_SYSTEM->LPMSAR = BSP_TZ_CFG_LPMSAR; /* LPM Security Attribution. */ - R_SYSTEM->DPFSAR = BSP_TZ_CFG_DPFSAR; /* Deep Standby Interrupt Factor Security Attribution. */ - R_SYSTEM->BBFSAR = BSP_TZ_CFG_BBFSAR; /* Battery Backup Security Attribution. */ - R_CPSCU->ICUSARA = BSP_TZ_CFG_ICUSARA; /* External IRQ Security Attribution. */ - R_CPSCU->ICUSARB = BSP_TZ_CFG_ICUSARB; /* NMI Security Attribution. */ - R_CPSCU->ICUSARC = BSP_TZ_CFG_ICUSARC; /* DMAC Channel Security Attribution. */ - R_CPSCU->ICUSARD = BSP_TZ_CFG_ICUSARD; /* SELSR0 Security Attribution. */ - R_CPSCU->ICUSARE = BSP_TZ_CFG_ICUSARE; /* WUPEN0 Security Attribution. */ - R_CPSCU->ICUSARF = BSP_TZ_CFG_ICUSARF; /* WUPEN1 Security Attribution. */ + R_CPSCU->CSAR = BSP_TZ_CFG_CSAR; /* Cache Security Attribution. */ + R_SYSTEM->RSTSAR = BSP_TZ_CFG_RSTSAR; /* RSTSRn Security Attribution. */ + R_SYSTEM->LVDSAR = BSP_TZ_CFG_LVDSAR; /* LVD Security Attribution. */ + R_SYSTEM->CGFSAR = BSP_TZ_CFG_CGFSAR; /* CGC Security Attribution. */ + R_SYSTEM->LPMSAR = BSP_TZ_CFG_LPMSAR; /* LPM Security Attribution. */ + R_SYSTEM->DPFSAR = BSP_TZ_CFG_DPFSAR; /* Deep Standby Interrupt Factor Security Attribution. */ + #ifdef BSP_TZ_CFG_BBFSAR + R_SYSTEM->BBFSAR = BSP_TZ_CFG_BBFSAR; /* Battery Backup Security Attribution. */ + #endif + R_CPSCU->ICUSARA = BSP_TZ_CFG_ICUSARA; /* External IRQ Security Attribution. */ + R_CPSCU->ICUSARB = BSP_TZ_CFG_ICUSARB; /* NMI Security Attribution. */ + R_CPSCU->ICUSARC = BSP_TZ_CFG_ICUSARC; /* DMAC Channel Security Attribution. */ + R_CPSCU->ICUSARD = BSP_TZ_CFG_ICUSARD; /* SELSR0 Security Attribution. */ + R_CPSCU->ICUSARE = BSP_TZ_CFG_ICUSARE; /* WUPEN0 Security Attribution. */ + #ifdef BSP_TZ_CFG_ICUSARF + R_CPSCU->ICUSARF = BSP_TZ_CFG_ICUSARF; /* WUPEN1 Security Attribution. */ + #endif R_FCACHE->FSAR = BSP_TZ_CFG_FSAR; /* FLWT and FCKMHZ Security Attribution. */ R_CPSCU->SRAMSAR = BSP_TZ_CFG_SRAMSAR; /* SRAM Security Attribution. */ R_CPSCU->STBRAMSAR = BSP_TZ_CFG_STBRAMSAR; /* Standby RAM Security Attribution. */ diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_security.h diff --git a/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_tfu.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_tfu.h new file mode 100644 index 0000000000..2f3e203352 --- /dev/null +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/all/bsp_tfu.h @@ -0,0 +1,228 @@ +/*********************************************************************************************************************** + * Copyright [2020-2021] Renesas Electronics Corporation and/or its affiliates. All Rights Reserved. + * + * This software and documentation are supplied by Renesas Electronics America Inc. and may only be used with products + * of Renesas Electronics Corp. and its affiliates ("Renesas"). No other uses are authorized. Renesas products are + * sold pursuant to Renesas terms and conditions of sale. Purchasers are solely responsible for the selection and use + * of Renesas products and Renesas assumes no liability. No license, express or implied, to any intellectual property + * right is granted by Renesas. This software is protected under all applicable laws, including copyright laws. Renesas + * reserves the right to change or discontinue this software and/or this documentation. THE SOFTWARE AND DOCUMENTATION + * IS DELIVERED TO YOU "AS IS," AND RENESAS MAKES NO REPRESENTATIONS OR WARRANTIES, AND TO THE FULLEST EXTENT + * PERMISSIBLE UNDER APPLICABLE LAW, DISCLAIMS ALL WARRANTIES, WHETHER EXPLICITLY OR IMPLICITLY, INCLUDING WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT, WITH RESPECT TO THE SOFTWARE OR + * DOCUMENTATION. RENESAS SHALL HAVE NO LIABILITY ARISING OUT OF ANY SECURITY VULNERABILITY OR BREACH. TO THE MAXIMUM + * EXTENT PERMITTED BY LAW, IN NO EVENT WILL RENESAS BE LIABLE TO YOU IN CONNECTION WITH THE SOFTWARE OR DOCUMENTATION + * (OR ANY PERSON OR ENTITY CLAIMING RIGHTS DERIVED FROM YOU) FOR ANY LOSS, DAMAGES, OR CLAIMS WHATSOEVER, INCLUDING, + * WITHOUT LIMITATION, ANY DIRECT, CONSEQUENTIAL, SPECIAL, INDIRECT, PUNITIVE, OR INCIDENTAL DAMAGES; ANY LOST PROFITS, + * OTHER ECONOMIC DAMAGE, PROPERTY DAMAGE, OR PERSONAL INJURY; AND EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS. + **********************************************************************************************************************/ + +#ifndef RENESAS_TFU +#define RENESAS_TFU + +/*********************************************************************************************************************** + * Includes , "Project Includes" + **********************************************************************************************************************/ + +/* Mathematical Functions includes. */ +#ifdef __cplusplus + #include +#else + #include +#endif + +/** Common macro for FSP header files. There is also a corresponding FSP_FOOTER macro at the end of this file. */ +FSP_HEADER + +/*******************************************************************************************************************//** + * @addtogroup BSP_MCU + * @{ + **********************************************************************************************************************/ + +/*********************************************************************************************************************** + * Macro definitions + **********************************************************************************************************************/ + +#define R_TFU_HYPOT_SCALING_FACTOR 0.607252935f + +#ifdef __GNUC__ /* and (arm)clang */ + #if (__STDC_VERSION__ < 199901L) && defined(__STRICT_ANSI__) && !defined(__cplusplus) + +/* No form of inline is available, it happens only when -std=c89, gnu89 and + * above are OK */ + #warning \ + "-std=c89 doesn't support type checking on TFU. Please use -std=gnu89 or higher for example -std=c99" + #else + #ifdef __GNUC_GNU_INLINE__ + +/* gnu89 semantics of inline and extern inline are essentially the exact + * opposite of those in C99 */ + #define BSP_TFU_INLINE extern inline __attribute__((always_inline)) + #else /* __GNUC_STDC_INLINE__ */ + #define BSP_TFU_INLINE static inline __attribute__((always_inline)) + #endif + #endif +#elif __ICCARM__ + #define BSP_TFU_INLINE +#else + #error "Compiler not supported!" +#endif + +/*********************************************************************************************************************** + * Typedef definitions + **********************************************************************************************************************/ + +/*********************************************************************************************************************** + * Exported global variables + **********************************************************************************************************************/ + +/*********************************************************************************************************************** + * Inline Functions + **********************************************************************************************************************/ + +/*******************************************************************************************************************//** + * Calculates sine of the given angle. + * @param[in] angle The value of an angle in radian. + * + * @retval Sine value of an angle. + **********************************************************************************************************************/ +#if __ICCARM__ + #pragma inline = forced +#endif +BSP_TFU_INLINE float __sinf (float angle) +{ + /* Set the angle to R_TFU->SCDT1 */ + R_TFU->SCDT1 = angle; + + /* Read sin from R_TFU->SCDT1 */ + return R_TFU->SCDT1; +} + +/*******************************************************************************************************************//** + * Calculates cosine of the given angle. + * @param[in] angle The value of an angle in radian. + * + * @retval Cosine value of an angle. + **********************************************************************************************************************/ +#if __ICCARM__ + #pragma inline = forced +#endif +BSP_TFU_INLINE float __cosf (float angle) +{ + /* Set the angle to R_TFU->SCDT1 */ + R_TFU->SCDT1 = angle; + + /* Read cos from R_TFU->SCDT1 */ + return R_TFU->SCDT0; +} + +/*******************************************************************************************************************//** + * Calculates sine and cosine of the given angle. + * @param[in] angle The value of an angle in radian. + * @param[out] sin Sine value of an angle. + * @param[out] cos Cosine value of an angle. + **********************************************************************************************************************/ +#if __ICCARM__ + #pragma inline = forced +#endif +BSP_TFU_INLINE void __sincosf (float angle, float * sin, float * cos) +{ + /* Set the angle to R_TFU->SCDT1 */ + R_TFU->SCDT1 = angle; + + /* Read sin from R_TFU->SCDT1 */ + *sin = R_TFU->SCDT1; + + /* Read sin from R_TFU->SCDT1 */ + *cos = R_TFU->SCDT0; +} + +/*******************************************************************************************************************//** + * Calculates the arc tangent based on given X-cordinate and Y-cordinate values. + * @param[in] y_cord Y-Axis cordinate value. + * @param[in] x_cord X-Axis cordinate value. + * + * @retval Arc tangent for given values. + **********************************************************************************************************************/ +#if __ICCARM__ + #pragma inline = forced +#endif +BSP_TFU_INLINE float __atan2f (float y_cord, float x_cord) +{ + /* Set X-cordinate to R_TFU->ATDT0 */ + R_TFU->ATDT0 = x_cord; + + /* set Y-cordinate to R_TFU->ATDT1 */ + R_TFU->ATDT1 = y_cord; + + /* Read arctan(y/x) from R_TFU->ATDT1 */ + return R_TFU->ATDT1; +} + +/*******************************************************************************************************************//** + * Calculates the hypotenuse based on given X-cordinate and Y-cordinate values. + * @param[in] y_cord Y-cordinate value. + * @param[in] x_cord X-cordinate value. + * + * @retval Hypotenuse for given values. + **********************************************************************************************************************/ +#if __ICCARM__ + #pragma inline = forced +#endif +BSP_TFU_INLINE float __hypotf (float x_cord, float y_cord) +{ + /* Set X-coordinate to R_TFU->ATDT0 */ + R_TFU->ATDT0 = x_cord; + + /* set Y-coordinate to R_TFU->ATDT1 */ + R_TFU->ATDT1 = y_cord; + + /* Read sqrt (x_cord2 + y_cord2) from R_TFU->ATDT0 */ + return R_TFU->ATDT0 * R_TFU_HYPOT_SCALING_FACTOR; +} + +/*******************************************************************************************************************//** + * Calculates the arc tangent and hypotenuse based on given X-cordinate and Y-cordinate values. + * @param[in] y_cord Y-cordinate value. + * @param[in] x_cord X-cordinate value. + * @param[out] atan2 Arc tangent for given values. + * @param[out] hypot Hypotenuse for given values. + **********************************************************************************************************************/ +#if __ICCARM__ + #pragma inline = forced +#endif +BSP_TFU_INLINE void __atan2hypotf (float y_cord, float x_cord, float * atan2, float * hypot) +{ + /* Set X-coordinate to R_TFU->ATDT0 */ + R_TFU->ATDT0 = x_cord; + + /* set Y-coordinate to R_TFU->ATDT1 */ + R_TFU->ATDT1 = y_cord; + + /* Read arctan(y/x) from R_TFU->ATDT1 */ + *atan2 = R_TFU->ATDT1; + + /* Read sqrt (x_cord2 + y_cord2) from R_TFU->ATDT0 */ + *hypot = R_TFU->ATDT0 * R_TFU_HYPOT_SCALING_FACTOR; +} + +#if BSP_CFG_USE_TFU_MATHLIB + #define sinf(x) __sinf(x) + #define cosf(x) __cosf(x) + #define atan2f(y, x) __atan2f(y, x) + #define hypotf(x, y) __hypotf(x, y) + #define atan2hypotf(y, x, a, h) __atan2hypotf(y, x, a, h) + #define sincosf(a, s, c) __sincosf(a, s, c) +#endif + +/*********************************************************************************************************************** + * Exported global functions (to be accessed by other files) + **********************************************************************************************************************/ + +/** @} (end addtogroup BSP_MCU) */ + +/** Common macro for FSP header files. There is also a corresponding FSP_HEADER macro at the top of this file. */ +FSP_FOOTER + +#endif /* RENESAS_TFU */ diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h similarity index 97% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h index 561f707780..6242fdd4be 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h @@ -300,14 +300,14 @@ typedef enum e_elc_event_ra6m4 ELC_EVENT_SCI9_TEI = (0x1B8), // Transmit end ELC_EVENT_SCI9_ERI = (0x1B9), // Receive error ELC_EVENT_SCI9_AM = (0x1BA), // Address match event - ELC_EVENT_SCIX0_SCIX0 = (0x1BC), // SCI0 extended serial mode event 0 - ELC_EVENT_SCIX0_SCIX1 = (0x1BD), // SCI0 extended serial mode event 1 - ELC_EVENT_SCIX0_SCIX2 = (0x1BE), // SCI0 extended serial mode event 2 - ELC_EVENT_SCIX0_SCIX3 = (0x1BF), // SCI0 extended serial mode event 3 - ELC_EVENT_SCIX1_SCIX0 = (0x1C0), // SCI1 extended serial mode event 0 - ELC_EVENT_SCIX1_SCIX1 = (0x1C1), // SCI1 extended serial mode event 1 - ELC_EVENT_SCIX1_SCIX2 = (0x1C2), // SCI1 extended serial mode event 2 - ELC_EVENT_SCIX1_SCIX3 = (0x1C3), // SCI1 extended serial mode event 3 + ELC_EVENT_SCIX0_SCIX0 = (0x1BC), // SCI1 extended serial mode event 0 + ELC_EVENT_SCIX0_SCIX1 = (0x1BD), // SCI1 extended serial mode event 1 + ELC_EVENT_SCIX0_SCIX2 = (0x1BE), // SCI1 extended serial mode event 2 + ELC_EVENT_SCIX0_SCIX3 = (0x1BF), // SCI1 extended serial mode event 3 + ELC_EVENT_SCIX1_SCIX0 = (0x1C0), // SCI2 extended serial mode event 0 + ELC_EVENT_SCIX1_SCIX1 = (0x1C1), // SCI2 extended serial mode event 1 + ELC_EVENT_SCIX1_SCIX2 = (0x1C2), // SCI2 extended serial mode event 2 + ELC_EVENT_SCIX1_SCIX3 = (0x1C3), // SCI2 extended serial mode event 3 ELC_EVENT_SPI0_RXI = (0x1C4), // Receive buffer full ELC_EVENT_SPI0_TXI = (0x1C5), // Transmit buffer empty ELC_EVENT_SPI0_IDLE = (0x1C6), // Idle diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h similarity index 88% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h index 5f628ba782..eff7def062 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h @@ -82,12 +82,17 @@ #define BSP_FEATURE_ADC_VALID_UNIT_MASK (3U) #define BSP_FEATURE_ADC_HAS_ADBUF (1U) +#define BSP_FEATURE_ADC_B_TSN_CALIBRATION32_MASK (0U) +#define BSP_FEATURE_ADC_B_TSN_SLOPE (0U) + #define BSP_FEATURE_AGT_VALID_CHANNEL_MASK (0x3F) #define BSP_FEATURE_AGT_MAX_CHANNEL_NUM (5) +#define BSP_FEATURE_AGT_HAS_AGTW (0U) #define BSP_FEATURE_BSP_FLASH_CACHE (1) #define BSP_FEATURE_BSP_FLASH_CACHE_DISABLE_OPM (0U) #define BSP_FEATURE_BSP_FLASH_PREFETCH_BUFFER (0) +#define BSP_FEATURE_BSP_HAS_GPT_CLOCK (0) #define BSP_FEATURE_BSP_HAS_OCTASPI_CLOCK (1) #define BSP_FEATURE_BSP_HAS_CANFD_CLOCK (0) // Feature not available on this MCU #define BSP_FEATURE_BSP_HAS_CODE_SYSTEM_CACHE (1) @@ -124,6 +129,7 @@ #define BSP_FEATURE_CAN_NUM_CHANNELS (2U) #define BSP_FEATURE_CANFD_NUM_CHANNELS (0U) // Feature not available on this MCU +#define BSP_FEATURE_CANFD_LITE (0U) #define BSP_FEATURE_CGC_HAS_BCLK (1U) #define BSP_FEATURE_CGC_HAS_FCLK (1U) @@ -138,6 +144,7 @@ #define BSP_FEATURE_CGC_HAS_PCLKD (1U) #define BSP_FEATURE_CGC_HAS_PLL (1U) #define BSP_FEATURE_CGC_HAS_PLL2 (1U) // On the RA6M4 there is another PLL that can be used as a clock source for USB and OCTASPI. +#define BSP_FEATURE_CGC_HAS_SOSC (1U) #define BSP_FEATURE_CGC_HAS_SRAMPRCR2 (1U) // On the RA6M4 there is another register to enable write access for SRAMWTSC. #define BSP_FEATURE_CGC_HAS_SRAMWTSC (1U) #define BSP_FEATURE_CGC_HOCOSF_BEFORE_OPCCR (0U) @@ -180,15 +187,20 @@ #define BSP_FEATURE_DAC_HAS_CHARGEPUMP (0U) #define BSP_FEATURE_DAC_HAS_DAVREFCR (0U) +#define BSP_FEATURE_DAC_HAS_DA_AD_SYNCHRONIZE (1U) #define BSP_FEATURE_DAC_HAS_OUTPUT_AMPLIFIER (1U) +#define BSP_FEATURE_DAC_HAS_INTERNAL_OUTPUT (0U) #define BSP_FEATURE_DAC_MAX_CHANNELS (2U) +#define BSP_FEATURE_DOC_VERSION (1U) + #define BSP_FEATURE_DMAC_MAX_CHANNEL (8U) #define BSP_FEATURE_DMAC_HAS_REPEAT_BLOCK_MODE (1U) #define BSP_FEATURE_DWT_CYCCNT (1U) // RA6M4 has Data Watchpoint Cycle Count Register #define BSP_FEATURE_ELC_PERIPHERAL_MASK (0x0007FFFFU) // Positions of event link set registers (ELSRs) available on this MCU +#define BSP_FEATURE_ELC_VERSION (1U) #define BSP_FEATURE_ETHER_FIFO_DEPTH (0x0000070FU) #define BSP_FEATURE_ETHER_MAX_CHANNELS (1U) @@ -220,6 +232,14 @@ #define BSP_FEATURE_GPT_32BIT_CHANNEL_MASK (0x0FU) #define BSP_FEATURE_GPT_VALID_CHANNEL_MASK (0x1FFU) +#define BSP_FEATURE_GPT_EVENT_COUNT_CHANNEL_MASK (BSP_FEATURE_GPT_VALID_CHANNEL_MASK) +#define BSP_FEATURE_GPT_HAS_GTCLKCR (0U) +#define BSP_FEATURE_GPT_ODC_VALID_CHANNEL_MASK (0U) // Feature not available on this MCU +#define BSP_FEATURE_GPT_ODC_FRANGE_FREQ_MIN (0U) // Feature not available on this MCU +#define BSP_FEATURE_GPT_ODC_FREQ_MAX (0U) // Feature not available on this MCU +#define BSP_FEATURE_GPT_ODC_FREQ_MIN (0U) // Feature not available on this MCU +#define BSP_FEATURE_GPT_CLOCK_DIVIDER_STEP_SIZE (2U) +#define BSP_FEATURE_GPT_CLOCK_DIVIDER_VALUE_7_9_VALID (0U) #define BSP_FEATURE_ICU_HAS_WUPEN1 (1U) #define BSP_FEATURE_ICU_IRQ_CHANNELS_MASK (0xFFFFU) @@ -228,8 +248,15 @@ #define BSP_FEATURE_IIC_FAST_MODE_PLUS (1U << 0U) #define BSP_FEATURE_IIC_VALID_CHANNEL_MASK (0x03) +#define BSP_FEATURE_IIC_VERSION (1U) +#define BSP_FEATURE_BSP_HAS_IIC_CLOCK (0U) +#define BSP_FEATURE_IIC_BUS_FREE_TIME_MULTIPLIER (0U) -#define BSP_FEATURE_IOPORT_ELC_PORTS (4) +#define BSP_FEATURE_I3C_NUM_CHANNELS (0U) // Feature not available on this MCU +#define BSP_FEATURE_I3C_MAX_DEV_COUNT (0U) // Feature not available on this MCU +#define BSP_FEATURE_I3C_NTDTBP0_DEPTH (0U) // Feature not available on this MCU + +#define BSP_FEATURE_IOPORT_ELC_PORTS (0x001EU) #define BSP_FEATURE_IOPORT_HAS_ETHERNET (1U) #define BSP_FEATURE_LPM_CHANGE_MSTP_ARRAY (0U) @@ -253,13 +280,15 @@ #define BSP_FEATURE_LVD_MONITOR_2_LOW_THRESHOLD (LVD_THRESHOLD_MONITOR_2_LEVEL_2_85V) // 2.85V #define BSP_FEATURE_LVD_STABILIZATION_TIME_US (10U) // Time in microseconds required for LVD to stabalize +#define BSP_FEATURE_IOPORT_VERSION (1U) + #define BSP_FEATURE_OPAMP_BASE_ADDRESS (0U) -#define BSP_FEATURE_OPAMP_HAS_MIDDLE_SPEED (0) // Feature not available on this MCU +#define BSP_FEATURE_OPAMP_HAS_MIDDLE_SPEED (0) // Feature not available on this MCU #define BSP_FEATURE_OPAMP_HAS_SWITCHES (0U) #define BSP_FEATURE_OPAMP_HAS_THIRD_CHANNEL (0U) -#define BSP_FEATURE_OPAMP_MIN_WAIT_TIME_HS_US (0) // Feature not available on this MCU -#define BSP_FEATURE_OPAMP_MIN_WAIT_TIME_LP_US (0) // Feature not available on this MCU -#define BSP_FEATURE_OPAMP_MIN_WAIT_TIME_MS_US (0) // Feature not available on this MCU +#define BSP_FEATURE_OPAMP_MIN_WAIT_TIME_HS_US (0) // Feature not available on this MCU +#define BSP_FEATURE_OPAMP_MIN_WAIT_TIME_LP_US (0) // Feature not available on this MCU +#define BSP_FEATURE_OPAMP_MIN_WAIT_TIME_MS_US (0) // Feature not available on this MCU #define BSP_FEATURE_OPAMP_TRIM_CAPABLE (0U) #define BSP_FEATURE_OPAMP_VARIANT_CHANNEL_MASK (0U) @@ -270,11 +299,13 @@ #define BSP_FEATURE_QSPI_DEVICE_START_ADDRESS (0x60000000U) +#define BSP_FEATURE_SCI_VERSION (1U) #define BSP_FEATURE_SCI_ADDRESS_MATCH_CHANNELS (0x3F9U) #define BSP_FEATURE_SCI_CHANNELS (0x3FFU) #define BSP_FEATURE_SCI_CLOCK (FSP_PRIV_CLOCK_PCLKA) #define BSP_FEATURE_SCI_UART_FIFO_CHANNELS (0x3F9U) #define BSP_FEATURE_SCI_UART_FIFO_DEPTH (16U) +#define BSP_FEATURE_SCI_UART_CSTPEN_CHANNELS (0x03F9U) // Channel 0, channel 3 to channel 9 have CSTPEN feature #define BSP_FEATURE_SDHI_HAS_CARD_DETECTION (1U) #define BSP_FEATURE_SDHI_SUPPORTS_8_BIT_MMC (1U) @@ -298,6 +329,8 @@ #define BSP_FEATURE_SSI_FIFO_NUM_STAGES (32U) #define BSP_FEATURE_SSI_VALID_CHANNEL_MASK (1U) +#define BSP_FEATURE_TFU_SPPORTED (0U) // Trigonometric Function Unit (TFU) not available on this MCU + #define BSP_FEATURE_TRNG_HAS_MODULE_STOP (0U) #define BSP_FEATURE_TZ_HAS_TRUSTZONE (1U) diff --git a/bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h b/bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h diff --git a/bsp/ra6m4-cpk/ra/fsp/src/r_icu/r_icu.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/r_icu/r_icu.c similarity index 100% rename from bsp/ra6m4-cpk/ra/fsp/src/r_icu/r_icu.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/r_icu/r_icu.c diff --git a/bsp/ra6m4-cpk/ra/fsp/src/r_ioport/r_ioport.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/r_ioport/r_ioport.c similarity index 97% rename from bsp/ra6m4-cpk/ra/fsp/src/r_ioport/r_ioport.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/r_ioport/r_ioport.c index 8867b49f81..f45ae0b2e9 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/r_ioport/r_ioport.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/r_ioport/r_ioport.c @@ -440,10 +440,10 @@ fsp_err_t R_IOPORT_PortDirectionSet (ioport_ctrl_t * const p_ctrl, ioport_size_t direction_values, ioport_size_t mask) { - ioport_size_t orig_value; - ioport_size_t set_bits; - ioport_size_t clr_bits; - ioport_size_t write_value; + uint32_t orig_value; + uint32_t set_bits; + uint32_t clr_bits; + uint32_t write_value; #if (1 == IOPORT_CFG_PARAM_CHECKING_ENABLE) ioport_instance_ctrl_t * p_instance_ctrl = (ioport_instance_ctrl_t *) p_ctrl; @@ -458,23 +458,23 @@ fsp_err_t R_IOPORT_PortDirectionSet (ioport_ctrl_t * const p_ctrl, R_PORT0_Type * p_ioport_regs = IOPORT_PRV_PORT_ADDRESS((port >> IOPORT_PRV_PORT_OFFSET) & IOPORT_PRV_8BIT_MASK); /* Read current value of PCNTR1 register for the specified port */ - orig_value = p_ioport_regs->PCNTR1 & IOPORT_PRV_16BIT_MASK; + orig_value = p_ioport_regs->PCNTR1; /* High bits */ set_bits = direction_values & mask; /* Low bits */ /* Cast to ensure size */ - clr_bits = (ioport_size_t) ((~direction_values) & mask); + clr_bits = (uint32_t) ((~direction_values) & mask); /* New value to write to port direction register */ write_value = orig_value; write_value |= set_bits; - /* Cast to ensure size */ - write_value &= (ioport_size_t) (~clr_bits); + /* Clear bits as needed */ + write_value &= ~clr_bits; - p_ioport_regs->PCNTR1 = write_value & IOPORT_PRV_16BIT_MASK; + p_ioport_regs->PCNTR1 = write_value; return FSP_SUCCESS; } @@ -504,7 +504,7 @@ fsp_err_t R_IOPORT_PortEventInputRead (ioport_ctrl_t * const p_ctrl, bsp_io_port FSP_ERROR_RETURN(IOPORT_OPEN == p_instance_ctrl->open, FSP_ERR_NOT_OPEN); FSP_ASSERT(NULL != p_event_data); uint32_t port_number = port >> IOPORT_PRV_PORT_OFFSET; - FSP_ERROR_RETURN((port_number != 0) && (port_number <= BSP_FEATURE_IOPORT_ELC_PORTS), FSP_ERR_INVALID_ARGUMENT); + FSP_ERROR_RETURN((BSP_FEATURE_IOPORT_ELC_PORTS & (1 << port_number)), FSP_ERR_INVALID_ARGUMENT); #else FSP_PARAMETER_NOT_USED(p_ctrl); #endif @@ -543,7 +543,7 @@ fsp_err_t R_IOPORT_PinEventInputRead (ioport_ctrl_t * const p_ctrl, bsp_io_port_ FSP_ERROR_RETURN(IOPORT_OPEN == p_instance_ctrl->open, FSP_ERR_NOT_OPEN); FSP_ASSERT(NULL != p_pin_event); uint32_t port_number = pin >> IOPORT_PRV_PORT_OFFSET; - FSP_ERROR_RETURN((port_number != 0) && (port_number <= BSP_FEATURE_IOPORT_ELC_PORTS), FSP_ERR_INVALID_ARGUMENT); + FSP_ERROR_RETURN((BSP_FEATURE_IOPORT_ELC_PORTS & (1 << port_number)), FSP_ERR_INVALID_ARGUMENT); #else FSP_PARAMETER_NOT_USED(p_ctrl); #endif @@ -599,7 +599,7 @@ fsp_err_t R_IOPORT_PortEventOutputWrite (ioport_ctrl_t * const p_ctrl, FSP_ERROR_RETURN(IOPORT_OPEN == p_instance_ctrl->open, FSP_ERR_NOT_OPEN); FSP_ERROR_RETURN(mask_value > (ioport_size_t) 0, FSP_ERR_INVALID_ARGUMENT); uint32_t port_number = port >> IOPORT_PRV_PORT_OFFSET; - FSP_ERROR_RETURN((port_number != 0) && (port_number <= BSP_FEATURE_IOPORT_ELC_PORTS), FSP_ERR_INVALID_ARGUMENT); + FSP_ERROR_RETURN((BSP_FEATURE_IOPORT_ELC_PORTS & (1 << port_number)), FSP_ERR_INVALID_ARGUMENT); #else FSP_PARAMETER_NOT_USED(p_ctrl); #endif @@ -640,7 +640,7 @@ fsp_err_t R_IOPORT_PinEventOutputWrite (ioport_ctrl_t * const p_ctrl, bsp_io_por FSP_ERROR_RETURN(IOPORT_OPEN == p_instance_ctrl->open, FSP_ERR_NOT_OPEN); FSP_ERROR_RETURN((pin_value == BSP_IO_LEVEL_HIGH) || (pin_value == BSP_IO_LEVEL_LOW), FSP_ERR_INVALID_ARGUMENT); uint32_t port_number = pin >> IOPORT_PRV_PORT_OFFSET; - FSP_ERROR_RETURN((port_number != 0) && (port_number <= BSP_FEATURE_IOPORT_ELC_PORTS), FSP_ERR_INVALID_ARGUMENT); + FSP_ERROR_RETURN((BSP_FEATURE_IOPORT_ELC_PORTS & (1 << port_number)), FSP_ERR_INVALID_ARGUMENT); #else FSP_PARAMETER_NOT_USED(p_ctrl); #endif @@ -673,8 +673,8 @@ fsp_err_t R_IOPORT_PinEventOutputWrite (ioport_ctrl_t * const p_ctrl, bsp_io_por return FSP_SUCCESS; } -/*******************************************************************************************************************//** - * Configures Ethernet channel PHY mode. Implements @ref ioport_api_t::pinEthernetModeCfg. +/*********************************************************************************************************************** + * DEPRECATED Configures Ethernet channel PHY mode. Implements @ref ioport_api_t::pinEthernetModeCfg. * * @retval FSP_SUCCESS Ethernet PHY mode set * @retval FSP_ERR_INVALID_ARGUMENT Channel or mode not valid diff --git a/bsp/ra6m4-cpk/ra/fsp/src/r_sci_uart/r_sci_uart.c b/bsp/renesas/ra6m4-cpk/ra/fsp/src/r_sci_uart/r_sci_uart.c similarity index 94% rename from bsp/ra6m4-cpk/ra/fsp/src/r_sci_uart/r_sci_uart.c rename to bsp/renesas/ra6m4-cpk/ra/fsp/src/r_sci_uart/r_sci_uart.c index 35e2f091a5..7f33e83dff 100644 --- a/bsp/ra6m4-cpk/ra/fsp/src/r_sci_uart/r_sci_uart.c +++ b/bsp/renesas/ra6m4-cpk/ra/fsp/src/r_sci_uart/r_sci_uart.c @@ -279,6 +279,7 @@ const uart_api_t g_uart_on_sci = .baudSet = R_SCI_UART_BaudSet, .communicationAbort = R_SCI_UART_Abort, .callbackSet = R_SCI_UART_CallbackSet, + .readStop = R_SCI_UART_ReadStop, }; /*******************************************************************************************************************//** @@ -297,7 +298,8 @@ const uart_api_t g_uart_on_sci = * @retval FSP_SUCCESS Channel opened successfully. * @retval FSP_ERR_ASSERTION Pointer to UART control block or configuration structure is NULL. * @retval FSP_ERR_IP_CHANNEL_NOT_PRESENT The requested channel does not exist on this MCU. - * @retval FSP_ERR_INVALID_ARGUMENT Flow control is enabled but flow control pin is not defined. + * @retval FSP_ERR_INVALID_ARGUMENT Flow control is enabled but flow control pin is not defined or selected channel + * does not support "Hardware CTS and Hardware RTS" flow control. * @retval FSP_ERR_ALREADY_OPEN Control block has already been opened or channel is being used by another * instance. Call close() then open() to reconfigure. * @@ -329,6 +331,12 @@ fsp_err_t R_SCI_UART_Open (uart_ctrl_t * const p_api_ctrl, uart_cfg_t const * co FSP_ERR_INVALID_ARGUMENT); } + if (((sci_uart_extended_cfg_t *) p_cfg->p_extend)->flow_control == SCI_UART_FLOW_CONTROL_HARDWARE_CTSRTS) + { + FSP_ERROR_RETURN((0U != (((1U << (p_cfg->channel)) & BSP_FEATURE_SCI_UART_CSTPEN_CHANNELS))), + FSP_ERR_INVALID_ARGUMENT); + } + FSP_ASSERT(p_cfg->rxi_irq >= 0); FSP_ASSERT(p_cfg->txi_irq >= 0); FSP_ASSERT(p_cfg->tei_irq >= 0); @@ -719,26 +727,19 @@ fsp_err_t R_SCI_UART_BaudSet (uart_ctrl_t * const p_api_ctrl, void const * const FSP_ASSERT((p_ctrl->p_reg->SCR_b.CKE & 0x2) == 0U); #endif + /* Save SCR configurations except transmit interrupts. Resuming transmission after reconfiguring baud settings is + * not supported. */ + uint8_t preserved_scr = p_ctrl->p_reg->SCR & (uint8_t) ~(SCI_SCR_TIE_MASK | SCI_SCR_TEIE_MASK); + /* Disables transmitter and receiver. This terminates any in-progress transmission. */ - p_ctrl->p_reg->SCR &= (uint8_t) ~(SCI_SCR_TE_MASK | SCI_SCR_TIE_MASK | SCI_SCR_TEIE_MASK | - SCI_SCR_RE_MASK | SCI_SCR_RIE_MASK); - p_ctrl->p_tx_src = NULL; + p_ctrl->p_reg->SCR = preserved_scr & (uint8_t) ~(SCI_SCR_TE_MASK | SCI_SCR_RE_MASK | SCI_SCR_RIE_MASK); + p_ctrl->p_tx_src = NULL; /* Apply new baud rate register settings. */ r_sci_uart_baud_set(p_ctrl->p_reg, p_baud_setting); - uint32_t mask_enable = 0; -#if (SCI_UART_CFG_RX_ENABLE) - - /* Enable receive. */ - mask_enable |= (SCI_SCR_RE_MASK | SCI_SCR_RIE_MASK); -#endif -#if (SCI_UART_CFG_TX_ENABLE) - - /* Enable transmit. */ - mask_enable |= SCI_SCR_TE_MASK; -#endif - p_ctrl->p_reg->SCR |= (uint8_t) mask_enable; + /* Restore all settings except transmit interrupts. */ + p_ctrl->p_reg->SCR = preserved_scr; return FSP_SUCCESS; } @@ -875,6 +876,64 @@ fsp_err_t R_SCI_UART_Abort (uart_ctrl_t * const p_api_ctrl, uart_dir_t communica return err; } +/*******************************************************************************************************************//** + * Provides API to abort ongoing read. Reception is still enabled after abort(). Any characters received after abort() + * and before the transfer is reset in the next call to read(), will arrive via the callback function with event + * UART_EVENT_RX_CHAR. + * Implements @ref uart_api_t::readStop + * + * @retval FSP_SUCCESS UART transaction aborted successfully. + * @retval FSP_ERR_ASSERTION Pointer to UART control block is NULL. + * @retval FSP_ERR_NOT_OPEN The control block has not been opened. + * @retval FSP_ERR_UNSUPPORTED The requested Abort direction is unsupported. + * + * @return See @ref RENESAS_ERROR_CODES or functions called by this function for other possible + * return codes. This function calls: + * * @ref transfer_api_t::disable + **********************************************************************************************************************/ +fsp_err_t R_SCI_UART_ReadStop (uart_ctrl_t * const p_api_ctrl, uint32_t * remaining_bytes) +{ + sci_uart_instance_ctrl_t * p_ctrl = (sci_uart_instance_ctrl_t *) p_api_ctrl; + +#if (SCI_UART_CFG_PARAM_CHECKING_ENABLE) + FSP_ASSERT(p_ctrl); + FSP_ERROR_RETURN(SCI_UART_OPEN == p_ctrl->open, FSP_ERR_NOT_OPEN); +#endif + +#if (SCI_UART_CFG_RX_ENABLE) + *remaining_bytes = p_ctrl->rx_dest_bytes; + p_ctrl->rx_dest_bytes = 0U; + #if SCI_UART_CFG_DTC_SUPPORTED + if (NULL != p_ctrl->p_cfg->p_transfer_rx) + { + fsp_err_t err = p_ctrl->p_cfg->p_transfer_rx->p_api->disable(p_ctrl->p_cfg->p_transfer_rx->p_ctrl); + FSP_ERROR_RETURN(FSP_SUCCESS == err, err); + + transfer_properties_t transfer_info; + err = p_ctrl->p_cfg->p_transfer_rx->p_api->infoGet(p_ctrl->p_cfg->p_transfer_rx->p_ctrl, &transfer_info); + FSP_ERROR_RETURN(FSP_SUCCESS == err, err); + *remaining_bytes = transfer_info.transfer_length_remaining; + } + #endif + #if SCI_UART_CFG_FIFO_SUPPORT + if (0U != p_ctrl->fifo_depth) + { + /* Reset the receive fifo */ + p_ctrl->p_reg->FCR_b.RFRST = 1U; + + /* Wait until RFRST cleared after 1 PCLK according to section 34.2.26 "FIFO Control Register (FCR) in the + * RA6M3 manual R01UH0886EJ0100 or the relevant section for the MCU being used.*/ + FSP_HARDWARE_REGISTER_WAIT(p_ctrl->p_reg->FCR_b.RFRST, 0U); + } + #endif +#else + + return FSP_ERR_UNSUPPORTED; +#endif + + return FSP_SUCCESS; +} + /*******************************************************************************************************************//** * Calculates baud rate register settings. Evaluates and determines the best possible settings set to the baud rate * related registers. @@ -1247,8 +1306,17 @@ static void r_sci_uart_config_set (sci_uart_instance_ctrl_t * const p_ctrl, uart sci_uart_extended_cfg_t * p_extend = (sci_uart_extended_cfg_t *) p_cfg->p_extend; - /* Configure CTS flow control if CTS/RTS flow control is enabled. */ - p_ctrl->p_reg->SPMR = ((uint8_t) (p_extend->flow_control << R_SCI0_SPMR_CTSE_Pos) & R_SCI0_SPMR_CTSE_Msk); + /* Configure flow control if CTS/RTS flow control is enabled. */ +#if BSP_FEATURE_SCI_UART_CSTPEN_CHANNELS + if (p_extend->flow_control == SCI_UART_FLOW_CONTROL_HARDWARE_CTSRTS) + { + p_ctrl->p_reg->SPMR = R_SCI0_SPMR_CSTPEN_Msk | R_SCI0_SPMR_CTSE_Msk; + } + else +#endif + { + p_ctrl->p_reg->SPMR = ((uint8_t) (p_extend->flow_control << R_SCI0_SPMR_CTSE_Pos) & R_SCI0_SPMR_CTSE_Msk); + } uint32_t semr = 0; @@ -1573,7 +1641,7 @@ void sci_uart_txi_isr (void) * This interrupt also calls the callback function for RTS pin control if it is registered in R_SCI_UART_Open(). This is * special functionality to expand SCI hardware capability and make RTS/CTS hardware flow control possible. If macro * 'SCI_UART_CFG_FLOW_CONTROL_SUPPORT' is set, it is called at the beginning in this function to set the RTS pin high, - * then it is it is called again just before leaving this function to set the RTS pin low. + * then it is called again just before leaving this function to set the RTS pin low. * @retval none **********************************************************************************************************************/ void sci_uart_rxi_isr (void) diff --git a/bsp/ra6m4-cpk/ra_cfg/SConscript b/bsp/renesas/ra6m4-cpk/ra_cfg/SConscript similarity index 100% rename from bsp/ra6m4-cpk/ra_cfg/SConscript rename to bsp/renesas/ra6m4-cpk/ra_cfg/SConscript diff --git a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/board_cfg.h b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/board_cfg.h similarity index 100% rename from bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/board_cfg.h rename to bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/board_cfg.h diff --git a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_cfg.h b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_cfg.h similarity index 88% rename from bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_cfg.h rename to bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_cfg.h index f3664077fc..48c4b5099e 100644 --- a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_cfg.h +++ b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_cfg.h @@ -28,13 +28,15 @@ #define BSP_CFG_PFS_PROTECT ((1)) #define BSP_CFG_C_RUNTIME_INIT ((1)) + #define BSP_CFG_EARLY_INIT ((0)) - #define BSP_CFG_SOFT_RESET_SUPPORTED ((0)) + #define BSP_CFG_SOFT_RESET_SUPPORTED ((0)) // DEPRECATED, replace with BSP_CFG_STARTUP_CLOCK_REG_NOT_RESET + #define BSP_CFG_STARTUP_CLOCK_REG_NOT_RESET ((0)) #ifndef BSP_CLOCK_CFG_MAIN_OSC_POPULATED #define BSP_CLOCK_CFG_MAIN_OSC_POPULATED (1) #endif - + #ifndef BSP_CLOCK_CFG_MAIN_OSC_CLOCK_SOURCE #define BSP_CLOCK_CFG_MAIN_OSC_CLOCK_SOURCE (0) #endif diff --git a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_cfg.h b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_cfg.h similarity index 100% rename from bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_cfg.h rename to bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_cfg.h diff --git a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_pn_cfg.h b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_pn_cfg.h similarity index 100% rename from bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_pn_cfg.h rename to bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_pn_cfg.h diff --git a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_family_cfg.h b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_family_cfg.h similarity index 100% rename from bsp/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_family_cfg.h rename to bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_mcu_family_cfg.h diff --git a/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h new file mode 100644 index 0000000000..b8641724a4 --- /dev/null +++ b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h @@ -0,0 +1,116 @@ +/* generated configuration header file - do not edit */ +#ifndef BSP_PIN_CFG_H_ +#define BSP_PIN_CFG_H_ +#include "r_ioport.h" +#define ARDUINO_AN00 (BSP_IO_PORT_00_PIN_00) +#define ARDUINO_AN01 (BSP_IO_PORT_00_PIN_01) +#define ARDUINO_AN02 (BSP_IO_PORT_00_PIN_02) +#define ARDUINO_AN03 (BSP_IO_PORT_00_PIN_03) +#define ARDUINO_AN04 (BSP_IO_PORT_00_PIN_04) +#define ARDUINO_AN05 (BSP_IO_PORT_00_PIN_05) +#define PMODA_IRQ11 (BSP_IO_PORT_00_PIN_06) +#define J4_PIN23 (BSP_IO_PORT_00_PIN_07) +#define PMODA_IO1 (BSP_IO_PORT_00_PIN_08) +#define J4_PIN26 (BSP_IO_PORT_00_PIN_09) +#define PMODA_IO2 (BSP_IO_PORT_00_PIN_14) +#define PMODA_IO3 (BSP_IO_PORT_00_PIN_15) +#define J1_PIN1 (BSP_IO_PORT_01_PIN_00) +#define J2_PIN4 (BSP_IO_PORT_01_PIN_01) +#define J2_PIN6 (BSP_IO_PORT_01_PIN_02) +#define J1_PIN29 (BSP_IO_PORT_01_PIN_03) +#define J3_PIN39 (BSP_IO_PORT_01_PIN_04) +#define SW1 (BSP_IO_PORT_01_PIN_05) +#define LED3 (BSP_IO_PORT_01_PIN_06) +#define J3_PIN37 (BSP_IO_PORT_01_PIN_07) +#define DEBUG_SWDIO_TMS (BSP_IO_PORT_01_PIN_08) +#define DEBUG_TDO (BSP_IO_PORT_01_PIN_09) +#define DEBUG_TDI (BSP_IO_PORT_01_PIN_10) +#define J1_PIN33 (BSP_IO_PORT_01_PIN_11) +#define J3_PIN15 (BSP_IO_PORT_01_PIN_12) +#define J3_PIN16 (BSP_IO_PORT_01_PIN_13) +#define J3_PIN17 (BSP_IO_PORT_01_PIN_14) +#define J3_PIN18 (BSP_IO_PORT_01_PIN_15) +#define NMI (BSP_IO_PORT_02_PIN_00) +#define MD (BSP_IO_PORT_02_PIN_01) +#define PMODA_MISO_RXD9 (BSP_IO_PORT_02_PIN_02) +#define PMODA_MOSI_TXD9 (BSP_IO_PORT_02_PIN_03) +#define PMODA_RSPCK (BSP_IO_PORT_02_PIN_04) +#define PMODA_SSL_CTS9 (BSP_IO_PORT_02_PIN_05) +#define J1_PIN3 (BSP_IO_PORT_02_PIN_06) +#define J1_PIN8 (BSP_IO_PORT_02_PIN_07) +#define J1_PIN32 (BSP_IO_PORT_02_PIN_08) +#define J1_PIN30 (BSP_IO_PORT_02_PIN_09) +#define J1_PIN28 (BSP_IO_PORT_02_PIN_10) +#define J1_PIN22 (BSP_IO_PORT_02_PIN_11) +#define EXTAL (BSP_IO_PORT_02_PIN_12) +#define XTAL (BSP_IO_PORT_02_PIN_13) +#define J1_PIN20 (BSP_IO_PORT_02_PIN_14) +#define DEBUG_SWDCLK_TCK (BSP_IO_PORT_03_PIN_00) +#define J1_PIN11 (BSP_IO_PORT_03_PIN_01) +#define J3_PIN14 (BSP_IO_PORT_03_PIN_02) +#define J3_PIN13 (BSP_IO_PORT_03_PIN_03) +#define J3_PIN12 (BSP_IO_PORT_03_PIN_04) +#define J3_PIN11 (BSP_IO_PORT_03_PIN_05) +#define J3_PIN10 (BSP_IO_PORT_03_PIN_06) +#define J3_PIN9 (BSP_IO_PORT_03_PIN_07) +#define J3_PIN8 (BSP_IO_PORT_03_PIN_08) +#define J3_PIN7 (BSP_IO_PORT_03_PIN_09) +#define J3_PIN6 (BSP_IO_PORT_03_PIN_10) +#define J3_PIN5 (BSP_IO_PORT_03_PIN_11) +#define J3_PIN4 (BSP_IO_PORT_03_PIN_12) +#define J1_PIN14 (BSP_IO_PORT_03_PIN_13) +#define J4_PIN13 (BSP_IO_PORT_04_PIN_00) +#define J4_PIN11 (BSP_IO_PORT_04_PIN_01) +#define J1_PIN27 (BSP_IO_PORT_04_PIN_02) +#define J4_PIN2 (BSP_IO_PORT_04_PIN_03) +#define J4_PIN4 (BSP_IO_PORT_04_PIN_04) +#define J4_PIN6 (BSP_IO_PORT_04_PIN_05) +#define J4_PIN8 (BSP_IO_PORT_04_PIN_06) +#define USB_VBUS_DETECT (BSP_IO_PORT_04_PIN_07) +#define J2_PIN16 (BSP_IO_PORT_04_PIN_08) +#define J2_PIN18 (BSP_IO_PORT_04_PIN_09) +#define PMODB_MISO_RXD0 (BSP_IO_PORT_04_PIN_10) +#define PMODB_MOSI_TXD0 (BSP_IO_PORT_04_PIN_11) +#define PMODB_RSPCK (BSP_IO_PORT_04_PIN_12) +#define PMODB_SSL_CTS0 (BSP_IO_PORT_04_PIN_13) +#define ARDUINO_RST (BSP_IO_PORT_04_PIN_14) +#define PMODB_IO1 (BSP_IO_PORT_04_PIN_15) +#define USB_VBUS_EN (BSP_IO_PORT_05_PIN_00) +#define USB_OC (BSP_IO_PORT_05_PIN_01) +#define J4_PIN16 (BSP_IO_PORT_05_PIN_02) +#define PMODB_IO2 (BSP_IO_PORT_05_PIN_03) +#define PMODB_IO3 (BSP_IO_PORT_05_PIN_04) +#define DLS_IRQ14 (BSP_IO_PORT_05_PIN_05) +#define PMODB_IRQ15 (BSP_IO_PORT_05_PIN_06) +#define J4_PIN24 (BSP_IO_PORT_05_PIN_07) +#define DLS_SDA (BSP_IO_PORT_05_PIN_11) +#define DLS_SCL (BSP_IO_PORT_05_PIN_12) +#define J1_PIN23 (BSP_IO_PORT_06_PIN_00) +#define J1_PIN19 (BSP_IO_PORT_06_PIN_01) +#define J1_PIN21 (BSP_IO_PORT_06_PIN_02) +#define J1_PIN25 (BSP_IO_PORT_06_PIN_03) +#define J3_PIN36 (BSP_IO_PORT_06_PIN_04) +#define J3_PIN35 (BSP_IO_PORT_06_PIN_05) +#define J3_PIN19 (BSP_IO_PORT_06_PIN_08) +#define J3_PIN20 (BSP_IO_PORT_06_PIN_09) +#define J3_PIN21 (BSP_IO_PORT_06_PIN_10) +#define ARDUINO_GPIO_CLK (BSP_IO_PORT_06_PIN_11) +#define J3_PIN23 (BSP_IO_PORT_06_PIN_12) +#define ARDUINO_TXD (BSP_IO_PORT_06_PIN_13) +#define ARDUINO_RXD (BSP_IO_PORT_06_PIN_14) +#define J4_PIN9 (BSP_IO_PORT_07_PIN_00) +#define J4_PIN7 (BSP_IO_PORT_07_PIN_01) +#define J4_PIN5 (BSP_IO_PORT_07_PIN_02) +#define J4_PIN3 (BSP_IO_PORT_07_PIN_03) +#define J4_PIN1 (BSP_IO_PORT_07_PIN_04) +#define J2_PIN39 (BSP_IO_PORT_07_PIN_05) +#define J2_PIN7 (BSP_IO_PORT_07_PIN_08) +#define J2_PIN11 (BSP_IO_PORT_07_PIN_09) +#define J2_PIN13 (BSP_IO_PORT_07_PIN_10) +#define J2_PIN15 (BSP_IO_PORT_07_PIN_11) +#define ARDUINO_GPIO_PWM (BSP_IO_PORT_07_PIN_12) +#define ARDUINO_GPIO (BSP_IO_PORT_07_PIN_13) +extern const ioport_cfg_t g_bsp_pin_cfg; /* RA6M4 CPK */ + +void BSP_PinConfigSecurityInit(); +#endif /* BSP_PIN_CFG_H_ */ diff --git a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/r_icu_cfg.h b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/r_icu_cfg.h similarity index 100% rename from bsp/ra6m4-cpk/ra_cfg/fsp_cfg/r_icu_cfg.h rename to bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/r_icu_cfg.h diff --git a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/r_ioport_cfg.h b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/r_ioport_cfg.h similarity index 100% rename from bsp/ra6m4-cpk/ra_cfg/fsp_cfg/r_ioport_cfg.h rename to bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/r_ioport_cfg.h diff --git a/bsp/ra6m4-cpk/ra_cfg/fsp_cfg/r_sci_uart_cfg.h b/bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/r_sci_uart_cfg.h similarity index 100% rename from bsp/ra6m4-cpk/ra_cfg/fsp_cfg/r_sci_uart_cfg.h rename to bsp/renesas/ra6m4-cpk/ra_cfg/fsp_cfg/r_sci_uart_cfg.h diff --git a/bsp/ra6m4-cpk/ra_gen/SConscript b/bsp/renesas/ra6m4-cpk/ra_gen/SConscript similarity index 100% rename from bsp/ra6m4-cpk/ra_gen/SConscript rename to bsp/renesas/ra6m4-cpk/ra_gen/SConscript diff --git a/bsp/ra6m4-cpk/ra_gen/bsp_clock_cfg.h b/bsp/renesas/ra6m4-cpk/ra_gen/bsp_clock_cfg.h similarity index 100% rename from bsp/ra6m4-cpk/ra_gen/bsp_clock_cfg.h rename to bsp/renesas/ra6m4-cpk/ra_gen/bsp_clock_cfg.h diff --git a/bsp/ra6m4-cpk/ra_gen/common_data.c b/bsp/renesas/ra6m4-cpk/ra_gen/common_data.c similarity index 100% rename from bsp/ra6m4-cpk/ra_gen/common_data.c rename to bsp/renesas/ra6m4-cpk/ra_gen/common_data.c diff --git a/bsp/ra6m4-cpk/ra_gen/common_data.h b/bsp/renesas/ra6m4-cpk/ra_gen/common_data.h similarity index 100% rename from bsp/ra6m4-cpk/ra_gen/common_data.h rename to bsp/renesas/ra6m4-cpk/ra_gen/common_data.h diff --git a/bsp/ra6m4-cpk/ra_gen/hal_data.c b/bsp/renesas/ra6m4-cpk/ra_gen/hal_data.c similarity index 97% rename from bsp/ra6m4-cpk/ra_gen/hal_data.c rename to bsp/renesas/ra6m4-cpk/ra_gen/hal_data.c index 1727d2e918..a7cdaf62af 100644 --- a/bsp/ra6m4-cpk/ra_gen/hal_data.c +++ b/bsp/renesas/ra6m4-cpk/ra_gen/hal_data.c @@ -8,7 +8,12 @@ const external_irq_cfg_t g_external_irq0_cfg = .filter_enable = false, .pclk_div = EXTERNAL_IRQ_PCLK_DIV_BY_64, .p_callback = irq0_callback, + /** If NULL then do not add & */ +#if defined(NULL) .p_context = NULL, +#else + .p_context = &NULL, +#endif .p_extend = NULL, .ipl = (12), #if defined(VECTOR_NUMBER_ICU_IRQ0) diff --git a/bsp/ra6m4-cpk/ra_gen/hal_data.h b/bsp/renesas/ra6m4-cpk/ra_gen/hal_data.h similarity index 100% rename from bsp/ra6m4-cpk/ra_gen/hal_data.h rename to bsp/renesas/ra6m4-cpk/ra_gen/hal_data.h diff --git a/bsp/ra6m4-cpk/ra_gen/main.c b/bsp/renesas/ra6m4-cpk/ra_gen/main.c similarity index 100% rename from bsp/ra6m4-cpk/ra_gen/main.c rename to bsp/renesas/ra6m4-cpk/ra_gen/main.c diff --git a/bsp/ra6m4-cpk/ra_gen/pin_data.c b/bsp/renesas/ra6m4-cpk/ra_gen/pin_data.c similarity index 95% rename from bsp/ra6m4-cpk/ra_gen/pin_data.c rename to bsp/renesas/ra6m4-cpk/ra_gen/pin_data.c index 448eee5d8e..f97d4a86a8 100644 --- a/bsp/ra6m4-cpk/ra_gen/pin_data.c +++ b/bsp/renesas/ra6m4-cpk/ra_gen/pin_data.c @@ -38,7 +38,7 @@ const ioport_pin_cfg_t g_bsp_pin_cfg_data[] = { }, { .pin = BSP_IO_PORT_00_PIN_14, - .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE) + .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) }, { .pin = BSP_IO_PORT_00_PIN_15, @@ -178,7 +178,11 @@ void R_BSP_PinCfgSecurityInit(void); /* Initialize SAR registers for secure pins. */ void R_BSP_PinCfgSecurityInit(void) { + #if (2U == BSP_FEATURE_IOPORT_VERSION) + uint32_t pmsar[BSP_FEATURE_BSP_NUM_PMSAR]; + #else uint16_t pmsar[BSP_FEATURE_BSP_NUM_PMSAR]; + #endif memset(pmsar, 0xFF, BSP_FEATURE_BSP_NUM_PMSAR * sizeof(R_PMISC->PMSAR[0])); @@ -192,7 +196,11 @@ void R_BSP_PinCfgSecurityInit(void) for(uint32_t i = 0; i < BSP_FEATURE_BSP_NUM_PMSAR; i++) { + #if (2U == BSP_FEATURE_IOPORT_VERSION) + R_PMISC->PMSAR[i].PMSAR = (uint16_t) pmsar[i]; + #else R_PMISC->PMSAR[i].PMSAR = pmsar[i]; + #endif } } diff --git a/bsp/ra6m4-cpk/ra_gen/vector_data.c b/bsp/renesas/ra6m4-cpk/ra_gen/vector_data.c similarity index 100% rename from bsp/ra6m4-cpk/ra_gen/vector_data.c rename to bsp/renesas/ra6m4-cpk/ra_gen/vector_data.c diff --git a/bsp/ra6m4-cpk/ra_gen/vector_data.h b/bsp/renesas/ra6m4-cpk/ra_gen/vector_data.h similarity index 56% rename from bsp/ra6m4-cpk/ra_gen/vector_data.h rename to bsp/renesas/ra6m4-cpk/ra_gen/vector_data.h index fd6cf29e21..0da697c477 100644 --- a/bsp/ra6m4-cpk/ra_gen/vector_data.h +++ b/bsp/renesas/ra6m4-cpk/ra_gen/vector_data.h @@ -14,26 +14,13 @@ /* Vector table allocations */ #define VECTOR_NUMBER_SCI7_RXI ((IRQn_Type) 0) /* SCI7 RXI (Received data full) */ + #define SCI7_RXI_IRQn ((IRQn_Type) 0) /* SCI7 RXI (Received data full) */ #define VECTOR_NUMBER_SCI7_TXI ((IRQn_Type) 1) /* SCI7 TXI (Transmit data empty) */ + #define SCI7_TXI_IRQn ((IRQn_Type) 1) /* SCI7 TXI (Transmit data empty) */ #define VECTOR_NUMBER_SCI7_TEI ((IRQn_Type) 2) /* SCI7 TEI (Transmit end) */ + #define SCI7_TEI_IRQn ((IRQn_Type) 2) /* SCI7 TEI (Transmit end) */ #define VECTOR_NUMBER_SCI7_ERI ((IRQn_Type) 3) /* SCI7 ERI (Receive error) */ + #define SCI7_ERI_IRQn ((IRQn_Type) 3) /* SCI7 ERI (Receive error) */ #define VECTOR_NUMBER_ICU_IRQ0 ((IRQn_Type) 4) /* ICU IRQ0 (External pin interrupt 0) */ - typedef enum IRQn { - Reset_IRQn = -15, - NonMaskableInt_IRQn = -14, - HardFault_IRQn = -13, - MemoryManagement_IRQn = -12, - BusFault_IRQn = -11, - UsageFault_IRQn = -10, - SecureFault_IRQn = -9, - SVCall_IRQn = -5, - DebugMonitor_IRQn = -4, - PendSV_IRQn = -2, - SysTick_IRQn = -1, - SCI7_RXI_IRQn = 0, /* SCI7 RXI (Received data full) */ - SCI7_TXI_IRQn = 1, /* SCI7 TXI (Transmit data empty) */ - SCI7_TEI_IRQn = 2, /* SCI7 TEI (Transmit end) */ - SCI7_ERI_IRQn = 3, /* SCI7 ERI (Receive error) */ - ICU_IRQ0_IRQn = 4, /* ICU IRQ0 (External pin interrupt 0) */ - } IRQn_Type; + #define ICU_IRQ0_IRQn ((IRQn_Type) 4) /* ICU IRQ0 (External pin interrupt 0) */ #endif /* VECTOR_DATA_H */ \ No newline at end of file diff --git a/bsp/ra6m4-cpk/rtconfig.h b/bsp/renesas/ra6m4-cpk/rtconfig.h similarity index 100% rename from bsp/ra6m4-cpk/rtconfig.h rename to bsp/renesas/ra6m4-cpk/rtconfig.h diff --git a/bsp/ra6m4-cpk/rtconfig.py b/bsp/renesas/ra6m4-cpk/rtconfig.py similarity index 93% rename from bsp/ra6m4-cpk/rtconfig.py rename to bsp/renesas/ra6m4-cpk/rtconfig.py index d63467a2d6..ad55ddedbd 100644 --- a/bsp/ra6m4-cpk/rtconfig.py +++ b/bsp/renesas/ra6m4-cpk/rtconfig.py @@ -57,8 +57,8 @@ if PLATFORM == 'gcc': else: CFLAGS += ' -Os' - POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' - POST_ACTION += OBJCPY + ' -O ihex $TARGET rtthread.hex\n' + SIZE + ' $TARGET \n' + POST_ACTION = OBJCPY + ' -O ihex $TARGET rtthread.hex\n' + SIZE + ' $TARGET \n' + # POST_ACTION += OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' elif PLATFORM == 'armcc': # toolchains diff --git a/bsp/ra6m4-cpk/script/ac6/fsp_keep.via b/bsp/renesas/ra6m4-cpk/script/ac6/fsp_keep.via similarity index 96% rename from bsp/ra6m4-cpk/script/ac6/fsp_keep.via rename to bsp/renesas/ra6m4-cpk/script/ac6/fsp_keep.via index 2740ed2ada..d2aed8ac1c 100644 --- a/bsp/ra6m4-cpk/script/ac6/fsp_keep.via +++ b/bsp/renesas/ra6m4-cpk/script/ac6/fsp_keep.via @@ -2,6 +2,7 @@ --keep=*(.application_vectors*) --keep=*(.version) --keep=bsp_rom_registers.o(.rom_registers*) +--keep=*(.mcuboot_sce9_key*) --keep=*(.usb_*_desc_*) --keep=*(.eh_frame*) --keep=*(.code_in_ram*) diff --git a/bsp/ra6m4-cpk/script/fsp.ld b/bsp/renesas/ra6m4-cpk/script/fsp.ld similarity index 96% rename from bsp/ra6m4-cpk/script/fsp.ld rename to bsp/renesas/ra6m4-cpk/script/fsp.ld index 851bb2c45f..ce7c9b0139 100644 --- a/bsp/ra6m4-cpk/script/fsp.ld +++ b/bsp/renesas/ra6m4-cpk/script/fsp.ld @@ -66,6 +66,8 @@ MEMORY QSPI_FLASH (rx) : ORIGIN = QSPI_FLASH_START, LENGTH = QSPI_FLASH_PRV_LENGTH OSPI_DEVICE_0 (rx) : ORIGIN = OSPI_DEVICE_0_START, LENGTH = OSPI_DEVICE_0_PRV_LENGTH OSPI_DEVICE_1 (rx) : ORIGIN = OSPI_DEVICE_1_START, LENGTH = OSPI_DEVICE_1_PRV_LENGTH + OSPI_DEVICE_0_RAM (rwx) : ORIGIN = OSPI_DEVICE_0_START, LENGTH = OSPI_DEVICE_0_PRV_LENGTH + OSPI_DEVICE_1_RAM (rwx) : ORIGIN = OSPI_DEVICE_1_START, LENGTH = OSPI_DEVICE_1_PRV_LENGTH SDRAM (rwx) : ORIGIN = SDRAM_START, LENGTH = SDRAM_LENGTH OPTION_SETTING (r): ORIGIN = OPTION_SETTING_START, LENGTH = OPTION_SETTING_LENGTH OPTION_SETTING_S (r): ORIGIN = OPTION_SETTING_S_START, LENGTH = OPTION_SETTING_S_LENGTH @@ -146,6 +148,12 @@ SECTIONS /* Reserving 0x100 bytes of space for ROM registers. */ . = OPTION_SETTING_LENGTH > 0 ? . : __ROM_Start + 0x500; + /* Allocate flash write-boundary-aligned + * space for sce9 wrapped public keys for mcuboot if the module is used. + */ + . = ALIGN(128); + KEEP(*(.mcuboot_sce9_key*)) + *(.text*) KEEP(*(.version)) @@ -325,7 +333,7 @@ SECTIONS _end_sg = .; } > FLASH - __tz_FLASH_N = DEFINED(FLASH_NS_START) ? ABSOLUTE(FLASH_NS_START) : __RESERVE_NS_RAM ? ABSOLUTE(FLASH_START + FLASH_LENGTH) : ALIGN(32768); + __tz_FLASH_N = DEFINED(FLASH_NS_START) ? ABSOLUTE(FLASH_NS_START) : __RESERVE_NS_RAM ? ABSOLUTE(FLASH_START + FLASH_LENGTH) : FLASH_LENGTH < 32768 ? FLASH_LENGTH : ALIGN(32768); FLASH_NS_IMAGE_START = DEFINED(FLASH_NS_IMAGE_START) ? FLASH_NS_IMAGE_START : __tz_FLASH_N; /* Note: There are no secure/non-secure boundaries for QSPI. These symbols are provided for the RA configuration tool. */ @@ -358,6 +366,25 @@ SECTIONS /* Note: There are no secure/non-secure boundaries for QSPI. These symbols are provided for the RA configuration tool. */ __tz_QSPI_FLASH_N = __qspi_non_retentive_end__; + /* Support for OctaRAM */ + .OSPI_DEVICE_0_NO_LOAD (NOLOAD): + { + . = ALIGN(4); + __ospi_device_0_start__ = .; + *(.ospi_device_0_no_load*) + . = ALIGN(4); + __ospi_device_0_end__ = .; + } > OSPI_DEVICE_0_RAM + + .OSPI_DEVICE_1_NO_LOAD (NOLOAD): + { + . = ALIGN(4); + __ospi_device_1_start__ = .; + *(.ospi_device_1_no_load*) + . = ALIGN(4); + __ospi_device_1_end__ = .; + } > OSPI_DEVICE_1_RAM + /* Note: There are no secure/non-secure boundaries for QSPI. These symbols are provided for the RA configuration tool. */ __tz_OSPI_DEVICE_0_S = ORIGIN(OSPI_DEVICE_0); diff --git a/bsp/ra6m4-cpk/script/fsp.scat b/bsp/renesas/ra6m4-cpk/script/fsp.scat similarity index 97% rename from bsp/ra6m4-cpk/script/fsp.scat rename to bsp/renesas/ra6m4-cpk/script/fsp.scat index 825aaad2da..3db1452f53 100644 --- a/bsp/ra6m4-cpk/script/fsp.scat +++ b/bsp/renesas/ra6m4-cpk/script/fsp.scat @@ -201,6 +201,12 @@ LOAD_REGION_FLASH FLASH_ORIGIN ALIGN 0x80 LIMITED_FLASH_LENGTH #endif + MCUBOOT_SCE9_KEY +0 FIXED + { + *(.mcuboot_sce9_key) + } + + INIT_ARRAY +0 FIXED { *(.init_array) @@ -275,6 +281,18 @@ LOAD_REGION_FLASH FLASH_ORIGIN ALIGN 0x80 LIMITED_FLASH_LENGTH { } + ; Support for OctaRAM + OSPI_DEVICE_0_NO_LOAD OSPI_DEVICE_0_START UNINIT NOCOMPRESS + { + *(.ospi_device_0_no_load*) + } + + ; Support for OctaRAM + OSPI_DEVICE_1_NO_LOAD OSPI_DEVICE_1_START UNINIT NOCOMPRESS + { + *(.ospi_device_1_no_load*) + } + __tz_RAM_C RAM_NSC_START EMPTY 0 { } diff --git a/bsp/ra6m4-cpk/script/memory_regions.ld b/bsp/renesas/ra6m4-cpk/script/memory_regions.ld similarity index 100% rename from bsp/ra6m4-cpk/script/memory_regions.ld rename to bsp/renesas/ra6m4-cpk/script/memory_regions.ld diff --git a/bsp/ra6m4-cpk/script/memory_regions.scat b/bsp/renesas/ra6m4-cpk/script/memory_regions.scat similarity index 100% rename from bsp/ra6m4-cpk/script/memory_regions.scat rename to bsp/renesas/ra6m4-cpk/script/memory_regions.scat diff --git a/bsp/ra6m4-cpk/src/hal_entry.c b/bsp/renesas/ra6m4-cpk/src/hal_entry.c similarity index 100% rename from bsp/ra6m4-cpk/src/hal_entry.c rename to bsp/renesas/ra6m4-cpk/src/hal_entry.c diff --git a/bsp/ra6m4-cpk/template.uvoptx b/bsp/renesas/ra6m4-cpk/template.uvoptx similarity index 80% rename from bsp/ra6m4-cpk/template.uvoptx rename to bsp/renesas/ra6m4-cpk/template.uvoptx index 181ead903f..853ddaf732 100644 --- a/bsp/ra6m4-cpk/template.uvoptx +++ b/bsp/renesas/ra6m4-cpk/template.uvoptx @@ -169,14 +169,6 @@ - - Source Group 1 - 0 - 0 - 0 - 0 - - :Renesas RA Smart Configurator:Common Sources 0 @@ -184,7 +176,7 @@ 0 0 - 2 + 1 1 1 0 @@ -195,42 +187,6 @@ 0 0 - - 2 - 2 - 5 - 0 - 0 - 0 - .\src\SConscript - SConscript - 0 - 0 - - - 2 - 3 - 1 - 0 - 0 - 0 - .\src\mqtt_client.c - mqtt_client.c - 0 - 0 - - - 2 - 4 - 5 - 0 - 0 - 0 - .\src\mqtt_client.h - mqtt_client.h - 0 - 0 - diff --git a/bsp/ra6m4-cpk/template.uvprojx b/bsp/renesas/ra6m4-cpk/template.uvprojx similarity index 95% rename from bsp/ra6m4-cpk/template.uvprojx rename to bsp/renesas/ra6m4-cpk/template.uvprojx index 948f8b1586..ea623c0b2a 100644 --- a/bsp/ra6m4-cpk/template.uvprojx +++ b/bsp/renesas/ra6m4-cpk/template.uvprojx @@ -49,7 +49,7 @@ 1 .\Objects\ - ra6m4 + ra6m4_cpk 1 0 1 @@ -82,11 +82,11 @@ 0 0 - + cmd /c "start "Renesas" /w cmd /c ""$Slauncher\rasc_launcher.bat" "3.5.0" --gensecurebundle --compiler ARMv6 "$Pconfiguration.xml" "$L%L" 2> "%%TEMP%%\rasc_stderr.out""" 0 0 - 0 + 2 0 0 @@ -380,9 +380,6 @@ - - Source Group 1 - :Renesas RA Smart Configurator:Common Sources @@ -391,21 +388,6 @@ 1 .\src\hal_entry.c - - SConscript - 5 - .\src\SConscript - - - mqtt_client.c - 1 - .\src\mqtt_client.c - - - mqtt_client.h - 5 - .\src\mqtt_client.h - From d728c3d27c1222cd0587e6f36be750c11556cb90 Mon Sep 17 00:00:00 2001 From: Sherman Date: Fri, 14 Jan 2022 18:10:27 +0800 Subject: [PATCH 5/5] [bsp/ra6m4-iot] add ra6m4-iot BSP --- bsp/renesas/ra6m4-iot/.config | 684 + bsp/renesas/ra6m4-iot/.gitignore | 5 + bsp/renesas/ra6m4-iot/.ignore_format.yml | 8 + .../ra6m4-iot/.settings/standalone.prefs | 19 + bsp/renesas/ra6m4-iot/Kconfig | 38 + bsp/renesas/ra6m4-iot/R7FA6M4AF3CFP.pincfg | 36 + bsp/renesas/ra6m4-iot/README.md | 183 + .../ra6m4-iot/RTE/_Target_1/RTE_Components.h | 15 + bsp/renesas/ra6m4-iot/SConscript | 26 + bsp/renesas/ra6m4-iot/SConstruct | 40 + bsp/renesas/ra6m4-iot/buildinfo.gpdsc | 144 + bsp/renesas/ra6m4-iot/configuration.xml | 387 + .../docs/Xiaoxiongpai_BSP_FSP3.5.0.rar | Bin 0 -> 27352 bytes .../ra6m4-iot/docs/picture/1635909864954.png | Bin 0 -> 34028 bytes .../ra6m4-iot/docs/picture/1635929089445.png | Bin 0 -> 20086 bytes .../ra6m4-iot/docs/picture/adc_config.png | Bin 0 -> 23810 bytes .../ra6m4-iot/docs/picture/adc_config1.png | Bin 0 -> 36349 bytes .../ra6m4-iot/docs/picture/adc_dac.png | Bin 0 -> 15738 bytes .../ra6m4-iot/docs/picture/add_flash.png | Bin 0 -> 23258 bytes .../ra6m4-iot/docs/picture/add_gpt1.png | Bin 0 -> 59633 bytes .../ra6m4-iot/docs/picture/add_gpt2.png | Bin 0 -> 80595 bytes .../ra6m4-iot/docs/picture/add_gpt3.png | Bin 0 -> 36542 bytes bsp/renesas/ra6m4-iot/docs/picture/can.png | Bin 0 -> 28449 bytes .../ra6m4-iot/docs/picture/can_callback.png | Bin 0 -> 21634 bytes .../ra6m4-iot/docs/picture/can_menuconfig.png | Bin 0 -> 22685 bytes .../ra6m4-iot/docs/picture/config_flash.png | Bin 0 -> 11975 bytes .../ra6m4-iot/docs/picture/config_irq4.png | Bin 0 -> 16147 bytes .../ra6m4-iot/docs/picture/customize.png | Bin 0 -> 18942 bytes .../ra6m4-iot/docs/picture/dac_config0.png | Bin 0 -> 24703 bytes .../ra6m4-iot/docs/picture/dac_config1.png | Bin 0 -> 31852 bytes .../ra6m4-iot/docs/picture/dac_config2.png | Bin 0 -> 20677 bytes .../ra6m4-iot/docs/picture/dmac_config.png | Bin 0 -> 17767 bytes .../ra6m4-iot/docs/picture/dmac_int.png | Bin 0 -> 32127 bytes .../ra6m4-iot/docs/picture/drv_rw007.png | Bin 0 -> 25804 bytes .../docs/picture/flash_menuconfig.png | Bin 0 -> 18934 bytes .../ra6m4-iot/docs/picture/fsp_version.png | Bin 0 -> 5006 bytes bsp/renesas/ra6m4-iot/docs/picture/gpio.png | Bin 0 -> 35359 bytes .../ra6m4-iot/docs/picture/gpio_irq.png | Bin 0 -> 43464 bytes .../ra6m4-iot/docs/picture/icu_stack.png | Bin 0 -> 25432 bytes .../ra6m4-iot/docs/picture/import_changes.png | Bin 0 -> 14142 bytes bsp/renesas/ra6m4-iot/docs/picture/irq0.png | Bin 0 -> 36998 bytes bsp/renesas/ra6m4-iot/docs/picture/irq1.png | Bin 0 -> 15952 bytes bsp/renesas/ra6m4-iot/docs/picture/jflash.png | Bin 0 -> 23547 bytes .../ra6m4-iot/docs/picture/jflash1.png | Bin 0 -> 5392 bytes .../ra6m4-iot/docs/picture/jflash2.png | Bin 0 -> 9796 bytes .../ra6m4-iot/docs/picture/jflash3.png | Bin 0 -> 26983 bytes .../ra6m4-iot/docs/picture/openrasc.png | Bin 0 -> 10196 bytes bsp/renesas/ra6m4-iot/docs/picture/p105.png | Bin 0 -> 25303 bytes .../ra6m4-iot/docs/picture/pwm_env.png | Bin 0 -> 33223 bytes .../ra6m4-iot/docs/picture/rascuart.png | Bin 0 -> 47912 bytes .../ra6m4-iot/docs/picture/rascuart1.png | Bin 0 -> 67133 bytes .../ra6m4-iot/docs/picture/readme_faq1.png | Bin 0 -> 19419 bytes bsp/renesas/ra6m4-iot/docs/picture/rtc.png | Bin 0 -> 26149 bytes .../ra6m4-iot/docs/picture/rtc_config.png | Bin 0 -> 25772 bytes .../ra6m4-iot/docs/picture/rtc_env.png | Bin 0 -> 16930 bytes .../ra6m4-iot/docs/picture/rw007_int.png | Bin 0 -> 16547 bytes .../ra6m4-iot/docs/picture/rw007_mdk.png | Bin 0 -> 26640 bytes .../ra6m4-iot/docs/picture/rw007_mempool.png | Bin 0 -> 11818 bytes .../ra6m4-iot/docs/picture/rw007_netdev.png | Bin 0 -> 21237 bytes .../ra6m4-iot/docs/picture/rw007_ping.png | Bin 0 -> 18219 bytes .../ra6m4-iot/docs/picture/rw007_pkg.png | Bin 0 -> 20854 bytes .../ra6m4-iot/docs/picture/rw007_reset.png | Bin 0 -> 19932 bytes .../ra6m4-iot/docs/picture/rw007_spi.png | Bin 0 -> 18049 bytes .../ra6m4-iot/docs/picture/rw007_spicfg.png | Bin 0 -> 40655 bytes .../ra6m4-iot/docs/picture/rw007_test.png | Bin 0 -> 30349 bytes .../ra6m4-iot/docs/picture/rw007_wifijoin.png | Bin 0 -> 11478 bytes .../ra6m4-iot/docs/picture/rw007_wlan.png | Bin 0 -> 17945 bytes .../ra6m4-iot/docs/picture/sdhi_config.png | Bin 0 -> 32652 bytes .../ra6m4-iot/docs/picture/sdhi_config1.png | Bin 0 -> 30659 bytes .../ra6m4-iot/docs/picture/sdhi_dfs.png | Bin 0 -> 49074 bytes .../ra6m4-iot/docs/picture/sdhi_env.png | Bin 0 -> 28889 bytes bsp/renesas/ra6m4-iot/docs/picture/spi.png | Bin 0 -> 47012 bytes .../ra6m4-iot/docs/picture/spi_add.png | Bin 0 -> 27753 bytes .../ra6m4-iot/docs/picture/spi_env.png | Bin 0 -> 19124 bytes .../ra6m4-iot/docs/picture/spi_pin.png | Bin 0 -> 26460 bytes bsp/renesas/ra6m4-iot/docs/picture/wdt.png | Bin 0 -> 24188 bytes .../ra6m4-iot/docs/picture/wdt_config.png | Bin 0 -> 20947 bytes .../ra6m4-iot/docs/picture/wdt_env.png | Bin 0 -> 22934 bytes .../ra6m4-iot/docs/使用瑞萨FSP配置工具.md | 329 + bsp/renesas/ra6m4-iot/docs/开发板手册.docx | Bin 0 -> 2146671 bytes bsp/renesas/ra6m4-iot/drivers/Kconfig | 274 + bsp/renesas/ra6m4-iot/drivers/SConscript | 58 + bsp/renesas/ra6m4-iot/drivers/board.h | 38 + .../ra6m4-iot/drivers/config/drv_config.h | 46 + .../drivers/config/ra6m4/adc_config.h | 41 + .../drivers/config/ra6m4/can_config.h | 48 + .../drivers/config/ra6m4/dac_config.h | 41 + .../drivers/config/ra6m4/pwm_config.h | 68 + .../drivers/config/ra6m4/uart_config.h | 47 + bsp/renesas/ra6m4-iot/drivers/drv_adc.c | 132 + bsp/renesas/ra6m4-iot/drivers/drv_can.c | 310 + bsp/renesas/ra6m4-iot/drivers/drv_can.h | 48 + bsp/renesas/ra6m4-iot/drivers/drv_common.c | 185 + bsp/renesas/ra6m4-iot/drivers/drv_common.h | 36 + bsp/renesas/ra6m4-iot/drivers/drv_dac.c | 113 + bsp/renesas/ra6m4-iot/drivers/drv_flash.c | 283 + bsp/renesas/ra6m4-iot/drivers/drv_flash.h | 64 + bsp/renesas/ra6m4-iot/drivers/drv_gpio.c | 589 + bsp/renesas/ra6m4-iot/drivers/drv_gpio.h | 42 + bsp/renesas/ra6m4-iot/drivers/drv_pwm.c | 220 + bsp/renesas/ra6m4-iot/drivers/drv_pwm.h | 34 + bsp/renesas/ra6m4-iot/drivers/drv_rtc.c | 226 + bsp/renesas/ra6m4-iot/drivers/drv_sdhi.c | 510 + bsp/renesas/ra6m4-iot/drivers/drv_sdhi.h | 65 + bsp/renesas/ra6m4-iot/drivers/drv_soft_i2c.c | 218 + bsp/renesas/ra6m4-iot/drivers/drv_soft_i2c.h | 53 + bsp/renesas/ra6m4-iot/drivers/drv_spi.c | 290 + bsp/renesas/ra6m4-iot/drivers/drv_spi.h | 51 + bsp/renesas/ra6m4-iot/drivers/drv_usart_v2.c | 236 + bsp/renesas/ra6m4-iot/drivers/drv_usart_v2.h | 40 + bsp/renesas/ra6m4-iot/drivers/drv_wdt.c | 94 + bsp/renesas/ra6m4-iot/ports/SConscript | 12 + bsp/renesas/ra6m4-iot/ports/fal/SConscript | 22 + bsp/renesas/ra6m4-iot/ports/fal/fal_cfg.h | 41 + bsp/renesas/ra6m4-iot/ports/rw007/SConscript | 22 + bsp/renesas/ra6m4-iot/ports/rw007/drv_rw007.c | 67 + bsp/renesas/ra6m4-iot/project.uvoptx | 724 + bsp/renesas/ra6m4-iot/project.uvprojx | 635 + bsp/renesas/ra6m4-iot/ra/SConscript | 26 + .../CMSIS/Core/Include/cachel1_armv7.h | 411 + .../CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h | 888 + .../CMSIS/Core/Include/cmsis_armclang.h | 1503 + .../CMSIS/Core/Include/cmsis_armclang_ltm.h | 1928 + .../CMSIS/Core/Include/cmsis_compiler.h | 283 + .../CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h | 2211 + .../CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h | 1002 + .../CMSIS/Core/Include/cmsis_version.h | 39 + .../CMSIS/Core/Include/core_armv81mml.h | 4217 ++ .../CMSIS/Core/Include/core_armv8mbl.h | 2222 + .../CMSIS/Core/Include/core_armv8mml.h | 3197 ++ .../arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h | 952 + .../CMSIS_5/CMSIS/Core/Include/core_cm0plus.h | 1087 + .../arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h | 979 + .../CMSIS_5/CMSIS/Core/Include/core_cm23.h | 2297 + .../arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h | 1943 + .../CMSIS_5/CMSIS/Core/Include/core_cm33.h | 3265 ++ .../CMSIS_5/CMSIS/Core/Include/core_cm35p.h | 3265 ++ .../arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h | 2129 + .../CMSIS_5/CMSIS/Core/Include/core_cm55.h | 4278 ++ .../arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h | 2366 + .../CMSIS_5/CMSIS/Core/Include/core_sc000.h | 1030 + .../CMSIS_5/CMSIS/Core/Include/core_sc300.h | 1917 + .../CMSIS_5/CMSIS/Core/Include/mpu_armv7.h | 275 + .../CMSIS_5/CMSIS/Core/Include/mpu_armv8.h | 352 + .../CMSIS_5/CMSIS/Core/Include/pmu_armv8.h | 337 + .../CMSIS_5/CMSIS/Core/Include/tz_context.h | 70 + .../ra6m4-iot/ra/arm/CMSIS_5/LICENSE.txt | 201 + .../ra6m4-iot/ra/board/ra6m4_iot/SEGGER_RTT.h | 493 + .../ra/board/ra6m4_iot/SEGGER_RTT_Conf.h | 429 + .../ra6m4-iot/ra/board/ra6m4_iot/board.h | 69 + .../ra/board/ra6m4_iot/board_ethernet_phy.h | 60 + .../ra6m4-iot/ra/board/ra6m4_iot/board_init.c | 66 + .../ra6m4-iot/ra/board/ra6m4_iot/board_init.h | 63 + .../ra6m4-iot/ra/board/ra6m4_iot/board_keys.c | 106 + .../ra6m4-iot/ra/board/ra6m4_iot/board_keys.h | 57 + .../ra6m4-iot/ra/board/ra6m4_iot/board_leds.c | 74 + .../ra6m4-iot/ra/board/ra6m4_iot/board_leds.h | 75 + .../ra6m4-iot/ra/fsp/inc/api/bsp_api.h | 107 + .../ra6m4-iot/ra/fsp/inc/api/r_ioport_api.h | 384 + .../ra6m4-iot/ra/fsp/inc/api/r_transfer_api.h | 371 + .../ra6m4-iot/ra/fsp/inc/api/r_uart_api.h | 293 + .../ra6m4-iot/ra/fsp/inc/fsp_common_api.h | 364 + .../ra6m4-iot/ra/fsp/inc/fsp_features.h | 294 + .../ra6m4-iot/ra/fsp/inc/fsp_version.h | 80 + .../ra6m4-iot/ra/fsp/inc/instances/r_ioport.h | 359 + .../ra/fsp/inc/instances/r_sci_uart.h | 192 + .../Device/RENESAS/Include/base_addresses.h | 623 + .../cmsis/Device/RENESAS/Include/renesas.h | 46653 ++++++++++++++++ .../bsp/cmsis/Device/RENESAS/Include/system.h | 58 + .../bsp/cmsis/Device/RENESAS/Source/startup.c | 156 + .../bsp/cmsis/Device/RENESAS/Source/system.c | 458 + .../fsp/src/bsp/mcu/all/bsp_arm_exceptions.h | 50 + .../ra/fsp/src/bsp/mcu/all/bsp_clocks.c | 1566 + .../ra/fsp/src/bsp/mcu/all/bsp_clocks.h | 354 + .../ra/fsp/src/bsp/mcu/all/bsp_common.c | 195 + .../ra/fsp/src/bsp/mcu/all/bsp_common.h | 379 + .../src/bsp/mcu/all/bsp_compiler_support.h | 104 + .../ra/fsp/src/bsp/mcu/all/bsp_delay.c | 182 + .../ra/fsp/src/bsp/mcu/all/bsp_delay.h | 75 + .../ra/fsp/src/bsp/mcu/all/bsp_group_irq.c | 121 + .../ra/fsp/src/bsp/mcu/all/bsp_group_irq.h | 79 + .../ra/fsp/src/bsp/mcu/all/bsp_guard.c | 55 + .../ra/fsp/src/bsp/mcu/all/bsp_guard.h | 46 + .../ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_io.c | 41 + .../ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_io.h | 470 + .../ra/fsp/src/bsp/mcu/all/bsp_irq.c | 112 + .../ra/fsp/src/bsp/mcu/all/bsp_irq.h | 219 + .../ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h | 68 + .../ra/fsp/src/bsp/mcu/all/bsp_module_stop.h | 190 + .../src/bsp/mcu/all/bsp_register_protection.c | 125 + .../src/bsp/mcu/all/bsp_register_protection.h | 74 + .../fsp/src/bsp/mcu/all/bsp_rom_registers.c | 176 + .../ra/fsp/src/bsp/mcu/all/bsp_sbrk.c | 106 + .../ra/fsp/src/bsp/mcu/all/bsp_security.c | 336 + .../ra/fsp/src/bsp/mcu/all/bsp_security.h | 47 + .../ra/fsp/src/bsp/mcu/all/bsp_tfu.h | 228 + .../ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h | 328 + .../ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h | 340 + .../ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h | 58 + .../ra6m4-iot/ra/fsp/src/r_ioport/r_ioport.c | 878 + .../ra/fsp/src/r_sci_uart/r_sci_uart.c | 1846 + bsp/renesas/ra6m4-iot/ra_cfg/SConscript | 19 + .../ra6m4-iot/ra_cfg/fsp_cfg/bsp/board_cfg.h | 5 + .../ra6m4-iot/ra_cfg/fsp_cfg/bsp/bsp_cfg.h | 52 + .../ra_cfg/fsp_cfg/bsp/bsp_mcu_device_cfg.h | 5 + .../fsp_cfg/bsp/bsp_mcu_device_pn_cfg.h | 10 + .../ra_cfg/fsp_cfg/bsp/bsp_mcu_family_cfg.h | 363 + .../ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h | 8 + .../ra6m4-iot/ra_cfg/fsp_cfg/r_ioport_cfg.h | 5 + .../ra6m4-iot/ra_cfg/fsp_cfg/r_sci_uart_cfg.h | 8 + bsp/renesas/ra6m4-iot/ra_gen/SConscript | 18 + bsp/renesas/ra6m4-iot/ra_gen/bsp_clock_cfg.h | 29 + bsp/renesas/ra6m4-iot/ra_gen/common_data.c | 11 + bsp/renesas/ra6m4-iot/ra_gen/common_data.h | 16 + bsp/renesas/ra6m4-iot/ra_gen/hal_data.c | 83 + bsp/renesas/ra6m4-iot/ra_gen/hal_data.h | 24 + bsp/renesas/ra6m4-iot/ra_gen/main.c | 6 + bsp/renesas/ra6m4-iot/ra_gen/pin_data.c | 203 + bsp/renesas/ra6m4-iot/ra_gen/vector_data.c | 19 + bsp/renesas/ra6m4-iot/ra_gen/vector_data.h | 23 + bsp/renesas/ra6m4-iot/rtconfig.h | 215 + bsp/renesas/ra6m4-iot/rtconfig.py | 86 + bsp/renesas/ra6m4-iot/script/ac6/fsp_keep.via | 33 + bsp/renesas/ra6m4-iot/script/fsp.ld | 605 + bsp/renesas/ra6m4-iot/script/fsp.scat | 670 + .../ra6m4-iot/script/memory_regions.ld | 21 + .../ra6m4-iot/script/memory_regions.scat | 22 + bsp/renesas/ra6m4-iot/src/hal_entry.c | 28 + bsp/renesas/ra6m4-iot/template.uvoptx | 180 + bsp/renesas/ra6m4-iot/template.uvprojx | 407 + 230 files changed, 116513 insertions(+) create mode 100644 bsp/renesas/ra6m4-iot/.config create mode 100644 bsp/renesas/ra6m4-iot/.gitignore create mode 100644 bsp/renesas/ra6m4-iot/.ignore_format.yml create mode 100644 bsp/renesas/ra6m4-iot/.settings/standalone.prefs create mode 100644 bsp/renesas/ra6m4-iot/Kconfig create mode 100644 bsp/renesas/ra6m4-iot/R7FA6M4AF3CFP.pincfg create mode 100644 bsp/renesas/ra6m4-iot/README.md create mode 100644 bsp/renesas/ra6m4-iot/RTE/_Target_1/RTE_Components.h create mode 100644 bsp/renesas/ra6m4-iot/SConscript create mode 100644 bsp/renesas/ra6m4-iot/SConstruct create mode 100644 bsp/renesas/ra6m4-iot/buildinfo.gpdsc create mode 100644 bsp/renesas/ra6m4-iot/configuration.xml create mode 100644 bsp/renesas/ra6m4-iot/docs/Xiaoxiongpai_BSP_FSP3.5.0.rar create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/1635909864954.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/1635929089445.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/adc_config.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/adc_config1.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/adc_dac.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/add_flash.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/add_gpt1.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/add_gpt2.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/add_gpt3.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/can.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/can_callback.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/can_menuconfig.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/config_flash.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/config_irq4.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/customize.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/dac_config0.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/dac_config1.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/dac_config2.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/dmac_config.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/dmac_int.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/drv_rw007.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/flash_menuconfig.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/fsp_version.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/gpio.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/gpio_irq.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/icu_stack.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/import_changes.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/irq0.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/irq1.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/jflash.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/jflash1.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/jflash2.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/jflash3.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/openrasc.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/p105.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/pwm_env.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rascuart.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rascuart1.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/readme_faq1.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rtc.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rtc_config.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rtc_env.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_int.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_mdk.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_mempool.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_netdev.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_ping.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_pkg.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_reset.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_spi.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_spicfg.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_test.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_wifijoin.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/rw007_wlan.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/sdhi_config.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/sdhi_config1.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/sdhi_dfs.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/sdhi_env.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/spi.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/spi_add.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/spi_env.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/spi_pin.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/wdt.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/wdt_config.png create mode 100644 bsp/renesas/ra6m4-iot/docs/picture/wdt_env.png create mode 100644 bsp/renesas/ra6m4-iot/docs/使用瑞萨FSP配置工具.md create mode 100644 bsp/renesas/ra6m4-iot/docs/开发板手册.docx create mode 100644 bsp/renesas/ra6m4-iot/drivers/Kconfig create mode 100644 bsp/renesas/ra6m4-iot/drivers/SConscript create mode 100644 bsp/renesas/ra6m4-iot/drivers/board.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/config/drv_config.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/config/ra6m4/adc_config.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/config/ra6m4/can_config.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/config/ra6m4/dac_config.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/config/ra6m4/pwm_config.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/config/ra6m4/uart_config.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_adc.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_can.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_can.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_common.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_common.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_dac.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_flash.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_flash.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_gpio.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_gpio.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_pwm.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_pwm.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_rtc.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_sdhi.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_sdhi.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_soft_i2c.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_soft_i2c.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_spi.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_spi.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_usart_v2.c create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_usart_v2.h create mode 100644 bsp/renesas/ra6m4-iot/drivers/drv_wdt.c create mode 100644 bsp/renesas/ra6m4-iot/ports/SConscript create mode 100644 bsp/renesas/ra6m4-iot/ports/fal/SConscript create mode 100644 bsp/renesas/ra6m4-iot/ports/fal/fal_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ports/rw007/SConscript create mode 100644 bsp/renesas/ra6m4-iot/ports/rw007/drv_rw007.c create mode 100644 bsp/renesas/ra6m4-iot/project.uvoptx create mode 100644 bsp/renesas/ra6m4-iot/project.uvprojx create mode 100644 bsp/renesas/ra6m4-iot/ra/SConscript create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h create mode 100644 bsp/renesas/ra6m4-iot/ra/arm/CMSIS_5/LICENSE.txt create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/SEGGER_RTT.h create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/SEGGER_RTT_Conf.h create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/board.h create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/board_ethernet_phy.h create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/board_init.c create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/board_init.h create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/board_keys.c create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/board_keys.h create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/board_leds.c create mode 100644 bsp/renesas/ra6m4-iot/ra/board/ra6m4_iot/board_leds.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/inc/api/bsp_api.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/inc/api/r_ioport_api.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/inc/api/r_transfer_api.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/inc/api/r_uart_api.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/inc/fsp_common_api.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/inc/fsp_features.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/inc/fsp_version.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/inc/instances/r_ioport.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/inc/instances/r_sci_uart.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_arm_exceptions.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_clocks.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_clocks.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_common.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_common.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_delay.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_delay.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_group_irq.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_group_irq.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_guard.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_guard.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_io.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_io.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_irq.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_irq.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_module_stop.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_register_protection.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_register_protection.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_sbrk.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_security.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_security.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/all/bsp_tfu.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/r_ioport/r_ioport.c create mode 100644 bsp/renesas/ra6m4-iot/ra/fsp/src/r_sci_uart/r_sci_uart.c create mode 100644 bsp/renesas/ra6m4-iot/ra_cfg/SConscript create mode 100644 bsp/renesas/ra6m4-iot/ra_cfg/fsp_cfg/bsp/board_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ra_cfg/fsp_cfg/bsp/bsp_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ra_cfg/fsp_cfg/bsp/bsp_mcu_device_pn_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ra_cfg/fsp_cfg/bsp/bsp_mcu_family_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ra_cfg/fsp_cfg/bsp/bsp_pin_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ra_cfg/fsp_cfg/r_ioport_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ra_cfg/fsp_cfg/r_sci_uart_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/SConscript create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/bsp_clock_cfg.h create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/common_data.c create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/common_data.h create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/hal_data.c create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/hal_data.h create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/main.c create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/pin_data.c create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/vector_data.c create mode 100644 bsp/renesas/ra6m4-iot/ra_gen/vector_data.h create mode 100644 bsp/renesas/ra6m4-iot/rtconfig.h create mode 100644 bsp/renesas/ra6m4-iot/rtconfig.py create mode 100644 bsp/renesas/ra6m4-iot/script/ac6/fsp_keep.via create mode 100644 bsp/renesas/ra6m4-iot/script/fsp.ld create mode 100644 bsp/renesas/ra6m4-iot/script/fsp.scat create mode 100644 bsp/renesas/ra6m4-iot/script/memory_regions.ld create mode 100644 bsp/renesas/ra6m4-iot/script/memory_regions.scat create mode 100644 bsp/renesas/ra6m4-iot/src/hal_entry.c create mode 100644 bsp/renesas/ra6m4-iot/template.uvoptx create mode 100644 bsp/renesas/ra6m4-iot/template.uvprojx diff --git a/bsp/renesas/ra6m4-iot/.config b/bsp/renesas/ra6m4-iot/.config new file mode 100644 index 0000000000..30770c3815 --- /dev/null +++ b/bsp/renesas/ra6m4-iot/.config @@ -0,0 +1,684 @@ +# +# Automatically generated file; DO NOT EDIT. +# RT-Thread Configuration +# + +# +# RT-Thread Kernel +# +CONFIG_RT_NAME_MAX=8 +# CONFIG_RT_USING_BIG_ENDIAN is not set +# CONFIG_RT_USING_ARCH_DATA_TYPE is not set +# CONFIG_RT_USING_SMP is not set +CONFIG_RT_ALIGN_SIZE=4 +# 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_IDLE_HOOK=y +CONFIG_RT_IDLE_HOOK_LIST_SIZE=4 +CONFIG_IDLE_THREAD_STACK_SIZE=256 +CONFIG_RT_USING_TIMER_SOFT=y +CONFIG_RT_TIMER_THREAD_PRIO=4 +CONFIG_RT_TIMER_THREAD_STACK_SIZE=512 + +# +# kservice optimization +# +# CONFIG_RT_KSERVICE_USING_STDLIB is not set +# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set +# CONFIG_RT_USING_TINY_FFS is not set +# CONFIG_RT_PRINTF_LONGLONG is not set +CONFIG_RT_DEBUG=y +CONFIG_RT_DEBUG_COLOR=y +# CONFIG_RT_DEBUG_INIT_CONFIG is not set +# CONFIG_RT_DEBUG_THREAD_CONFIG is not set +# CONFIG_RT_DEBUG_SCHEDULER_CONFIG is not set +# CONFIG_RT_DEBUG_IPC_CONFIG is not set +# CONFIG_RT_DEBUG_TIMER_CONFIG is not set +# CONFIG_RT_DEBUG_IRQ_CONFIG is not set +# CONFIG_RT_DEBUG_MEM_CONFIG is not set +# CONFIG_RT_DEBUG_SLAB_CONFIG is not set +# CONFIG_RT_DEBUG_MEMHEAP_CONFIG is not set +# CONFIG_RT_DEBUG_MODULE_CONFIG 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_SIGNALS is not set + +# +# Memory Management +# +# CONFIG_RT_USING_MEMPOOL is not set +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 + +# +# Kernel Device Object +# +CONFIG_RT_USING_DEVICE=y +# CONFIG_RT_USING_DEVICE_OPS is not set +# CONFIG_RT_USING_INTERRUPT_INFO is not set +CONFIG_RT_USING_CONSOLE=y +CONFIG_RT_CONSOLEBUF_SIZE=128 +CONFIG_RT_CONSOLE_DEVICE_NAME="uart6" +CONFIG_RT_VER_NUM=0x40100 +CONFIG_ARCH_ARM=y +CONFIG_RT_USING_CPU_FFS=y +CONFIG_ARCH_ARM_CORTEX_M=y +CONFIG_ARCH_ARM_CORTEX_M4=y +# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set + +# +# RT-Thread Components +# +CONFIG_RT_USING_COMPONENTS_INIT=y +CONFIG_RT_USING_USER_MAIN=y +CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 +CONFIG_RT_MAIN_THREAD_PRIORITY=10 +# CONFIG_RT_USING_LEGACY is not set + +# +# C++ features +# +# CONFIG_RT_USING_CPLUSPLUS is not set + +# +# Command shell +# +CONFIG_RT_USING_FINSH=y +CONFIG_RT_USING_MSH=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 + +# +# Device virtual file system +# +# CONFIG_RT_USING_DFS is not set + +# +# Device Drivers +# +CONFIG_RT_USING_DEVICE_IPC=y +# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set +CONFIG_RT_USING_SERIAL=y +# CONFIG_RT_USING_SERIAL_V1 is not set +CONFIG_RT_USING_SERIAL_V2=y +CONFIG_RT_SERIAL_USING_DMA=y +# CONFIG_RT_USING_CAN is not set +# CONFIG_RT_USING_HWTIMER 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_PIN=y +# CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set +# CONFIG_RT_USING_PWM 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_HWCRYPTO is not set +# CONFIG_RT_USING_PULSE_ENCODER is not set +# CONFIG_RT_USING_INPUT_CAPTURE is not set +# CONFIG_RT_USING_WIFI is not set + +# +# Using USB +# +# CONFIG_RT_USING_USB is not set +# CONFIG_RT_USING_USB_HOST is not set +# CONFIG_RT_USING_USB_DEVICE is not set + +# +# POSIX layer and C standard library +# +# CONFIG_RT_USING_MODULE is not set +CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 + +# +# 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_PTHREADS 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 +# + +# +# Network +# + +# +# Socket abstraction layer +# +# CONFIG_RT_USING_SAL is not set + +# +# Network interface device +# +# CONFIG_RT_USING_NETDEV is not set + +# +# light weight TCP/IP stack +# +# CONFIG_RT_USING_LWIP is not set + +# +# AT commands +# +# CONFIG_RT_USING_AT is not set + +# +# VBUS(Virtual Software BUS) +# +# CONFIG_RT_USING_VBUS is not set + +# +# 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_RT_LINK is not set +# CONFIG_RT_USING_LWP is not set + +# +# RT-Thread Utestcases +# +# CONFIG_RT_USING_UTESTCASES is not set + +# +# 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_CJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_LIBMODBUS is not set +# CONFIG_PKG_USING_FREEMODBUS is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_EZXML is not set +# CONFIG_PKG_USING_NANOPB is not set + +# +# Wi-Fi +# + +# +# Marvell WiFi +# +# CONFIG_PKG_USING_WLANMARVELL is not set + +# +# Wiced WiFi +# +# CONFIG_PKG_USING_WLAN_WICED is not set +# CONFIG_PKG_USING_RW007 is not set +# 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_EZ_IOT_OS is not set +# CONFIG_PKG_USING_NIMBLE 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_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_AGILE_TELNET is not set +# CONFIG_PKG_USING_NMEALIB is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set +# CONFIG_PKG_USING_PDULIB is not set +# CONFIG_PKG_USING_BTSTACK 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_RAPIDJSON 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_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 + +# +# security packages +# +# CONFIG_PKG_USING_MBEDTLS is not set +# CONFIG_PKG_USING_LIBSODIUM 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 + +# +# language packages +# +# 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 + +# +# multimedia packages +# + +# +# LVGL: powerful and easy-to-use embedded GUI library +# +# CONFIG_PKG_USING_LVGL is not set +# CONFIG_PKG_USING_LITTLEVGL2RTT is not set +# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set + +# +# u8g2: a monochrome graphic library +# +# CONFIG_PKG_USING_U8G2_OFFICIAL is not set +# CONFIG_PKG_USING_U8G2 is not set +# 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 + +# +# PainterEngine: A cross-platform graphics application framework written in C language +# +# CONFIG_PKG_USING_PAINTERENGINE is not set +# CONFIG_PKG_USING_PAINTERENGINE_AUX is not set +# CONFIG_PKG_USING_MCURSES is not set +# CONFIG_PKG_USING_TERMBOX is not set +# CONFIG_PKG_USING_VT100 is not set + +# +# tools packages +# +# CONFIG_PKG_USING_CMBACKTRACE 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_RDB is not set +# CONFIG_PKG_USING_QRCODE is not set +# CONFIG_PKG_USING_ULOG_EASYFLASH is not set +# CONFIG_PKG_USING_ULOG_FILE 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 + +# +# system packages +# + +# +# enhanced kernel services +# +# CONFIG_PKG_USING_RT_MEMCPY_CM is not set +# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set +# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set + +# +# POSIX extension functions +# +# CONFIG_PKG_USING_POSIX_GETLINE is not set +# CONFIG_PKG_USING_POSIX_WCWIDTH 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 + +# +# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard +# +# CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_RTOS2 is not set + +# +# 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 +# CONFIG_RT_USING_ARDUINO is not set +# CONFIG_PKG_USING_GUIENGINE is not set +# CONFIG_PKG_USING_PERSIMMON 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_FAL 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_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_USB_STACK is not set +# CONFIG_PKG_USING_LUATOS_SOC is not set + +# +# peripheral libraries and drivers +# +# CONFIG_PKG_USING_SENSORS_DRIVERS is not set +# CONFIG_PKG_USING_REALTEK_AMEBA is not set +# CONFIG_PKG_USING_SHT2X is not set +# CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_AS7341 is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# CONFIG_PKG_USING_ICM20608 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_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_WM_LIBRARIES is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# CONFIG_PKG_USING_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_AD7746 is not set +# CONFIG_PKG_USING_PCA9685 is not set +# CONFIG_PKG_USING_I2C_TOOLS is not set +# CONFIG_PKG_USING_NRF24L01 is not set +# CONFIG_PKG_USING_TOUCH_DRIVERS is not set +# CONFIG_PKG_USING_MAX17048 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_EMBARC_BSP 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_PAJ7620 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_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_STM32WB55_SDK 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_BLUETRUM_SDK 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_BL_MCU_SDK is not set +# CONFIG_PKG_USING_SOFT_SERIAL is not set +# CONFIG_PKG_USING_MB85RS16 is not set + +# +# 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 + +# +# miscellaneous packages +# + +# +# 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 + +# +# 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_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_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_DSTR is not set +# CONFIG_PKG_USING_TINYFRAME is not set +# CONFIG_PKG_USING_KENDRYTE_DEMO is not set +# CONFIG_PKG_USING_DIGITALCTRL 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_UKAL is not set +# CONFIG_PKG_USING_CRCLIB 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 + +# +# Hardware Drivers Config +# +CONFIG_SOC_SERIES_R7FA6M4AF=y + +# +# Onboard Peripheral Drivers +# + +# +# On-chip Peripheral Drivers +# +CONFIG_BSP_USING_GPIO=y +# CONFIG_BSP_USING_ONCHIP_FLASH is not set +# CONFIG_BSP_USING_WDT is not set +CONFIG_BSP_USING_UART=y +CONFIG_BSP_USING_UART6=y +# CONFIG_BSP_UART6_RX_USING_DMA is not set +# CONFIG_BSP_UART6_TX_USING_DMA is not set +CONFIG_BSP_UART6_RX_BUFSIZE=256 +CONFIG_BSP_UART6_TX_BUFSIZE=0 +# CONFIG_BSP_USING_UART7 is not set +# CONFIG_BSP_USING_I2C is not set +# CONFIG_BSP_USING_ONCHIP_RTC is not set +# CONFIG_BSP_USING_SPI is not set +# CONFIG_BSP_USING_ADC is not set +# CONFIG_BSP_USING_DAC is not set +# CONFIG_BSP_USING_PWM is not set +# CONFIG_BSP_USING_CAN is not set + +# +# Board extended module Drivers +# +# CONFIG_BSP_USING_RW007 is not set +CONFIG_SOC_FAMILY_RENESAS=y diff --git a/bsp/renesas/ra6m4-iot/.gitignore b/bsp/renesas/ra6m4-iot/.gitignore new file mode 100644 index 0000000000..9ac428c1b3 --- /dev/null +++ b/bsp/renesas/ra6m4-iot/.gitignore @@ -0,0 +1,5 @@ +/RTE +/Listings +/Objects +ra_cfg.txt + diff --git a/bsp/renesas/ra6m4-iot/.ignore_format.yml b/bsp/renesas/ra6m4-iot/.ignore_format.yml new file mode 100644 index 0000000000..7880684094 --- /dev/null +++ b/bsp/renesas/ra6m4-iot/.ignore_format.yml @@ -0,0 +1,8 @@ +# files format check exclude path, please follow the instructions below to modify; +# If you need to exclude an entire folder, add the folder path in dir_path; +# If you need to exclude a file, add the path to the file in file_path. + +dir_path: +- ra +- ra_gen +- ra_cfg diff --git a/bsp/renesas/ra6m4-iot/.settings/standalone.prefs b/bsp/renesas/ra6m4-iot/.settings/standalone.prefs new file mode 100644 index 0000000000..2026a090fa --- /dev/null +++ b/bsp/renesas/ra6m4-iot/.settings/standalone.prefs @@ -0,0 +1,19 @@ +#Fri Jan 07 11:55:32 CST 2022 +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.content/com.renesas.cdt.ddsc.content.defaultlinkerscript=script/fsp.scat +com.renesas.cdt.ddsc.packs.componentfiles/RECH\#\#BSP\#\#Board\#\#RA6M4_IoT\#\#\#\#3.5.0/all=3595564841,ra/board/ra6m4_iot/board_keys.c|1504341481,ra/board/ra6m4_iot/SEGGER_RTT_Conf.h|310556077,ra/board/ra6m4_iot/board_init.c|1596843605,ra/board/ra6m4_iot/board_keys.h|431480014,ra/board/ra6m4_iot/board_leds.h|443795680,ra/board/ra6m4_iot/board_leds.c|736642717,ra/board/ra6m4_iot/SEGGER_RTT.h|2021830415,ra/board/ra6m4_iot/board_ethernet_phy.h|311023834,ra/board/ra6m4_iot/board.h|2513852369,ra/board/ra6m4_iot/board_init.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#Common\#\#all\#\#fsp_common\#\#\#\#3.5.0/all=1904866635,ra/fsp/src/bsp/mcu/all/bsp_clocks.h|470601830,ra/fsp/src/bsp/mcu/all/bsp_clocks.c|1728953905,ra/fsp/inc/fsp_features.h|3255765648,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c|1499520276,ra/fsp/src/bsp/mcu/all/bsp_group_irq.c|546480625,ra/fsp/inc/fsp_common_api.h|400573940,ra/fsp/src/bsp/mcu/all/bsp_register_protection.h|4222527282,ra/fsp/src/bsp/mcu/all/bsp_module_stop.h|1939984091,ra/fsp/inc/api/r_ioport_api.h|3492513568,ra/fsp/src/bsp/mcu/all/bsp_register_protection.c|4051445857,ra/fsp/src/bsp/mcu/all/bsp_common.h|1630997354,ra/fsp/src/bsp/mcu/all/bsp_irq.c|3297195641,ra/fsp/inc/fsp_version.h|2977689308,ra/fsp/src/bsp/mcu/all/bsp_mcu_api.h|568600546,ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c|2920829723,ra/fsp/src/bsp/mcu/all/bsp_guard.c|3998046333,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/base_addresses.h|3549961311,ra/fsp/src/bsp/mcu/all/bsp_tfu.h|1353647784,ra/fsp/src/bsp/mcu/all/bsp_delay.c|1615019982,ra/fsp/src/bsp/mcu/all/bsp_sbrk.c|2386285210,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/renesas.h|1552630912,ra/fsp/src/bsp/mcu/all/bsp_guard.h|3983299396,ra/fsp/src/bsp/mcu/all/bsp_delay.h|2906400,ra/fsp/src/bsp/mcu/all/bsp_common.c|731782070,ra/fsp/src/bsp/mcu/all/bsp_irq.h|2425160085,ra/fsp/inc/api/bsp_api.h|3606266210,ra/fsp/src/bsp/mcu/all/bsp_rom_registers.c|2308894280,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h|3753300083,ra/fsp/src/bsp/mcu/all/bsp_arm_exceptions.h|2208590403,ra/fsp/inc/instances/r_ioport.h|2847966430,ra/fsp/src/bsp/mcu/all/bsp_security.c|3984836408,ra/fsp/src/bsp/mcu/all/bsp_group_irq.h|521902797,ra/fsp/src/bsp/mcu/all/bsp_security.h|1236602439,ra/fsp/src/bsp/mcu/all/bsp_io.c|1992062042,ra/fsp/src/bsp/mcu/all/bsp_compiler_support.h|460577388,ra/fsp/src/bsp/mcu/all/bsp_io.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#\#\#3.5.0/all=2308894280,ra/fsp/src/bsp/cmsis/Device/RENESAS/Include/system.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.settingseditor/com.renesas.cdt.ddsc.settingseditor.active_page=PinConfiguration +com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#CoreM\#\#\#\#5.8.0+renesas.0.fsp.3.5.0/all=1372010515,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm23.h|2327633156,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc000.h|2701379970,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h|1494441116,ra/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h|302860276,ra/arm/CMSIS_5/CMSIS/Core/Include/cachel1_armv7.h|4290386133,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0plus.h|2635219934,ra/arm/CMSIS_5/CMSIS/Core/Include/tz_context.h|965562395,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h|364344841,ra/arm/CMSIS_5/CMSIS/Core/Include/core_sc300.h|3007265674,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mbl.h|1044777225,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armcc.h|1564341101,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm7.h|3358993753,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h|2718020009,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h|1168186370,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm55.h|304461792,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm3.h|1745843273,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm0.h|2851112248,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm1.h|3898569239,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang.h|3127123217,ra/arm/CMSIS_5/CMSIS/Core/Include/core_cm35p.h|3163610011,ra/arm/CMSIS_5/CMSIS/Core/Include/pmu_armv8.h|3911746910,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_armclang_ltm.h|1577199483,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_iccarm.h|1017116116,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h|1441545198,ra/arm/CMSIS_5/LICENSE.txt|3552689244,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv81mml.h|2333906976,ra/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h|2381390623,ra/arm/CMSIS_5/CMSIS/Core/Include/core_armv8mml.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#device\#\#R7FA6M4AF3CFP\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#fsp\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#BSP\#\#ra6m4\#\#fsp\#\#\#\#3.5.0/all=1009023542,ra/fsp/src/bsp/mcu/ra6m4/bsp_elc.h|3301568719,ra/fsp/src/bsp/mcu/ra6m4/bsp_feature.h|2347061782,ra/fsp/src/bsp/mcu/ra6m4/bsp_mcu_info.h +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#3.5.0/all=2208590403,ra/fsp/inc/instances/r_ioport.h|1939984091,ra/fsp/inc/api/r_ioport_api.h|3254285722,ra/fsp/src/r_ioport/r_ioport.c +com.renesas.cdt.ddsc.threads.configurator/collapse/module.driver.uart_on_sci_uart.2044193823=false +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_sci_uart\#\#\#\#3.5.0/all=3094200246,ra/fsp/src/r_sci_uart/r_sci_uart.c|1889256766,ra/fsp/inc/instances/r_sci_uart.h|3916852077,ra/fsp/inc/api/r_uart_api.h|1610456547,ra/fsp/inc/api/r_transfer_api.h +com.renesas.cdt.ddsc.packs.componentfiles/Arm\#\#CMSIS\#\#CMSIS5\#\#CoreM\#\#\#\#5.8.0+renesas.0.fsp.3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/Renesas\#\#HAL\ Drivers\#\#all\#\#r_ioport\#\#\#\#3.5.0/libraries= +com.renesas.cdt.ddsc.packs.componentfiles/RECH\#\#BSP\#\#Board\#\#RA6M4_IoT\#\#\#\#3.5.0/libraries= diff --git a/bsp/renesas/ra6m4-iot/Kconfig b/bsp/renesas/ra6m4-iot/Kconfig new file mode 100644 index 0000000000..891a58dc12 --- /dev/null +++ b/bsp/renesas/ra6m4-iot/Kconfig @@ -0,0 +1,38 @@ +mainmenu "RT-Thread Configuration" + +config BSP_DIR + string + option env="BSP_ROOT" + default "." + +config RTT_DIR + string + option env="RTT_ROOT" + default "../.." + +# you can change the RTT_ROOT default "../.." to your rtthread_root, +# example : default "F:/git_repositories/rt-thread" + +config PKGS_DIR + string + option env="PKGS_ROOT" + default "packages" + +config ENV_DIR + string + option env="ENV_ROOT" + default "/" + +source "$RTT_DIR/Kconfig" +source "$PKGS_DIR/Kconfig" +source "$BSP_DIR/drivers/Kconfig" + +config SOC_FAMILY_RENESAS + bool + default y + +config SOC_SERIES_R7FA6M4AF + bool + select ARCH_ARM_CORTEX_M4 + select SOC_FAMILY_RENESAS + default y \ No newline at end of file diff --git a/bsp/renesas/ra6m4-iot/R7FA6M4AF3CFP.pincfg b/bsp/renesas/ra6m4-iot/R7FA6M4AF3CFP.pincfg new file mode 100644 index 0000000000..08a81e406e --- /dev/null +++ b/bsp/renesas/ra6m4-iot/R7FA6M4AF3CFP.pincfg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bsp/renesas/ra6m4-iot/README.md b/bsp/renesas/ra6m4-iot/README.md new file mode 100644 index 0000000000..25c5ae7ff4 --- /dev/null +++ b/bsp/renesas/ra6m4-iot/README.md @@ -0,0 +1,183 @@ +# 瑞萨 IOT-RA6M4 开发板 BSP 说明 + +## 简介 + +本文档为瑞萨 IOT-RA6M4 开发板提供的 BSP (板级支持包) 说明。通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。 + +主要内容如下: + +- 开发板介绍 +- BSP 快速上手指南 + +## 开发板介绍 + +基于瑞萨 RA6M4 MCU 开发的 IOT-RA6M4 MCU 评估板,通过灵活配置软件包和 IDE,可帮助用户对 RA6M4 MCU 群组的特性轻松进行评估,并对嵌入系统应用程序进行开发。 + +该开发板常用 **板载资源** 如下: + +- MCU:R7FA6M4AF3CFP,200MHz,Arm Cortex®-M33 内核,1MB 代码闪存, 256kB SRAM +- 调试接口:板载 J-Link 接口 +- 扩展接口:两个 PMOD 连接器 + +## 外设支持 + +本 BSP 目前对外设的支持情况如下: + +| **片上外设** | **支持情况** | **备注** | +| :----------------: | :----------------: | :------------- | +| UART | 支持 | UART6 为默认日志输出端口 | +| GPIO | 支持 | | +| IIC | 支持 | 软件 | +| WDT | 支持 | | +| RTC | 支持 | | +| ADC | 支持 | | +| DAC | 支持 | | +| SPI | 支持 | | +| FLASH | 支持 | | +| PWM | 支持 | | +| CAN | 支持 | | +| 持续更新中... | | | +| **外接外设** | **支持情况** | **备注** | +| WiFi 模块 | 支持 | [RW007 WiFi 网络模块](https://github.com/RT-Thread-packages/rw007) | +| 温湿度传感器 | 支持 | [HS300x 温湿度模块](https://github.com/Guozhanxin/hs300x) | +| 室内空气质量传感器 | 支持 | [zmod4410 室内空气质量模块](https://github.com/ShermanShao/zmod4410) | + + +## 使用说明 + +使用说明分为如下两个章节: + +- 快速上手 + + 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。 +- 进阶使用 + + 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。 + +### 快速上手 + +本 BSP 目前仅提供 MDK5 工程。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。 + +**硬件连接** + +使用 USB 数据线连接开发板到 PC,使用 J-link 接口下载和 DEBUG 程序。使用 USB 转串口工具连接 UART6:P305(TXD)、P304(RXD)。 + +**编译下载** + +- 编译:双击 project.uvprojx 文件,打开 MDK5 工程,编译程序。 + +> 注意:此工程需要使用 J-Flash Lite 工具烧录程序。建议使用 V7.50 及以上版本烧录工程。[J-Link 下载链接](https://www.segger.com/downloads/jlink/) + +- 下载:打开 J-Flash lite 工具,选择芯片型号 R7FA6M4AF,点击 OK 进入工具。选择 BSP 目录下 MDK 编译出的 /object/ra6m4.hex 文件,点击 Program Device 按钮开始烧录。具体操作过程可参考下图步骤: + +![image-20211011181555421](docs/picture/jflash1.png) + +![image-20211011182047981](docs/picture/jflash2.png) + +![image-20211011182434519](docs/picture/jflash.png) + +![image-20211011182949604](docs/picture/jflash3.png) + +**查看运行结果** + +下载程序成功之后,系统会自动运行并打印系统信息。 + +连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息。输入 help 命令可查看系统中支持的命令。 + +```bash + \ | / +- RT - Thread Operating System + / | \ 4.0.4 build Oct 11 2021 + 2006 - 2021 Copyright by rt-thread team + +Hello RT-Thread! +msh > +msh >help +RT-Thread shell commands: +reboot - Reboot System +help - RT - Thread shell help. +ps - List threads in the system. +free - Show the memory usage in the system. +hello - say hello world +clear - clear the terminal screen +version - show RT - Thread version information +list_thread - list thread +list_sem - list semaphore in system +list_event - list event in system +list_mutex - list mutex in system +list_mailbox - list mail box in system +list_msgqueue - list message queue in system +list_timer - list timer in system +list_device - list device in system +list - list all commands in system + +msh > +``` + +**应用入口函数** + +应用层的入口函数在 **bsp\renesas\ra6m4-iot\src\hal_emtry.c** 中 的 `void hal_entry(void)` 。用户编写的源文件可直接放在 src 目录下。 + +```c +void hal_entry(void) +{ + rt_kprintf("\nHello RT-Thread!\n"); + + while (1) + { + rt_pin_write(LED3_PIN, PIN_HIGH); + rt_thread_mdelay(500); + rt_pin_write(LED3_PIN, PIN_LOW); + rt_thread_mdelay(500); + } +} +``` + +### 进阶使用 + +**资料及文档** + +- 开发板用户手册: \docs\开发板手册.docx +- [瑞萨RA MCU 基础知识](https://www2.renesas.cn/cn/zh/document/gde/1520091) +- [RA6 MCU 快速设计指南](https://www2.renesas.cn/cn/zh/document/apn/ra6-quick-design-guide) +- [RA6M4_datasheet](https://www2.renesas.cn/cn/zh/document/dst/ra6m4-group-datasheet) +- [RA6M4 Group User’s Manual: Hardware](https://www2.renesas.cn/cn/zh/document/man/ra6m4-group-user-s-manual-hardware) + +**FSP 配置** + +需要修改瑞萨的 BSP 外设配置或添加新的外设端口,需要用到瑞萨的 [FSP](https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp#document) 配置工具。请务必按照如下步骤完成配置。配置中有任何问题可到[RT-Thread 社区论坛](https://club.rt-thread.org/)中提问。 + +1. [下载灵活配置软件包 (FSP) | Renesas](https://www.renesas.com/cn/zh/software-tool/flexible-software-package-fsp),请使用 FSP 3.5.0 版本 +2. 下载安装完成后,需要添加 IOT-RA6M4 开发板的官方板级支持包 +> 在 docs 目录下找到 **IOT-RA6M4 板级支持包:** Xiaoxiongpai_BSP_FSP3.5.0.rar +3. 如何将 **”IOT-RA6M4 板级支持包“**添加到 FSP 中,请参考文档[如何导入板级支持包](https://www2.renesas.cn/document/ppt/1527171?language=zh&r=1527191) +4. 请查看文档:[使用瑞萨 FSP 配置工具](./docs/使用瑞萨FSP配置工具.md)。在 MDK 中通过添加自定义命名来打开当前工程的 FSP 配置。 + +**ENV 配置** + +- 如何使用 ENV 工具:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/#/development-tools/env/env) + +此 BSP 默认只开启了 UART6 的功能,如果需使用更多高级功能例如组件、软件包等,需要利用 ENV 工具进行配置。 + +步骤如下: +1. 在 bsp 下打开 env 工具。 +2. 输入`menuconfig`命令配置工程,配置好之后保存退出。 +3. 输入`pkgs --update`命令更新软件包。 +4. 输入`scons --target=mdk5` 命令重新生成工程。 + + +## FAQ + +### 使用 MDK 的 DEBUG 时如果遇到提示 “Error: Flash Download failed Cortex-M33” 怎么办? + +可按照下图操作,修改 Utilities 中的选项: + +![image-20211214102231248](docs/picture/readme_faq1.png) + +## 联系人信息 + +在使用过程中若您有任何的想法和建议,建议您通过以下方式来联系到我们 [RT-Thread 社区论坛](https://club.rt-thread.org/) + +## 贡献代码 + +如果您对 IOT-RA6M4 感兴趣,并且有一些好玩的项目愿意与大家分享的话欢迎给我们贡献代码,您可以参考 [如何向 RT-Thread 代码贡献](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/development-guide/github/github)。 diff --git a/bsp/renesas/ra6m4-iot/RTE/_Target_1/RTE_Components.h b/bsp/renesas/ra6m4-iot/RTE/_Target_1/RTE_Components.h new file mode 100644 index 0000000000..d5d79fdd80 --- /dev/null +++ b/bsp/renesas/ra6m4-iot/RTE/_Target_1/RTE_Components.h @@ -0,0 +1,15 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'project' + * Target: 'Target 1' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/bsp/renesas/ra6m4-iot/SConscript b/bsp/renesas/ra6m4-iot/SConscript new file mode 100644 index 0000000000..6c129cbc40 --- /dev/null +++ b/bsp/renesas/ra6m4-iot/SConscript @@ -0,0 +1,26 @@ +# for module compiling +import os +Import('RTT_ROOT') +Import('rtconfig') +from building import * + +cwd = GetCurrentDir() +src = [] +CPPPATH = [] +list = os.listdir(cwd) + +if rtconfig.CROSS_TOOL == 'iar': + print("\nThe current project does not support iar build\n") + Return('group') +elif rtconfig.CROSS_TOOL == 'gcc': + CPPPATH = [cwd] + src = Glob('./src/*.c') + +group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + group = group + SConscript(os.path.join(d, 'SConscript')) + +Return('group') diff --git a/bsp/renesas/ra6m4-iot/SConstruct b/bsp/renesas/ra6m4-iot/SConstruct new file mode 100644 index 0000000000..e75d75371b --- /dev/null +++ b/bsp/renesas/ra6m4-iot/SConstruct @@ -0,0 +1,40 @@ +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) + +TARGET = 'rtthread.' + rtconfig.TARGET_EXT + +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS, + AR = rtconfig.AR, ARFLAGS = '-rc', + LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) +env.PrependENVPath('PATH', rtconfig.EXEC_PATH) + +if rtconfig.PLATFORM == 'iar': + env.Replace(CCCOM = ['$CC $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) + env.Replace(ARFLAGS = ['']) + env.Replace(LINKCOM = env["LINKCOM"] + ' --map project.map') + +Export('RTT_ROOT') +Export('rtconfig') + +# prepare building environment +objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) + +# make a building +DoBuilding(TARGET, objs) diff --git a/bsp/renesas/ra6m4-iot/buildinfo.gpdsc b/bsp/renesas/ra6m4-iot/buildinfo.gpdsc new file mode 100644 index 0000000000..c8a8b70322 --- /dev/null +++ b/bsp/renesas/ra6m4-iot/buildinfo.gpdsc @@ -0,0 +1,144 @@ + + + Renesas + Project Content + Project content managed by the Renesas Smart Configurator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/renesas/ra6m4-iot/configuration.xml b/bsp/renesas/ra6m4-iot/configuration.xml new file mode 100644 index 0000000000..057f1faac4 --- /dev/null +++ b/bsp/renesas/ra6m4-iot/configuration.xml @@ -0,0 +1,387 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Board Support Package Common Files + Renesas.RA.3.5.0.pack + + + I/O Port + Renesas.RA.3.5.0.pack + + + Arm CMSIS Version 5 - Core (M) + Arm.CMSIS5.5.8.0+renesas.0.fsp.3.5.0.pack + + + + RECH.RA6M4_IOT.3.5.0.pack + + + Board support package for R7FA6M4AF3CFP + Renesas.RA_mcu_ra6m4.3.5.0.pack + + + Board support package for RA6M4 + Renesas.RA_mcu_ra6m4.3.5.0.pack + + + Board support package for RA6M4 - FSP Data + Renesas.RA_mcu_ra6m4.3.5.0.pack + + + SCI UART + Renesas.RA.3.5.0.pack + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/renesas/ra6m4-iot/docs/Xiaoxiongpai_BSP_FSP3.5.0.rar b/bsp/renesas/ra6m4-iot/docs/Xiaoxiongpai_BSP_FSP3.5.0.rar new file mode 100644 index 0000000000000000000000000000000000000000..6c0949aed2aecb22c0cc8a3fcf985d07a194435e GIT binary patch literal 27352 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/1635909864954.png b/bsp/renesas/ra6m4-iot/docs/picture/1635909864954.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a1333083e0c538e87eb372d0413fb04875f4c8 GIT binary patch literal 34028 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½w8-pf;RTdT5xnhTIx$)b%bQYwjdCA+R!Q~dX4Itbd1$I5W8uH zpDp&McCkSU?EJNB>A22np!E{(8ecHpR?C;+OVk=(Xi;5y9a>2?GapeEL+TA(oWZKqWh5j$FUC_&&{bI*O;!{H2CMu@63o=+}PD z#8d3ispCg*kGO}yCHJ-_Mm8{3@$67VXD$*+_H9htEhI;N0mCR`o;1OP*t0HpP_W`h z&LwjY&859L*OzEDeq?2UHZ+IpmNzd25ooKQcInOhRBe#r^eY}NA4mxEO^B_<7v0v* zxe5E+?g>vSGPJ+-O#k!rk#wKet*6D=kKfpXTs~n;78APBY>!uMY+y+SBjHl~6km=2B)FvzEVEgrCuqc}8k~U^pZTO*%W6L~o(u|`bi3%R3T=jS?+UE1b@V;*$}N$`nO@gq-ypTzbxE{W z6FN8p(^%{7Oc~gsc1z>IyhiQ@GYht5LPrrVbKN(A5d7HWVv#G*8^d^lQFVkjlt3I& z9wbMUTEi_)59D&(<+vUIy>=o+YU|x9&VqV}*p#J=6aYtQtkkdMEGls_11=j1JAQh3 zKik9;XZS<#(in;awQt_IH=f4x8IxFx)29L6R{>+c|7jut)an1bn(n_^E=u}$f!b;l zzQ2tg9#LzDYIx;OP?2EAa=2ZG`N5g~6DW*cKcFRl76h0h0nS7b1UFu?-svjMnpz~$ z&2o`i$qq~o&?h8+ZGQu&fC6aCxRTK1?F=%oClJN-YE4=dVCjoA;GL`qrA|wYG6kQp{xNjL%ZCyKN+5@akfHM8_;j3ATop_)2E6yKxae>yXRbkOof~7cc}skC zlTMT)!;^`7oiC0BfF^C&%iI?&=m_pqkrN2$s}mpDu*E~JZOeg<-B95gpfX0pH$?2h z3yGfIf#SqoClyy##odJ}zn^s*;}nuiy&Hy^+q%^^0pw><8EKmEg!EAZC`c1X){~YO z`Xyj+nOnyLJTAyF71w4c9NoMtbjW=TNFYi0vUWx&C0}(Ty}g6I<`t@M(ip?Z0xJ!^ zI5)EESQ4x%K&A?ixzDUGQ@mqY0M|*tC}hDpvc1LI({mnf9;Fqx!=znBbE~%A)>X)? zz27(hwtb6odviivLMJ`814WPR6;die#8Af+)g64r5%_PDMS8sMYw z0rehE0AH#kNB;HX?>^_xm|i_GG+>T=HONY0UnQ7~at0c|MsN?9Ilg1iZVT>fNpZWe zLtbK~b>Om4wNn0SsH)9l>LdMNASbM9zF_mI`w z!Di30FZ2RU+lH^~ro2Fa?e&5AS4e4`_4S&G!8`ttPW|^wyS01YG}pP0%VFVG(rS)8 z>0@qwr1s(GhlA_XwL0eAW(&9_^$KXsb9keK*}O8e#wfGYSzhcjSjO+U4~NfP)EG^G z{UXbrYLT0%yw|||@I5{>Y>QXHk2yJ%Fl{-*#XDkK!^4(~+0{4I$ys^m5q17?l|B{M z_pYL{#wB=+iv;Np?x8)+vekTQmMr`%I{sXBp)bYKKM^u+UC#a3Zxj?3H=aKn*2!

Rzm;DF|(w58>z{cqinja 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

=Vu|^W$m)IkJ!O8r&56lS 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/1635929089445.png b/bsp/renesas/ra6m4-iot/docs/picture/1635929089445.png new file mode 100644 index 0000000000000000000000000000000000000000..3574c5c491e359210e68df5a526b0ac52d8eafe1 GIT binary patch literal 20086 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 AlK=n! literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/adc_config.png b/bsp/renesas/ra6m4-iot/docs/picture/adc_config.png new file mode 100644 index 0000000000000000000000000000000000000000..087f48e9ee4462a3b31cd1914d702180a1b4738e GIT binary patch literal 23810 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 G!2bg}Ub9jF literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/adc_dac.png b/bsp/renesas/ra6m4-iot/docs/picture/adc_dac.png new file mode 100644 index 0000000000000000000000000000000000000000..a2aa56169a56ac2f7bb2746dbeb647fbd02cb751 GIT binary patch literal 15738 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 BHQfLJ literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/add_flash.png b/bsp/renesas/ra6m4-iot/docs/picture/add_flash.png new file mode 100644 index 0000000000000000000000000000000000000000..71be7e2a25706db5d6b2c69b480696b7d1026e99 GIT binary patch literal 23258 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/add_gpt2.png b/bsp/renesas/ra6m4-iot/docs/picture/add_gpt2.png new file mode 100644 index 0000000000000000000000000000000000000000..3194c3fa3e269557386fa91e86dc2a196ad47a88 GIT binary patch literal 80595 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%0Ac-ueZ4@T1VTgfR>?pd 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/add_gpt3.png b/bsp/renesas/ra6m4-iot/docs/picture/add_gpt3.png new file mode 100644 index 0000000000000000000000000000000000000000..674e9717066c2a5ac245daf4762c8a570b90c27f GIT binary patch literal 36542 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/can_callback.png b/bsp/renesas/ra6m4-iot/docs/picture/can_callback.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a2467b2d120e72d2097431404591d59bfa8045 GIT binary patch literal 21634 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 Jwcn6``Ufo+A$9-& literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/can_menuconfig.png b/bsp/renesas/ra6m4-iot/docs/picture/can_menuconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..ace59e0b1ab90d6494cf94f15e76cfcda49c0ee6 GIT binary patch literal 22685 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 UnR`D41k^!_FVrBFGA1Ga2iH86d;kCd literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/config_irq4.png b/bsp/renesas/ra6m4-iot/docs/picture/config_irq4.png new file mode 100644 index 0000000000000000000000000000000000000000..1895217a27b7c1dfcfe3d34117c0cfce1b455b0c GIT binary patch literal 16147 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

TRf4}6k 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/dmac_config.png b/bsp/renesas/ra6m4-iot/docs/picture/dmac_config.png new file mode 100644 index 0000000000000000000000000000000000000000..d9469316dd6757d053ad20d6d4b762119bc4b648 GIT binary patch literal 17767 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/dmac_int.png b/bsp/renesas/ra6m4-iot/docs/picture/dmac_int.png new file mode 100644 index 0000000000000000000000000000000000000000..90e485230b2b301696fd09487eb2910d3aa36bce GIT binary patch literal 32127 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 BBJ%(M literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/drv_rw007.png b/bsp/renesas/ra6m4-iot/docs/picture/drv_rw007.png new file mode 100644 index 0000000000000000000000000000000000000000..3837c1652fb61dc5a8f2b9cc7c460a54d2afc903 GIT binary patch literal 25804 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 z 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

Un z;-{OwF0b;<#4-)evFZKnkNtWzsx)>_8%A6NU zG`rniJtxwL*$V}O!Q4xYo2UCX#oX6p9?*#N5qqrgoS&0s#PMB^Qn;p&NMGZf2V&!} zqqZ`M_Vm=Oq*tTzp76DRkC9u=o3HB^g@vwP2w9%ndse44dpApZe*xnX@lRiot%UCK zUX>s0`0b|hFUG@cURGqw^`Wj$dKJZIagh#iX*J{+jg7d8MHh3Xr?wD?(<~d*bfjK6Pn#FyPZp zH;`k&G$NNO6A#c$g3}fMU*#%KkNTYp#)s?D^qq?_wpt7UOG+R5nN>vC8o;F zV*wp4*9TlfW?qQm#IfPrIauF@xd&B=Ub&|^0X;Ff-^o^}gU~j+DFAP#$>&hqL(H*H zxZc0G`$UmGRuSujdCi$5uG(4mzQOU2ye4Fv(CHU{TVlKk3uSyF=%c$JdzubC=B!lg z^}ut43NQ5v!BYCi1ei&}yg1t%4&-fO78G_>bR|M)AVy0~Og=0u%;I!s&dF{yf%`p^ zY{&x_S-fbc^6Pz>tFPE4nXBA6<7rz&6sQ(|4auGfTU`8rsg>a9$Gez!4!{`rZ2z2C zPWPIRRhK?*kL=fBN8Vv&QjKon*liRT$2fP74pxJZ)%0CtT|~DMBPo6A%?fD+%tO-N z@+KNtb;_$<(Cu;Oa2_4H9*=jcRD2bs4dtnyxXL{}?PVkK%EZ zC2BCzU;GlI)uizj67oRcZC?Gp&lI|VVQPvoTIwXJsReU_Oo-`OiS4%iE3U;!J71A)Nht*Sv0!XJ`LyTW&HG^*ZP zQr@yz@GZ@A+O|e21Tz2Zz&Dr>kIiLL!wjStq7+L=VEjrzA!YC5l;sE4aK$z`l?{bT zDAcr$KYImbSpEXYD@ZhZ?P{1c6k|5N0^6rd7V|avEfmHejm7iBer%`)=H}%5elmD{ zdVPgr)@${BGt9M3NY2Jmx}$VbhpUbo0aZGqq^ZPQEo#-$dQ9$KQ?gq3r~KpntJMlK zAq_?WmoXdF=Z9-Eq!}#=`T6%v&U^H>%#U4s$@1AuNUrQh<5tk+2&Xl4m~=r) zi}BTp$yEn0sL|9$#hPZb;cSfK#%Obsa7%LxTaMXEFsby9nLmjG=%IyU^u&xEU%Gn9 z@PIg)8*@SCSU6Q>-Ft`9kkQf6(KGpi9_^Q4mx=Eh521Iz9w(bK;I80T_pX|(W(a{Z~g6M>8Vx)98*F>zF0yJ2ht67{z#SKG%jY(paav-3JhRc{} z<*tuG*drcJ0XI3Iyzvt^TUI_rpg48@@Ui_ysPpb2oB!5}z}y9o3Mz{~lq)di{>o9l zD8gyX-KzFy2VMeWFDrBuVt<&I1O(k;^K6;)%o8SY2G z_q!=WbU(7QpSd280CBdqt@w*0EDlT)NheUeVKH8S9bNbZIplE%B%Re^x)N_?h+i$n!}bEAAb|p$;xB*CZFw@3QB|m&NOf-62pO57bU(|BQ-kW1=uSE2>6qx>&lxi{ za%4Br!?47Z=UbF2T(q*CHT62v^?Ap3nfBfCUq#XkK99>JZQO9&3!5>_99J|?CM;8SE8 zdmUMM4b!AFb)WX8BK!Wqj-PTR{f%-ZKUvfLT}~k9k}GD{ma52b8xTAASq|>kFvHKY|v>fI0O~t`8_>X(^WFAOmqYKdMCXQ%vw9Zf8 zlPPOQ1iWx$Ld5P5hk<1boY{(f^f`{WAA2D%>DY@2M9mWUi>yeQdVAZj8s>eEpTq$t zRhd&0aY#D87M!`H&h2%2jwehQ+(srKbd=mwZ#TAx_GjMM>LfYE!E55mOTc8^miw)F z<#?eZnje~DhEJIH-P6=?f#!5JDMl#JV*1Z*Tc1^1pZ$))l~~1$gzcHyR5gs>6D1g` zpnYklB{c019{aiJ$lh)WCy$^2qlV^Un3kGAE6Yl{u)e%dp3;EQV`GJMvy9VkSOYKW z@|3>|dJO0337af&)dHUg9?3*}KU;9OF;{KgoKPzvIx;P1r)?fV;9MWG{PtH;hA3Ob z*e#b0J3G6|NXDv1N-&cbONk$BLPJc%bJ#1K!Ds_dDUTH0XOd@sgWq%ZE6LY>t;rrD zua_#)>G{}HQ&`T=&uc8?B(^7R79wHuD@GsYhtk6C z$=80ZX5^aHpXEU8Sn|di8ZoB+RszNoc;YXliERH>Vs2Xv$V0Esc*-_o8Mg1zD&H36 z2%zDh5>O+29G>=Z{0>|7R-#P19x>}Z@!Y;IHFR6Tj<7V#4DX?DkC=1HA_b2y=25i) zgV<$ROl{#2$vr7s>_H-8`SXyfVz0;_Xk@_ET0jDBmzL*!PB70*CSI24d8CmanbOgR zg-P>h57~`TPvhw%Lz*VLRN;J97XA1p#~BfyrO3~slWh5{NZ+@yp*xanOv;QK6c;PD z0kuK}+Gc;`ArfR|8KK04z!@0q3Eh6d2A!A*HdwOea5v8oq%NG5H<~3U`;EtO-`3+T zf1eFfwdjFZB`RUl?>5?;K}PQCh1JUjNn+jDv2V$%Ji!`*zi4@8G(g+c`7H@)EXDJi zAe_MNh!dP)x^x@qFCn?QWtGEFJ)UNyHYx-fw;a^lg>03+$6{Rf^ur7ci;fww3D%|L z&RJ-GIl|qq7?#)l0FCAAxpPwSoDE>3G<-LoMy-KM8fNhgcdG|Sj^D?4rfntCR7#G0 zaniD4YQ|@%!{#BB%pFNktaSp)4JdI5c|!sGWZ1q2P^5W7D83K+0M+Kn=aNAA-ocf3 z8~Zi$x%-vg4V3#o;T{hzRz(q0+q<0gyS0d_fO5=;*a_c9;YByVQRa@nI^pkdK6O0b zZ-ci07I(*P$^rgIrB$US81EAfqpx!U|6w>s-}7)apo|6_oH$CI&CkKd7Y)UgpbqW+ z+ws3E82iuuU#B-@!q}yY&a1BFdp;wx(j?T*Df!Q+Oj6zbu^?>xD{0 zLDW^ad%c^O^Ql4~V%ub}vMOsd{!@6V`4=jpxWU9&p3Zrv;(l7BM10%u56-Z~ZP)tX z8i_Rq0Slyf&L^Z-*{H;K;G9m3KUF~otY;bkz(@DqYE@(wN!xLkP4lk3VEyVTlXV8C z_0`qshYRkqmiI@i%Qk?}R2(7C5{BW=KuZm3c|Bw&Ff9pu=jR0mmCE4~O_0&4S0BKt zJ5G-As=j7mmdC zE(i9H%28(~*xTET-3I`my>+Ugs1TMGRpqr!YDZbu=B@e#{rZ!BTU&4;PPF_5cN_Es zXXH5oXHl?f>cXEMDU#_j?;U7hUGR8pp(?+v<4X7+oTLftC~sN4kVHz*an<5|oRQx$-{WYa`A7@ncB!R)goPOBZgV z;>nBiD6C$}@1#zeQAn#mCH5vs_U!YmG0|>LY9)B% zj<}fjUY53w&XgJ8*RNL`uLt(t#K}1w|`9fZ*X9Lf1F^F%GDfxhOx( zb}bq)eAID!ehfvjL5LlKsR5uG1>@msgmTD-6P%-je=2 z9kU`ajb{pY%6vEukM}X3&3X&zvZ~LWCCx|saX1^h zlF&=%65VTaIpo*pSMB5Ge$9zsuH)OlJb7Ak*x3?YV<4g4xh{+;*t~k$sLrUX`$n1n zljMFoIlLSZ6iNWKUp71s@;|mBrm2|Q<}FGSIrMa%?Pt!rnn5Mt2qybM4j~7{TFY|@ z@$QlW571h24P-!e!!Bl#i-+by-D$me~?j8C1=gH@Eb;_<*JeI|hJB8#Ho zaXd~D0}?(5(R~sd^B^#@2kN^%59bMeJJRkrl0gX<8qkJG6-s@l2> zkP1x7_SnfY!;M@cNhsDUk0X(gGJ~y3_s(x1;}46)$T1y}k4<~br?ggo%M{l@V|GRo zpW|Dc(}U%MxnJy>jcpS61h>cPyeDGaf1OtzjI(Cypr5>x&@GFu$-3fHq88>;6LwdW zDta!k6F+9=#m8B0lgl86H`UiVan>K&`hv^DXeSx!W^WCZv|L~A_Ts|lY>f46or|Ey zrnV>y?pjp&ti8&)Ossx#s6v%(@}q#kNq;6ch-UTyVMMa%j3M!0^yhe`?@Gs6y!aqs z4liuC{uj9r^`%0|^oOADU}rLX?a{JyJ>J7{yX(_`%vt`fPYq!nWWdn?i`Rg1e>$?{ zuV7{1b#FS0^QCgBnh=qj`8F%#sc4b1#`8WPE+p#iiq2ssr5ru1FvC}~dQ|~0iid7^ zGmTG@Rb4Y3?y5s9`UderkRo@_%9># z!qwtNc~h3dcDj`2i=2@yx)Kjp)Fjgzb;!Eq9<@TDxa`pH0<$8&OvBKW1Uvcp)Vk*q zJOb~HEH8e3-Y!$LY>7H0D@|{4PxYg1fQ@aY?s>n>@ZbED=GT8I==qh9Rz?~6ocAf$ z+Vmzh&wHP@&8^IYJrUq5F+<_eB*gH}>o*7CIup~5q;GqOY&qeByv zbepYPN*Ku+6n z;mWAGj0bq`bia$CH|Ck_^4U^!BB=~k<31759BgNl-?hJ<=`IQFL!TAtdd`+VvdKd( z7*6$RTYY)A^gq2^YmxDnqL*^U)n3~X@pP!GP;9H(sHOjKL`h7obE7gD56P>+8`b5Y zOXg~r*wSe*LkeCl)Vw4w+uaZgVs&Nc0 zPIaBeydbGd@7_jb@pRtv1)U%BSMOOJb>@{-XE<2y(>gbs{zevIm zdtjWEwxevKk3k?HnGS+=@x{9xS_Sv(61$Sc=DuH_I5~ax*^S%&V2oXu8}>RL-OYns zGR($^_>VPu3a8;WbIADYeeyqUNOpSqir4O4vDq8hpnCnWzh-c!V~cD(IP*lu9pe1j zyO`Shn0cUvN8GLQ$ROQ~CPtY`uT$@BrQ(`o=Amm_v zUFcb7g>S81-}c&c$FANt0aGB*|Ad!T&m*oou+WJJmSgkuyn%}|^Z@u43abHh7q@V5 zhSrCT{mPbqGW~?bn-C4u*y^azUGnbWIBCz(;cZCkM@hV>sb)D#`h0}HN_lP1;hHaa z;cXO6h*=)i;tPwa%H`zT;3@(FnXs1~+vLu2z=5D$#}6==h107LXkH+b26!oyh;_O^ z4*e-Yj{#f5V$VRt=y$;lVI<#F`ze7XC2HaC6KM zb4gws@`!{)12^O7Dw)eRQ|NHHd-5ZV0YEsAA6F5NPYBUf6rDI?~ zU&IjYG##YENpZWyzu%O~X2%?|vWCKc4N9W9lffMnPD<@9zkZcqJNW41-3F!ft}M~I zK7QAb^Insy#RA3|C;zj=6Fyc}z$f^FZYY$5GEG__K;~SoQQhIR0{ussJ)MP|T_uLk ze}TyJDK6tw9!LcgH>~(}KKh88siJ8i^K#4j;E$F%(!@v!sk+vqBV)+D!aU0eF#YtD zcgeaxu5#FkKY7?v&>s6y^ly^OVS~TvOFAKo?ifqB3{NaMgw%#&2!-uObz4gxQk|ns zt~WcatmX@iGcNk4I!>I2LfJD|*3#Uf{HGU+QygA~UPND4yz9)oX02cU9lo5OXbdHl zez{m+fvndJA-ugC5m!6t?2w30BW$HTkwr@Ip8dqUYoy(Gns6IjM4(yVl-d0e*XH}=?kKCxHw3<&eooJno zXQ$fU0|vgT7LNj~PZzzIjUr2`Oo#Z{h;hQ^hvp9~$rIA3iRE6;^iE{xSFdjR-B9!V zW=C~cTdc<*EA{;rR_iOVo#U=1hIvU7Ol56Z(?GLvBe;`wo|m0IfsRnrZb-2*V9kuP zlskSQ^n}Q|`v0ot%D>rK`>&c>)Z5~gi?*nuRH(V;S&0~GtT8C9A*i7UB~)uxB&MK6 zYq*4{DF~viQmL65W2~roCZ^(h+WX7B>s{|3@ckv{tmNdZ&v~9_owc9+*?Yr#5Yr8l zhCFt%`iz&*@TA+RKCS;L+`2j|r3SS55~Gsq)mT-pGKh`6jd0#>+@9M&KndQB(PVSE z5=EUvQm8Fr)-hS^2gnE0WAE=V|IefDrpJ z6#v>IQfB~ncZkdCl&k%*v9RzpZ(IyucCJKDPu+aVy>|87X$b4ILCQ0U&c714RXah0 zv;~!|*0!!(Ai9*(2^n5ZVzG7BJ0ibW_@c4@=*r50bik`OoP6^rRX{2~#p~TDp)C2< z7JK($F>Gup>YTGf9qife{Nk0Pb#}l1To-KJbyaCHW{kppeU&l!ZIV=2q6}qRZIEi4 z>l)4A*)voE1vuS!=VBYH8?UTbkf}NkOqi{O^~(H;`;>*-RxetjLisO@C)u#8eVrZk zEQ&ckCo@T~QO*lFoG&10IBm+t3+@gX`}XIk7t3i#mGyGg_?*V86^I&apQemN;d&5# zU4abp_KzTEFO+`klN5kLvJzfo8V)J)$>wq6+s`8xFR&TfB9@nLu}QL@8DkYJF~(uH zRBdg&+7}mnt;$-ljmx%*)tm@i4xgYpB+=03s@vx5I3kBTv@A3yz05z$61_lhLN?Vk zs89JkL@Fra6L@qibQ<>%#ks9(_H{VL4q32b0?c|epPWsX6?CPOU{#+tN z=LeHp=%GEoF*7%izf)K2)0WkvP|#RbHU=VPM-d;K-TY-+)`WQtxW~h*Z_XZq+GM%x zlEv3R4G%(5%z{m014UMno%%PYaFE%VH|(73*^u&nx>nn}du|TbmXD%44=P&=O2oJv zAXTxnS@#-)2QG8g3kam2%Dm>JFd3EU8U@$g&Gk97+QwV7iH@*dW@9gk`#DkZ2JT#p zUN_v#Rkboyfg^K%;+;`of(TI3=wfOXn|c_j;!A1fFQA ztq-u3HUz^a$#x$v$yu(u#fI1_?B1Nf^Y;%uDf1uZn{;s@^&!CB^AC(6rVKCT%6iLe3V6MM3 z&#}CG!0S9?;Y>19lDt=Vdg_7W=bsxVK20niXZ^X>*Pq=S6(f7P1^uP|IbAl>*avPK zpA=ZvA$8j2E!XkmwNNML^^#2iD$TwKRfpr&88PolZnx7 z5jo3a*YoG=pTidjCH+*}yT@pU)uiwI%C(b2c|O(h-M(4xKj?6$-sPvrnZLW5n!#;Tz&pUM zO*+iB5I;HYFnu{0Tb^g$se}C9%6j3if-Y)IYznwSXOh`- z81z9R!s+WBH}{EK+}zn(U@)5{qHQp_@?qwPiu2S1d9x8X_ePlfWs_Y)o|Xcg#(G(S zhCdk3KhleZ9yyxESaN+&G6@*n=&i}eSoCM2nxSzL-(jGnCp85cg2XFfp@|H4P`yEx z0fcnD%Rx3=>0jt$?*+IM4k|4}oi*=sO&h!wkPsY&FiT&N-!FAgM0U>mJwn?vn?^aF z@1VmLIGVn_t?Oy#jns6Q)0!BrXxo~@=OQcHoaUHb-2N_?Uf>V*22uQJOJ+5d2&p{#SCYycGQmI9lK zbol4MfT^-DBZlyIC=0)uFOyYcc4M~ezM8usV3YZnNO4szn`@}D2#m!7*@5>yO;rJz ziQjOGt1;_C{*Vm5hf=})STlZUMD6X|*@@Al&3XSsfLc_;(>v=CBkJ}$8_)lzBV>cX zztOUfz4~+R*mrS;XMQtZbK5(bG#`mjgkfMRN1HU%08zy!!K(=zI+Xub4#-azk-6c} z_Xrll7I#I5vu%}gRCwf0zVmA3Iu81Rb%TwH*KU$gU?CSl;Ql(HFW#(mOFnKBxN1N< z`ybf~^3c%82{k}`n0NbcK-w|(i~PLv-q-}tg8WMq<+yozay;LV-Rlzxz}J(9o5IC8 zH=u;IK(EUHrHC*Fyte=T!`~d4puzA|G($SX~w=wg#ZEkfY=TU$mdRLJ-ugCe96FbLY!-l+ArOp1;#hIM4ewJ zVe!d{+ab^`vxAmtsgnWh`y{kd<@Deor=)YtRm9J&?b&D^d?k>)=9*rML>^EfMSHW9i?SH9L{`>o9-Az8-G9&dWR3FrKW+E>EowO&0i>fbJH3L6D0%d>5qUGP`ON=lfT_)Svs35W+W4Q%rmC1|BqX^im?x)B*=K!qnqp0cWo zn?NckL9&&=IF+5K5yWE!bxj%~$Tv126*ElW6>qvsYCE4JF`~Lm{fYx=ulvU%X-m?FrO^~(b*x5fdGA+3bZOJ6)qb2#w1lb9*N$co z4q9Z8uCHS+;IUWmtW)4d#ssUp-U`v2hG@F6(0T(s51C^X&n8ZDA)wUkp}wd2KRP*bM+0!A4}W_5x7S)MZ|h?`xCi4#qIvX z0*7xZZXQ07EQ0tK(m4eRm=u9!`D)+j24 zc5ohQeWbz`zB-4b;|s+uN=6EB zffL)!rPYg+D#tr+r8MDB4p$$m-kv^amm>p2LKQb#;hcX~&!B3Y^Q=y*+g!$b#^ zwEqw?rd(2Dz^gTfJe)P?WvizaAA4BHTC0iywH}_{4%fg6KyCJ<{~hO9FkAaGbSH z$+jgXrPFFt-&cQ=a21|LcB>z7Gq;XogAGcWVDaP1!zw*Zh9J(kt`JY&TV-jnHkg7H z1GjWEhg~~C|L5hB2(r7|j((ZgHwqw_My8uh9<2)a*7mq+^n>1Ak8{J&P&rbHRZsLz z7tVg>`u1ycw9&Ht-RWMk2_tG$PgEaVXKB&Wh?hftb)J$o$Q5PVEjW7*b(&4|)> zuLqBlk?(7xWus~C3&IkKN(LMwMOymY*g!|}^8Mqto~GXw%PCt=t;T1~=T@b9{T7_% zL~dvc>u0@bmKhcMtTd9i@9r_PxWY8PpR6>~3&TwsX0?3k*Em6Lz7Bf*1O+?3GC~R+7i(*xZ^?hZB)y;TjS5gr6n4@UxJKGk49Y4~ z-MLH~sdq+)oUaN+H$15bNYpUu%}5da!>qAAPum66g_eqi{4f}a>aOy1PU~VyHHJXf zOYcK2Si6Q~&A&lgr%9V^qXd(b`ah)=!1CglW!R|OZcr%mDI{mV?ckzR)+pANU;&dh z2YffG*{5=i2jBY!Hc6B#iWiOuvX)gPJ>}gl^_d7a!kE38oOq|`;Iz0+U3Z(*_zISr zFL32!V?@nKx4`jtF1o<^#Ewa$u;PZE^jmIw_wgUW`c9Dd3{yeUYdyd|#Kt+*s>rf6 z)p7J(c=BeX9+aMyWISY%nCaz(vE^)n`Fx^!?ohln!<9#yoO_R0i z?4-tsi6gYv_9M&kfoDlIhLkU=u$CRIje|8(4gTJy8sr`$WyW3Nf>{n4>N0%;6-Bx=7qgxRE#MszO|Zp@XV1`^kZ`aZ(Wx1F4M6Y=Ai42hpsNvP^bM3NR^?ckz%ADk&yfw+4TCO+RSZ?0 zR<`E%ca$al#$?g&VGZckSIHs6HF`r$YD-|%Urxl!;Bm@L>-j3!^V@c@W*TTV<+YYv6m!N?v2-m0B>JPdD>7cqn#`)-4iKv7`D`rU0x+FJ}sJm_DdPR=oj`O z#*@T?v06uSmisQ18pK*I`{Kz-Fw}5O9CRvmIFw)D%wKMFLd27QroCu9I$!eNi*8k@8T{T zzp^I&Yk6rvTKvefGa!PnXL2`*dQB?tuP zNRf(eJ}_Xd@BA?a5=eqNYRISmwiT;W=zY|s!O4(8&%8TJ-DR! ztXl~P-fljV*=g>LLjRO;L!8T&{qUL;T-XJv81k$u*pb=!RSPw}#w`YZz={XBFE0Le sr_ue|)Lhuac=sv(ZgubpZ6nTk-T83931r*>8yPA+Z9^@rhQss!19*~*IRF3v literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/jflash1.png b/bsp/renesas/ra6m4-iot/docs/picture/jflash1.png new file mode 100644 index 0000000000000000000000000000000000000000..49e33a16f5d708cb68b4803e20993ad342902a79 GIT binary patch literal 5392 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 Nl;t7d;ul6={sme2BnHf5rkNP2mwM( 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/jflash3.png b/bsp/renesas/ra6m4-iot/docs/picture/jflash3.png new file mode 100644 index 0000000000000000000000000000000000000000..09f4f59758d1ae7a8d5f0d521e66c92e7b62e4ce GIT binary patch literal 26983 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

->pXKyiO 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 z zLh&tsSy(VB`0%2;KFIGo{|?VKZL6UQd!fvE+u!mK`z!LAni9WM-&O=uaP+Hh{H;~F zvu|3vh~uUD*_Pp|w|bBemAr0t^<*(@E$ck3NL;gq`$I~?R6$wpXPipop51Frl?S+y zA~0HmJUvu2S|{~oayu-plZy@MZapgM>Z`kP_1*qfBwHby^<%sK(gC5I-8W?Z-9+&3 z33rPxp)P1(o;Kw2f&cx~6%0v6K|r>Aq_B^m4HdrECr<8+F*BKUrSMo^w z0|%kvW#&CICxO>rjyuMb`_L2%nqQJ7Kt^w*8H|vz@E`6&amLWAH(A!PqowG@UW~IR z8^~e)gg;0gkn(8#0!z+zc6786YpjMo5=4g{JGH3X1KTnzU=U2fqRsME2vWONc~ntU>T9|STpP81)evTV<`t7WhN zFlX`7UkOP0zi0HHP$;5#`EB=ncG>{o@qfzI?IGrl^4nwQYu@oJcl1Y?A}GmJ zv>T^CkWJ0{t>w$G@7#FN16byU-6k*Mm!Z^5%XcrYC8hOPODJpanV|^ zryN&7)Ih)=rFY;W87}p@8QCiQ!~3PPnj?&#a``1cZTcI`494vENa#ntYxq&i#tOJu z`h|bnfpSj*^pNqTK$6Haym>L)Z`_|x1Nq{UpKU(CEnNhpweHD^i%od+PzOt zP*|F|+#`6CPQ(M;)eFGokN29dRk*z7-$uPtKX;BEXIs@kFITesyl%!qbB3h3J+^S_ zxqMtSNtTMnvEB}_dF;@iHxAxWDQa}dK3vZKL!&U11PgkbXBd5CXjz>0?u$}RfD$G} z2cvuo8Z_c7LXdDI8PO|-etApI2kT3bTnq9jQ+Bvk+x54d%&ZC<{X!Wzx=E=rL?(@E zV?styuT$0pVZ~ceM=IoDB#d`B+Qo>OU6f%{27-<#3_msD&!{918X9vLdn@JI%&VCe z>{u)~^VJk=qfAbL_;WmwwAx+d2r52Y5AVe2EG1i+xuUHxW_gI;nh*8WXw&4sgQznG;N-RJ0RkR|2`OeTsHgC*sQ-dSDdVtAtRf$&{HgQR^Y z`ATPozX-vrKE|CWAZ@x;de%@NvxA^(#ClrUZ$yP>O#~}HLq9|7z-EUweA^Es4sNt( zJiRy7%d!|dnA5@DQa?cOC_(#l?FnI}JWmlSA!DBS4sV5hw;^tkNS$kh<2FgRVnY5n z12A8DYEME^6D|pDz!BU-KPSfpwaipri*?9b$XQ!G>~{EYnWkC8se;gRZ9kg$%m~Hl z)H#Ijmc&ho4A;nQuyf~VPJn|ME2I2=R?iaGXazd0r#~$-?;L7gu*RziWJ|=>v#-k= zpqQTxm#7tgKB+iuCAAr3BX=>C3M`neLPAl^>eJS4Z`e;=;qEA?m(rQbO*mK$pKa;Ul&bVx5#}Xi5R$GkbL*H?P!(FDtlj`7Za?%7mVRcw`1BRbm z*~C~};x=O`{(37*i%p$*+h}7T{9clhe%-bZaVb(1GfoFj(rh4L1GM)CGzLyamtvJ?f&F9L~_v`-C!-a*$r)s;Jbz11r^tx6Ze%N z^1vN8Cw%=)>4Py_3l|t2gxKdYa66tIGIQ(i|uxz=Tb;G zesjU$$-Rrs9pyU?&zs&OIwk**j%Dq9+p8HG`Lr+~^+BPIVn^v+n>&m&4uXH#1_Qr; zbdn16il?N`N_C!7?W&|V@Z|L3K37&46L~=+uxcrXNO3KumRY*V;M1^FBzG%`=H1i& z6Y9rf+zPewJGn?iW)r=;+MZv(>|;qXI|m?Pl{>22oHNH{UUP!`<=bJ0?qSqBh;4E9i4y5N_TB)F`+VOpe>`7 zlDGTRp~5`lq0$-mIK6h+!n|h8Ia@w>=W0O#vA3!mU7E(Ltdym86Ixyl;lBf=ezd+M zSt~$S&GWaq{H*uCSG@nFO#j~&CnAY$D#)|y7+4gCVv2vtSPzA%F(j}wQpl^L<&K)> zBfIEb#R+`0`I$4I2UYMijirW7%6fUZh2JbNcZkG5(k3awH_o(lIXfL~pkHlHN6r$h z88J@M6xiG5>7Nm2bagvAn|gToI%)7tqeYcF-xx%++kKPz<8WGbJw+)K?P$0O0WUqSM87%Y>B+**g($ZOgh`wS!m3Yvd?t5dR#p`GCRi3(tKh-dZUaOm@ zh)-k-uhfc7Aj4Gfdezg3q%bw-y|C(d#^VK*fiy}JL=@uSrkvFowKMX#(~pm z1V^BJBvQOST|SZM3jz^+W-KBCpb{ovuRIn*2=Qknlkb}L2nugYyQSYv|0W5h)a?&A;7UnQ`dj;n@M z*DGYrOkffT`%)lK_t@uEO#(Bg4C^4V?749=u9MAb`CdMu4yoenp8E`OvR|_|jQ7UcXgPzfY;ar>Ocsk(K2W(&~flcwqxN z;)+MD-{Td;QdBv$oxjF+OdAQoWk=rZS@Oc4w(Tf1d{a6L(o?JP6cN((7O^%?wBJsW z_K6q&`NP#H9x3N(6t8Z;zw67sbo`W9-nDyIc2XwKAIIyOyx*|7j*|Y+_kHpv;-nMY z*G7{SIhx(r=%(STadT08DWoLG0Dnj{;5>t`EZdb;#2pGGal}dID=*T^vS!gkq!N%; ziMApMWTISu@axneGH;v zxD2O1b+RvV*?}I=4H9Upc7lN_*KvHOM%o44iWY`SJ{92K#Oyk>i7Kin)QaQorG3Q@|0~QEo*PC)6?+G+)>1k>#jAJsZ}y7~?kIvr>|EW78StLI=}Fkzz=Hd7x#~ z2CkDI%o^Rj1#Y^!kpvLPMW-l5PeS*)%;2pSy)dKwCGY$Bgv;~s(d+(b)6K(((l4Lh z?pQ|$ZFPB(%UaTP)Kn#Uud`3Cn&hY;u4mQBIpns?=;a(2Ap&MQQH|yF2iEjAF+UEq zkYlNU-F^Rn2U6Hq(p;TD5E)JNGXcvX9-2-C82-NczOo}l(;=(tRr$`UeQozvyzlSL zVYyd0;i5&j(+srXS}(EfqGq7<7}TqMOg`O)CtLEG90LpzM%tiHYW70Yd#Na+?(~4 zTG{AZVpiMh@yEsCh%>hWS5=MtdDUN|rqEkJM2+ag(TUxZSCE6{kG#vzJnkom`&w4w z4uVcsP6J2vmIBHq*vBl4G9U%(MTTwr+(_4!&}M0pqZ2^ zd(UMLj!(BSO`IfUv5_Y9eH$Z_?^T)wSm&)f5zc^Cd;52TTX2g?bF1i6BlB&yl7{Tx zaR&<5gg@x6#8B^#k{gT5_rA%KJ~t+Tk4&iaAP~F%UN8S%Squ$<0Gkg#ho{o4Anx<3 zwI+(d;?-3n%d1L;shgSWW5lEFfUiB`t67^^VrcSZP}Al79$J$d8JeN`$S=rW+>wOQ zSI6&r#JDWhtpP$PTU1v5*QV5Oo{0W$ZYW=|MGf%!_K6gRG(4EYaUce*s$E(pMy0hbQ-b3%7?Y}=11MItkj0-b!l??l#m2+{oTG|!4 zrjjjVxu%S-@J1=$R*!ZY{<=MWDY!-QvaPY0dJZG&>WEaD7#w#U#jsMDIY7gS*bDXE zuzJ$qXe$WGA4`c^sk9uT5*Cd&E&y1&uQEXTNQRp9x^j+76%VvZBaYKOscvh%s8bry z=lBF}B^}IQUzje-IW>Kh6(a}uvuw+I+b$u5Ep*vI>}>xH5Qz4&I`EAEAIZ!?o+AXO zsRATNL9rMjaKQGunSJ?NO{mEFAYo=uQS#4p;Hy z#RwnGQ*c%osZ__yQ1P1Lx=KK@R&eHoVrek z0pYKz*0y4TmS6dx^3endPOuo~)}lDPb{<@6$YxEzi2AB}-$yG?G`8$zTFiS1rOMZp z9I6LS^?7M@t826&twKnN9r<8UJzuco^4`~GLDdrF#V$>*A)c@uQ4YC+im(+cqw-M< zK<;Jo9R#FU&QuKdv|DX|sPn+IPmEP%Jg2q8c;AsJFNgKdq4t(q8ObcL!DjmjF&?ZvL-h~`mEjw`Hj2~$^L)f}J~ zChr1j8JE}cI4_e-0>&IS=aS@~Do{IcrfrN0c_`C!D@3ZpuUGpl@Rad*MmbMT)V(is z#~j8o78?Fl)R~Od#a|m`?Ncdro4IlLHNAsSLc?(t&!AhKt(U2BQ~q}5iVxfsJeVuM zU5(;okmY*MFj$LpR6ng5$Cw<`gI)|F4)+fu=b*<0<;@n%U$q|P?0o`TgTX3kTvJ&z zdk))_Z~`9g>()R8y{MYsr8-(=e0^YUUZimMgur=E8v+_k8i z{DxqK>Hc(*I+N@dxZC@oWbOAGpRFRqacjhxH{J@?vSpwAl&i+AZZB^`us4hc#Fv|+ z*0D@91+vcf65v(*Gr1X#DRoVn)==mkO;(c6X{OqmacHKdK3qs92ty|CzO{Ml}H zuWC@t)x@M1MFFRL7GG%>0aB&Jgg0O?X}-FtAuvp=-rGXlkE@R-??ct%b@M1E0UNiW zb?F%n5Xeo-?KgTb1|yhr%yn{yR$~kV_(-tLplF@6`p=wW$@uPyjbINcejAAr3>W&d zod%hIF!gB^?N4AO%jBDxv$8!~F*zsqm#?(Uvm|0LY-4@&+1{&PzM2jFAsJZ(VpZl^ zmz>S@kS8HHoTH?e}d)1-*-(re<&rj277=& zBAx7qen=4Lht9t-N(EAXl>xPO5vbM`F@-lvrz)9Qq1nJ`fF5mW5fVP{AZt5T{NXqP z&q02&awe!AV92E%j=v#dfq{@t?8lynzmwx&SeH*qK4k@gD%r*a5(XT|As!xoECqzJx_S*`>dP%BTmZdUg6#@? z;@q1+89zQWUoWZ&@(gE4mHHN)bPiOyzs+O+A5_?XGFYJM|7V-xAKd@{PhL>$WYP$n zZZE%?g26z2I6sJVuR$%RmCX5|3zBcWk&I2BB8%KcgDE$w66xhD` zSBw6QSN%T=lZjFQuQEbTMWgV!3eav*K{{@L(A3GP*t=Bq=e_4VZ|@2Keb+8b$6Y*~ z+5ECJcBBv>pY7znxHwhS0iWm@)qmY7#)X9(q4|{oP97r^!>inrG@qp(_kNbe5uo#o zpu(!AKm(HWIh73TS9-(3Yr(fmc!kpS#!K9T9yu5=W0_*KjJ6vc8Wr-=M_e7_gt=?hg-q%UHmLum)fE27d}-Q0HhjI z6s1h4yGIjoVIH&In|ROw|YO4RcJd{1|6ni zPRP%M{>qwp>n|UAodk3>`>)n7>1Oll))_GK{Z1d{B0MxAp AE&u=k literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/openrasc.png b/bsp/renesas/ra6m4-iot/docs/picture/openrasc.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a9639db4cbef9930c8cbcf9e4eea673b5a2b44 GIT binary patch literal 10196 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 RNBmn40MpcimfuIb`9JsouUY^A literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/p105.png b/bsp/renesas/ra6m4-iot/docs/picture/p105.png new file mode 100644 index 0000000000000000000000000000000000000000..1eccce075c994c89360ca8acf969679034262e85 GIT binary patch literal 25303 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/pwm_env.png b/bsp/renesas/ra6m4-iot/docs/picture/pwm_env.png new file mode 100644 index 0000000000000000000000000000000000000000..65319f431258cda4314524777c80673da001a564 GIT binary patch literal 33223 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

p(ME&2dHK34w5g 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 b{O6Zkry=H1B+?5!&xyg))z4*}Q$iB}W5la) literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/fsp_version.png b/bsp/renesas/ra6m4-iot/docs/picture/fsp_version.png new file mode 100644 index 0000000000000000000000000000000000000000..823b186b6a93ceddb0dd9d76e088086c44cf6d5b GIT binary patch literal 5006 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 MX$UFTe)#Nv0L8SvWdHyG literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/gpio.png b/bsp/renesas/ra6m4-iot/docs/picture/gpio.png new file mode 100644 index 0000000000000000000000000000000000000000..88dfda4f340d590700a2554b504019ed5f421eb1 GIT binary patch literal 35359 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/gpio_irq.png b/bsp/renesas/ra6m4-iot/docs/picture/gpio_irq.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2830c23b74a30e088d6134723ad5f32c6d31cb GIT binary patch literal 43464 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 I+IJuR7jOQa`~Uy| literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/icu_stack.png b/bsp/renesas/ra6m4-iot/docs/picture/icu_stack.png new file mode 100644 index 0000000000000000000000000000000000000000..f322cf7c85f0a47c8e04d8f0c9decb55431592b8 GIT binary patch literal 25432 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/irq0.png b/bsp/renesas/ra6m4-iot/docs/picture/irq0.png new file mode 100644 index 0000000000000000000000000000000000000000..46a3d04b50243b93f19735f0c66d6de71a8a667e GIT binary patch literal 36998 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 literal 0 HcmV?d00001 diff --git a/bsp/renesas/ra6m4-iot/docs/picture/irq1.png b/bsp/renesas/ra6m4-iot/docs/picture/irq1.png new file mode 100644 index 0000000000000000000000000000000000000000..9a2032978f9c1e92be03373077365f6c29b5cbf9 GIT binary patch literal 15952 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