diff --git a/TestBoardFirmware/Testboard_HAL_drivers/Testboard_HAL_drivers.dil b/TestBoardFirmware/Testboard_HAL_drivers/Testboard_HAL_drivers.dil index ef76e9fd..cd84f16a 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/Testboard_HAL_drivers.dil +++ b/TestBoardFirmware/Testboard_HAL_drivers/Testboard_HAL_drivers.dil @@ -1,10361 +1,10351 @@ -# TMS570LS1224PGE 10/12/21 17:55:51 -# -ARCH=TMS570LS1224PGE -# -DRIVER.TOOLS.VAR.GCC.VALUE=0 -DRIVER.TOOLS.VAR.ARM.VALUE=0 -DRIVER.TOOLS.VAR.IAR.VALUE=0 -DRIVER.TOOLS.VAR.GHS.VALUE=0 -DRIVER.TOOLS.VAR.TI.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_AVCLK4_DIVIDER.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_TYPE.VALUE=NORMAL_OINC_NONSHARED -DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.PMM_MEM_PD3_STATE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CAPTURE_EVENT_SOURCE_0.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_PERMISSION_VALUE.VALUE=0x0300 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_NAME.VALUE=het2LowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_NAME.VALUE=adc2Group2Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_NAME.VALUE=spi4HighLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_MAPPING.VALUE=2 -DRIVER.SYSTEM.VAR.VIM_CAPTURE_EVENT_SOURCE_1.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_ADC1_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.EQEP2_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_MEMINIT_SELECTED.VALUE=1 -DRIVER.SYSTEM.VAR.FLASH_DATA_3_WAIT_STATE_FREQ.VALUE=180.0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_MAPPING.VALUE=96 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_MAPPING.VALUE=88 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_7_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_END_ADDRESS.VALUE=0xfcffffff -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_5_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_DATA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_STC_SELFCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.SPI3_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_PLL1_BYPASS_ON_SLIP.VALUE=0x20000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_TYPE_VALUE.VALUE=0x0008 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_NAME.VALUE=ecap5Interrupt -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SIZE.VALUE=256_KB -DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI2_RAMPARITYCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.CRC_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.MIBSPI1_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_HCLK_FREQ.VALUE=160.000 -DRIVER.SYSTEM.VAR.CLKT_PLL2_FREQ.VALUE=160.00 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_MAPPING.VALUE=81 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_MAPPING.VALUE=73 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_MAPPING.VALUE=65 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_MAPPING.VALUE=57 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_MAPPING.VALUE=49 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_NAME.VALUE=dmaBTCAInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_NAME.VALUE=het1LowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_NAME.VALUE=can1HighLevelInterrupt -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_6_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_CCM_SELFCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.PMM_MEM_PD2_STATE_AVAIL.VALUE=1 -DRIVER.SYSTEM.VAR.ECLK_CLKSRC.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_TYPE_VALUE.VALUE=0x0008 -DRIVER.SYSTEM.VAR.CLKT_PLL2_OUTPUT_DIV.VALUE=2 -DRIVER.SYSTEM.VAR.CLKT_EXT2_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CLKT_PLL1_SOURCE_ENABLE.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_END_ADDRESS.VALUE=0x63ffffff -DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_HET2_DP_PBISTCHECK_ENA.VALUE=0x00040000 -DRIVER.SYSTEM.VAR.CLKT_RTI2_PRE_SOURCE.VALUE=PLL1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SIZE_VALUE.VALUE=0x1A -DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_NAME.VALUE=etpwm5TripZoneInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_MAPPING.VALUE=50 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_MAPPING.VALUE=42 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_MAPPING.VALUE=34 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_MAPPING.VALUE=26 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_MAPPING.VALUE=18 -DRIVER.SYSTEM.VAR.PMM_LOGIC_PD2_STATEVALUE.VALUE=0x5 -DRIVER.SYSTEM.VAR.CLKT_VCLK3_DOMAIN_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.FLASH_ECC_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.FLASH_BANKS.VALUE=4 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_IRQ_DISP_ENTRY.VALUE=_irqDispatch -DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CAN3_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_AVCLK1_SOURCE.VALUE=VCLK -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.ETPWM4_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.DCC2_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_PLL1_RESET_ON_OSCILLATOR_FAIL.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_PERMISSION_VALUE.VALUE=0x0600 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_MAPPING.VALUE=11 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC -DRIVER.SYSTEM.VAR.LBIST_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_AVCLK2_DOMAIN_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_6_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_TYPE.VALUE=NORMAL_OINC_NONSHARED -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_END_ADDRESS.VALUE=0x003fffff -DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.ECAP6_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SCI_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.FLASH_DATA_1_WAIT_STATE_FREQ.VALUE=100.0 -DRIVER.SYSTEM.VAR.RAM_STACK_IRQ_BASE.VALUE=0x08001200 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_MAPPING.VALUE=125 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_MAPPING.VALUE=117 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_MAPPING.VALUE=109 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_NAME.VALUE=etpwm1Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_NAME.VALUE=dcc1DoneInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_NAME.VALUE=sciLowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_NAME.VALUE=i2cInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DOMAIN_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_PMU_GLOBAL_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_BASE_ADDRESS.VALUE=0xFF000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.PMM_LOGIC_PD2_STATE.VALUE=1 -DRIVER.SYSTEM.VAR.EMAC_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_DP_SELECTED.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_MAPPING.VALUE=8 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_NAME.VALUE=rtiCompare0Interrupt -DRIVER.SYSTEM.VAR.CORE_PMU_COUNTER0_EVENT.VALUE=0x11 -DRIVER.SYSTEM.VAR.FLASH_ADDRESS_WAIT_STATES.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_RESET_ENTRY.VALUE=_c_int00 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.ADC1_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.MIBSPI_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.ECLK_VCLK1_FREQ.VALUE=80.000 -DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_FREQ.VALUE=00.0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SIZE_VALUE.VALUE=0x0A -DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_MAPPING.VALUE=110 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_NAME.VALUE=ecap6Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_MAPPING.VALUE=102 -DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DIVIDER.VALUE=1 -DRIVER.SYSTEM.VAR.RAM_LENGTH.VALUE=0x00030000 -DRIVER.SYSTEM.VAR.CLKT_VCLK1_DOMAIN_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SIZE.VALUE=64_MB -DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_ESRAM_SP_PBISTCHECK_VALUE_NEW.VALUE=0x00300020 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_NAME.VALUE=dmaFTCAInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_MAPPING.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_SOURCE_ENABLE.VALUE=0x00000008 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_END_ADDRESS.VALUE=0x203fffff -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_BASE_ADDRESS.VALUE=0xF0000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_INT_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_PARITY_ENABLE.VALUE=TRUE -DRIVER.SYSTEM.VAR.SAFETY_INIT_FRAY_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_TYPE_VALUE.VALUE=0x0000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_MAPPING.VALUE=95 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_MAPPING.VALUE=87 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_MAPPING.VALUE=79 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_6_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_4_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_IRQ_VIC_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI1_DP_PBISTCHECK_ENA.VALUE=0x00000040 -DRIVER.SYSTEM.VAR.SPI1_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_NAME.VALUE=etpwm6Interrupt -DRIVER.SYSTEM.VAR.CLKT_RTI2_DIVIDER.VALUE=1 -DRIVER.SYSTEM.VAR.RAM_ECC_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_7_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN4_RAMPARITYCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.SCI_ALL_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_FREQ_INPUT.VALUE=16.0 -DRIVER.SYSTEM.VAR.STC_INTERVAL.VALUE=24 -DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_TRIM_VALUE.VALUE=16 -DRIVER.SYSTEM.VAR.CLKT_GCLK_FREQ.VALUE=160.000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_PERMISSION_VALUE.VALUE=0x1000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_MAPPING.VALUE=80 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_MAPPING.VALUE=72 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_MAPPING.VALUE=64 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_MAPPING.VALUE=56 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_MAPPING.VALUE=48 -DRIVER.SYSTEM.VAR.CLKT_PLL1_REF_CLOCK_DIV.VALUE=6 -DRIVER.SYSTEM.VAR.FLASHW_BASE_ADDRESS.VALUE=0xFFF87000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_FIQ_ENTRY.VALUE="ldr pc,[pc,#-0x1b0]" -DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_INT_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN5_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.SCILIN_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SPI_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.ALL_DVR_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.CCM_MENU_VALUE.VALUE=0x0001 -DRIVER.SYSTEM.VAR.PBIST_ENA1.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_VCLK4_DIVIDER.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_TYPE.VALUE=NORMAL_OINC_NONSHARED -DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_OSCILLATOR_FREQ.VALUE=16.0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_NAME.VALUE=etpwm1TripZoneInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_NAME.VALUE=dcc2DoneInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_MAPPING.VALUE=41 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_MAPPING.VALUE=33 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_MAPPING.VALUE=25 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_MAPPING.VALUE=17 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_IRQ_MODE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.PMM_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.EMIF_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CAN1_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CAN_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_TYPE_VALUE.VALUE=0x0008 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_NAME.VALUE=rtiCompare1Interrupt -DRIVER.SYSTEM.VAR.PMM_MEM_PD3_STATEVALUE.VALUE=0xA -DRIVER.SYSTEM.VAR.CLKT_PLL1_OUTPUT_DIV.VALUE=2 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC -DRIVER.SYSTEM.VAR.CLKT_PLL2_FM_ENABLE.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_BASE_ADDRESS.VALUE=0x08400000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_STC_CPUSELFTEST_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.ETPWM2_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.HET1_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_RTI1_PRE_SOURCE.VALUE=PLL1 -DRIVER.SYSTEM.VAR.FLASH_MODE_VALUE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SIZE_VALUE.VALUE=0x19 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_MAPPING.VALUE=10 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SIZE.VALUE=128_MB -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_HET1_DP_PBISTCHECK_ENA.VALUE=0x00001000 -DRIVER.SYSTEM.VAR.ECAP4_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_PLL2_BYPASS_ON_SLIP.VALUE=0x20000000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_MAPPING.VALUE=124 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_MAPPING.VALUE=116 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_MAPPING.VALUE=108 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_NAME.VALUE=adc2Group0Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_NAME.VALUE=can2LowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_NAME.VALUE=dmaLFSAInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_NAME.VALUE=mibspi1LowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.FLASH_ARBITRATION.VALUE=FIX -DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_SOURCE_ENABLE.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.PBIST_ALGO_9_10.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_EXTERNAL2_FREQ_INPUT.VALUE=16.0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_MAPPING.VALUE=7 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC -DRIVER.SYSTEM.VAR.CLKT_RTI2_DOMAIN_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CORE_MPU_BACKGROUND_REGION_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_INT_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CONFIG.VALUE=TRUE -DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_MAPPING.VALUE=101 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_NAME.VALUE=etpwm6TripZoneInterrupt -DRIVER.SYSTEM.VAR.RAM_STACK_ABORT_LENGTH.VALUE=0x00000100 -DRIVER.SYSTEM.VAR.FLASH_DATA_MAX_WAIT_STATES.VALUE=3 -DRIVER.SYSTEM.VAR.FLASH_MODE.VALUE=PIPELINE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_7_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI4_RAMPARITYCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_EMAC_SP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.MINIT_VALUE.VALUE=0x1E57F -DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_MAPPING.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_PLL1_DIV.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_VCLK4_DOMAIN_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_PLL2_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.RAM_BASE_ADDRESS.VALUE=0x08000000 -DRIVER.SYSTEM.VAR.CORE_PMU_EVENT_EXPORT_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN1_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.GIO_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SIZE_VALUE.VALUE=0x17 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_MAPPING.VALUE=94 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_MAPPING.VALUE=86 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_MAPPING.VALUE=78 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_TYPE.VALUE=STRONGLYORDERED_SHAREABLE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_3_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_BASE_ADDRESS.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_UNDEF_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_SP_SELECTED.VALUE=0 -DRIVER.SYSTEM.VAR.RAM_STACK_ABORT_BASE.VALUE=0x08001300 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_NAME.VALUE=etpwm2Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.CLKT_RTI1_DIVIDER.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_AVCLK4_DOMAIN_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_6_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_TYPE.VALUE=FIQ -DRIVER.SYSTEM.VAR.PMM_LOGIC_PD3_STATE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_EFUSE_SELFCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_GHV_WAKUP_SOURCE.VALUE=OSC -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_TYPE_VALUE.VALUE=0x0000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_MAPPING.VALUE=71 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_MAPPING.VALUE=63 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_MAPPING.VALUE=55 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_MAPPING.VALUE=47 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_MAPPING.VALUE=39 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_NAME.VALUE=rtiCompare2Interrupt -DRIVER.SYSTEM.VAR.CORE_PMU_COUNTER1_EVENT.VALUE=0x11 -DRIVER.SYSTEM.VAR.EFUSE_SELFTEST_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_AVCLK4_DOMAIN_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.RAM_LINK_BASE_ADDRESS.VALUE=0x08001500 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_7_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.CLKT_PLL2_DIV.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_VCLK3_DIVIDER.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_LPO_TRIM_OTP_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SIZE.VALUE=8_MB -DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_VIM1_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_AVCLK4_SOURCE.VALUE=VCLK -DRIVER.SYSTEM.VAR.FLASH_ADDRESS_WAIT_STATES_FREQ.VALUE=150.0 -DRIVER.SYSTEM.VAR.RAM_STACK_BASE.VALUE=0x08000000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_NAME.VALUE=adc2Group1Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_MAPPING.VALUE=40 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_NAME.VALUE=can2HighLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_MAPPING.VALUE=32 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_NAME.VALUE=linLowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_MAPPING.VALUE=24 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_NAME.VALUE=crcInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_MAPPING.VALUE=16 -DRIVER.SYSTEM.VAR.CLKT_VCLK3_DOMAIN_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_END_ADDRESS.VALUE=0xf07fffff -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.ETPWM7_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_1.VALUE=0 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_2.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN4_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_3.VALUE=1 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_4.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_NAME.VALUE=eqep1Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_NAME.VALUE=etpwm7Interrupt -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_5.VALUE=1 -DRIVER.SYSTEM.VAR.LBIST_STT.VALUE=1 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_6.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_HTU2_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_7.VALUE=1 -DRIVER.SYSTEM.VAR.ECAP2_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_8.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_TYPE_VALUE.VALUE=0x0010 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_MAPPING.VALUE=123 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_MAPPING.VALUE=115 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_MAPPING.VALUE=107 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_NAME.VALUE=het1HighLevelInterrupt -DRIVER.SYSTEM.VAR.PMM_MEM_PD2_STATEVALUE.VALUE=0x5 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_9.VALUE=1 -DRIVER.SYSTEM.VAR.RAM_STACK_USER_LENGTH.VALUE=0x00001000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_7_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_END_ADDRESS.VALUE=0x0843ffff -DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI1_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_USB_SP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_SELFCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.ETPWM_OLDCODE.VALUE=1 -DRIVER.SYSTEM.VAR.SCI2_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.LIN_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_RTI1_FREQ.VALUE=80.000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SIZE_VALUE.VALUE=0x11 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_MAPPING.VALUE=6 -DRIVER.SYSTEM.VAR.CLKT_PLL2_SPEADING_AMOUNT.VALUE=61 -DRIVER.SYSTEM.VAR.CLKT_PLL2_SPEADING_RATE.VALUE=255 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_BASE_ADDRESS.VALUE=0x08001000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_TYPE.VALUE=STRONGLYORDERED_SHAREABLE -DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI5_DP_PBISTCHECK_ENA.VALUE=0x00000100 -DRIVER.SYSTEM.VAR.CLKT_PLL2_RESET_ON_SLIP.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.ECLK_FREQ.VALUE=10.000 -DRIVER.SYSTEM.VAR.CLKT_AVCLK1_FREQ.VALUE=80.000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_MAPPING.VALUE=100 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_NAME.VALUE=etpwm2TripZoneInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.RAM_STACK_IRQ_LENGTH.VALUE=0x00000100 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_6_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_RTI2_POST_SOURCE.VALUE=VCLK -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_PERMISSION_VALUE.VALUE=0x1300 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_NAME.VALUE=rtiCompare3Interrupt -DRIVER.SYSTEM.VAR.RAM_STACK_LENGTH.VALUE=0x00001500 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_PERMISSION.VALUE=PRIV_RO_USER_RO_EXEC -DRIVER.SYSTEM.VAR.CLKT_LPO_BIAS.VALUE=true -DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DIVIDER1.VALUE=4 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_END_ADDRESS.VALUE=0xffffffff -DRIVER.SYSTEM.VAR.CORE_PRAGMA_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SPI4_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_AVCLK4_POST_SOURCE.VALUE=VCLKA4_DIVR -DRIVER.SYSTEM.VAR.CLKT_VCLK1_FREQ.VALUE=80.000 -DRIVER.SYSTEM.VAR.CLKT_AVCLK3_FREQ1.VALUE=0.000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_MAPPING.VALUE=93 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_MAPPING.VALUE=85 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_MAPPING.VALUE=77 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_MAPPING.VALUE=69 -DRIVER.SYSTEM.VAR.CLKT_AVCLK3_FREQ2.VALUE=80.0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SIZE.VALUE=16_MB -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_BASE_ADDRESS.VALUE=0xFC000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_2_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.CLKT_PLL1_MUL.VALUE=120 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_NAME.VALUE=adc1Group2Interrupt -DRIVER.SYSTEM.VAR.CLKT_OSC_ENABLE.VALUE=TRUE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SIZE.VALUE=16_MB -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_SVC_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.PINMUX_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.PBIST_ALGO_3_4.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_LPO_BIAS_VALUE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_MAPPING.VALUE=70 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_MAPPING.VALUE=62 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_MAPPING.VALUE=54 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_MAPPING.VALUE=46 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_MAPPING.VALUE=38 -DRIVER.SYSTEM.VAR.CLKT_AVCLK1_DOMAIN_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CLKT_EXTERNAL2_SOURCE_ENABLE.VALUE=0x00000080 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_6_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_PREFETCH_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_HTU2_DP_PBISTCHECK_ENA.VALUE=0x00080000 -DRIVER.SYSTEM.VAR.SAFETY_INIT_EMAC_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.PBIST_ALGO_15.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_NAME.VALUE=eqep2Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_NAME.VALUE=etpwm7TripZoneInterrupt -DRIVER.SYSTEM.VAR.PBIST_ALGO_16.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_VCLK2_DIVIDER.VALUE=1 -DRIVER.SYSTEM.VAR.RAM_LINK_LENGTH.VALUE=0x0002EB00 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_END_ADDRESS.VALUE=0x080017ff -DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_LPO_OSCFRQCONFIGCNT_VALUE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_AVCLK2_SOURCE.VALUE=VCLK -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_TYPE_VALUE.VALUE=0x0008 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_MAPPING.VALUE=31 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_MAPPING.VALUE=23 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_MAPPING.VALUE=15 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.PBIST_ALGO_5_6.VALUE=0 -DRIVER.SYSTEM.VAR.PBIST_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_HCLK_DOMAIN_ENABLE.VALUE=TRUE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.ETPWM5_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.ETPWM_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_PLL2_MUL.VALUE=120 -DRIVER.SYSTEM.VAR.CLKT_RTI2_FREQ.VALUE=0.0 -DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_FREQ.VALUE=0.080 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_TYPE.VALUE=NORMAL_OINC_NONSHARED -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_PREFETCH_ENTRY.VALUE=_prefetch -DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_DMA_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_AVCLK2_FREQ.VALUE=80.000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_PERMISSION_VALUE.VALUE=0x1300 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_PERMISSION_VALUE.VALUE=0x1300 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_NAME.VALUE=etpwm3Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_OSCILLATOR_SOURCE_ENABLE.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_BASE_ADDRESS.VALUE=0x60000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.PMM_AUTO_CLK_WAKE_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.PMM_LOGIC_PD4_STATE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_HET2_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.PBIST_ALGO_7_8.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_PLL2_RESET_ON_OSCILLATOR_FAIL.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_BASE_ADDRESS_0.VALUE=0x00000020 -DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_BASE_ADDRESS_1.VALUE=0x00180000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SIZE_VALUE.VALUE=0x08 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_MAPPING.VALUE=122 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_MAPPING.VALUE=114 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_MAPPING.VALUE=106 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_NAME.VALUE=rtiOverflow0Interrupt -DRIVER.SYSTEM.VAR.PMM_LOGIC_PD5_STATEVALUE.VALUE=0x5 -DRIVER.SYSTEM.VAR.CORE_PMU_COUNTER2_EVENT.VALUE=0x11 -DRIVER.SYSTEM.VAR.FLASH_DATA_WAIT_STATES.VALUE=3 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_6_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_PARITY_AVAILABLE.VALUE=TRUE -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN3_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_RAMECC_SELFCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.ADC2_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_VCLK2_FREQ.VALUE=80.000 -DRIVER.SYSTEM.VAR.FLASH_DATA_2_WAIT_STATE_FREQ.VALUE=150.0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_MAPPING.VALUE=5 -DRIVER.SYSTEM.VAR.VIM_PARITY_INTERRUPT_MAPPED_TO_VIM.VALUE=FALSE -DRIVER.SYSTEM.VAR.VIM_CHANNELS.VALUE=128 -DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_BASE_ADDRESS_7.VALUE=0xF0200000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SIZE.VALUE=512_BYTES -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_7_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.PMM_MEM_PD1_STATE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN3_DP_PBISTCHECK_ENA.VALUE=0x00000010 -DRIVER.SYSTEM.VAR.ECAP_OLDCODE.VALUE=1 -DRIVER.SYSTEM.VAR.ESM_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_MAPPING.VALUE=99 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_NAME.VALUE=mibspi5HighLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_NAME.VALUE=can3HighLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_NAME.VALUE=mibspi3HighInterruptLevel -DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_NAME.VALUE=can1LowLevelInterrupt -DRIVER.SYSTEM.VAR.PMM_MEM_PD1_STATEVALUE.VALUE=0x5 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_PERMISSION.VALUE=PRIV_RW_USER_RO_NOEXEC -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_5_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SIZE.VALUE=2_KB -DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.EQEP1_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_FREQ.VALUE=10.000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SIZE_VALUE.VALUE=0x11 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_IRQ_ENTRY.VALUE="ldr pc,[pc,#-0x1b0]" -DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.ECAP_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SPI2_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_GHV_POWER_DOWN_SOURCE.VALUE=OSC -DRIVER.SYSTEM.VAR.RAM_STACK_USER_BASE.VALUE=0x08000000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_NAME.VALUE=ecap1Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_MAPPING.VALUE=92 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_MAPPING.VALUE=84 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_MAPPING.VALUE=76 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_MAPPING.VALUE=68 -DRIVER.SYSTEM.VAR.CLKT_GCLK_DOMAIN_ENABLE.VALUE=TRUE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_1_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_ADC2_DP_PBISTCHECK_ENA.VALUE=0x00020000 -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI4_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.SAFETY_INIT_USB_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.SYSTEM_INIT.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_NAME.VALUE=esmLowInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_NAME.VALUE=mibspi1HighLevelInterrupt -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_PERMISSION.VALUE=PRIV_NA_USER_NA_NOEXEC -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_BASE_ADDRESS.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_INT_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_INT_TYPE.VALUE=FIQ -DRIVER.SYSTEM.VAR.DMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_PERMISSION_VALUE.VALUE=0x1100 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_PERMISSION_VALUE.VALUE=0x1200 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_MAPPING.VALUE=61 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_MAPPING.VALUE=53 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_MAPPING.VALUE=45 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_MAPPING.VALUE=37 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_MAPPING.VALUE=29 -DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_DIR.VALUE=1 -DRIVER.SYSTEM.VAR.FLASH_LENGTH.VALUE=0x00140000 -DRIVER.SYSTEM.VAR.RAM_STACK_FIQ_LENGTH.VALUE=0x00000100 -DRIVER.SYSTEM.VAR.CLKT_EXT1_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_7_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_TYPE.VALUE=DEVICE_NONSHAREABLE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_ADC2_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_AVCLK3_FREQ.VALUE=0.000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_TYPE_VALUE.VALUE=0x0010 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_NAME.VALUE=etpwm3TripZoneInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.CLKT_VCLK1_DIVIDER.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_TYPE.VALUE=DEVICE_NONSHAREABLE -DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.CAN2_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_DOUT.VALUE=0 -DRIVER.SYSTEM.VAR.PBIST_ALGO_1.VALUE=0 -DRIVER.SYSTEM.VAR.FLASH_DATA_0_WAIT_STATE_FREQ.VALUE=50.0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_MAPPING.VALUE=30 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_MAPPING.VALUE=22 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_MAPPING.VALUE=14 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_NAME.VALUE=rtiOverflow1Interrupt -DRIVER.SYSTEM.VAR.PBIST_ALGO_2.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_RTI1_DOMAIN_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CLKT_AVCLK1_DOMAIN_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI3_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.ETPWM3_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.DCC1_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.HET2_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_ESRAM_SELECTED.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_VCLK3_FREQ.VALUE=80.000 -DRIVER.SYSTEM.VAR.CLKT_AVCLK4_FREQ1.VALUE=80.000 -DRIVER.SYSTEM.VAR.PBIST_ALGO_11_12.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_PLL2_SOURCE_ENABLE.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_7_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_END_ADDRESS.VALUE=0xfe0001ff -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_INT_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_INT_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_HTU1_DP_PBISTCHECK_ENA.VALUE=0x00002000 -DRIVER.SYSTEM.VAR.ECAP5_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.ADC_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_TYPE_VALUE.VALUE=0x0008 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_NAME.VALUE=spi4LowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_NAME.VALUE=mibspi3LowLevelInterrupt -DRIVER.SYSTEM.VAR.FEE_FLASH_ECC_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SIZE.VALUE=4_MB -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_RESET_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.PMM_LOGIC_PD4_STATE_AVAIL.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_MAPPING.VALUE=121 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_MAPPING.VALUE=113 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_MAPPING.VALUE=105 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_RESERVED_ENTRY.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.PMM_MEM_PD3_STATE_AVAIL.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_NAME.VALUE=ecap2Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_MAPPING.VALUE=4 -DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DOMAIN_ENABLE.VALUE=TRUE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_END_ADDRESS.VALUE=0x87ffffff -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_6_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SIZE.VALUE=4_GB -DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_PERMISSION_VALUE.VALUE=0x1300 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SIZE_VALUE.VALUE=0x17 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_PERMISSION_VALUE.VALUE=0x0300 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_MAPPING.VALUE=98 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_NAME.VALUE=linHighLevelInterrupt -DRIVER.SYSTEM.VAR.PMM_LOGIC_PD4_STATEVALUE.VALUE=0x5 -DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_FUN.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_BASE_ADDRESS.VALUE=0x20000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_7_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_FRAY_RAMPARITYCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_DMA_DP_PBISTCHECK_ENA.VALUE=0x00000800 -DRIVER.SYSTEM.VAR.HET_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.PBIST_ALGO_13_14.VALUE=0 -DRIVER.SYSTEM.VAR.RAM_STACK_UNDEF_BASE.VALUE=0x08001400 -DRIVER.SYSTEM.VAR.RAM_STACK_SVC_BASE.VALUE=0x08001000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_TYPE.VALUE=DEVICE_NONSHAREABLE -DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.DMM_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.MIBSPI5_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_0.VALUE=ACTIVE -DRIVER.SYSTEM.VAR.PMM_PMCTRL_PWRDN.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_AVCLK4_FREQ.VALUE=80.000 -DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_1.VALUE=ACTIVE -DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_NAME.VALUE=etpwm4Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_MAPPING.VALUE=91 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_MAPPING.VALUE=83 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_MAPPING.VALUE=75 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_MAPPING.VALUE=67 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_MAPPING.VALUE=59 -DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_2.VALUE=SLEEP -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC -DRIVER.SYSTEM.VAR.CLKT_VCLK2_DOMAIN_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_3.VALUE=SLEEP -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_TYPE.VALUE=NORMAL_OINC_NONSHARED -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_END_ADDRESS.VALUE=0x0803ffff -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_0_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.PMM_LOGIC_PD5_STATE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN2_DP_PBISTCHECK_ENA.VALUE=0x00000008 -DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PDR.VALUE=0 -DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_4.VALUE=SLEEP -DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_5.VALUE=SLEEP -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SIZE_VALUE.VALUE=0x15 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_NAME.VALUE=rtiTimebaseInterrupt -DRIVER.SYSTEM.VAR.ECLK_PRESCALER.VALUE=8 -DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_6.VALUE=SLEEP -DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_7.VALUE=ACTIVE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_BASE_ADDRESS.VALUE=0xFE000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_HTU1_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_VCLK4_FREQ.VALUE=80.000 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_MAPPING.VALUE=60 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_MAPPING.VALUE=52 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_MAPPING.VALUE=44 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_MAPPING.VALUE=36 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_MAPPING.VALUE=28 -DRIVER.SYSTEM.VAR.CLKT_PLL1_BAND_WIDTH_ADJUSTMENT.VALUE=7 -DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_SOURCE_ENABLE.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_6_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.PMM_MEM_PD2_STATE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_VIM2_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CLKT_PLL2_MUL_VAL.VALUE=7700 -DRIVER.SYSTEM.VAR.CLKT_RTI1_POST_SOURCE.VALUE=VCLK -DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_NAME.VALUE=het2HighLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_NAME.VALUE=can3LowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_NAME.VALUE=dmaHBCAInterrupt -DRIVER.SYSTEM.VAR.CLKT_PLL2_BAND_WIDTH_ADJUSTMENT.VALUE=7 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_7_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_DATA_ENTRY.VALUE=_dabort -DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_ADC1_DP_PBISTCHECK_ENA.VALUE=0x00000400 -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI3_DP_PBISTCHECK_ENA.VALUE=0x00000080 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_MAPPING.VALUE=21 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_MAPPING.VALUE=13 -DRIVER.SYSTEM.VAR.CLKT_PLL2_REF_CLOCK_DIV.VALUE=6 -DRIVER.SYSTEM.VAR.CLKT_PLL1_SPEADING_RATE.VALUE=255 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN5_RAMPARITYCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.ETPWM1_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_PLL1_RESET_ON_SLIP.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_TYPE_VALUE.VALUE=0x0010 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_PERMISSION_VALUE.VALUE=0x0300 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_MAPPING.VALUE=127 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_MAPPING.VALUE=119 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_NAME.VALUE=ecap3nterrupt -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_PERMISSION.VALUE=PRIV_RW_USER_NA_NOEXEC -DRIVER.SYSTEM.VAR.CLKT_PLL1_FM_ENABLE.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_6_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SIZE.VALUE=4_MB -DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_ROM_PBIST_SELFCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.ECAP3_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_NAME.VALUE=adc1Group0Interrupt -DRIVER.SYSTEM.VAR.CLKT_LPOLO_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PSL.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_MAPPING.VALUE=120 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_MAPPING.VALUE=112 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_MAPPING.VALUE=104 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_END_ADDRESS.VALUE=0xffffffff -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_4_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_BASE_ADDRESS.VALUE=0x80000000 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_SVC_ENTRY.VALUE=_svc -DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CONFIG_NEW.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_FTU_RAMPARITYCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_FLASHECC_SELFCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_EXTERNAL2_FREQ.VALUE=00.0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_TYPE_VALUE.VALUE=0x0008 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_NAME.VALUE=etpwm4TripZoneInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_MAPPING.VALUE=3 -DRIVER.SYSTEM.VAR.CLKT_LPOHI_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_TYPE.VALUE=NORMAL_OINC_NONSHARED -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_RTP_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CLKT_GHV_NORMAL_SOURCE.VALUE=PLL1 -DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DIV_FREQ.VALUE=80.0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_MAPPING.VALUE=97 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_MAPPING.VALUE=89 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_NAME.VALUE=gioHighLevelInterrupt -DRIVER.SYSTEM.VAR.CLKT_PLL1_ENABLE.VALUE=TRUE -DRIVER.SYSTEM.VAR.FLASH_BASE_ADDRESS.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_6_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_ESRAM_SP_PBISTCHECK_ENA.VALUE=0x08300020 -DRIVER.SYSTEM.VAR.SAFETY_INIT_STC_ROM_PBIST_SELFCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.SPI5_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_AVCLK2_DOMAIN_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_TYPE.VALUE=NORMAL_OINC_NONSHARED -DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_FTU_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.RTP_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.MIBSPI3_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_LENGTH_0.VALUE=0x0013FFE0 -DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_LENGTH_1.VALUE=0x00180000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SIZE_VALUE.VALUE=0x16 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_MAPPING.VALUE=90 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_MAPPING.VALUE=82 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_MAPPING.VALUE=74 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_MAPPING.VALUE=66 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_NAME.VALUE=sciHighLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_MAPPING.VALUE=58 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_NAME.VALUE=mibspi5LowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.PMM_LOGIC_PD3_STATEVALUE.VALUE=0x5 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_7_DISABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_1_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.EQEP_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.RTI_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.STC_MAX_TIMEOUT.VALUE=0xFFFFFFFF -DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_TRIM.VALUE=100.00 -DRIVER.SYSTEM.VAR.RAM_STACK_FIQ_BASE.VALUE=0x08001100 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_PERMISSION_VALUE.VALUE=0x0300 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_NAME.VALUE=esmHighInterrupt -DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_LENGTH_7.VALUE=0x000010000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_2_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_HET1_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI5_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.FEE_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_10.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_TRIM_VALUE.VALUE=16 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_NAME.VALUE=ecap4Interrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_MAPPING.VALUE=51 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_MAPPING.VALUE=43 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_MAPPING.VALUE=35 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_MAPPING.VALUE=27 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_MAPPING.VALUE=19 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_11.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_12.VALUE=1 -DRIVER.SYSTEM.VAR.CCM_MENU.VALUE=NONE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SIZE.VALUE=256_KB -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_BASE_ADDRESS.VALUE=0x08000000 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_3_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_PARITY_ENABLE_NEW.VALUE=0xA -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN2_RAMPARITYCHECK_ENA.VALUE=1 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_13.VALUE=1 -DRIVER.SYSTEM.VAR.POM_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_PLL1_MUL_VAL.VALUE=7700 -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_14.VALUE=1 -DRIVER.SYSTEM.VAR.CLKT_AVCLK3_SOURCE.VALUE=VCLK -DRIVER.SYSTEM.VAR.CLKT_PLL1_FREQ.VALUE=160.00 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SIZE_VALUE.VALUE=0x1F -DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_NAME.VALUE=phantomInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_NAME.VALUE=gioLowLevelInterrupt -DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_NAME.VALUE=adc1Group1Interrupt -DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_15.VALUE=1 -DRIVER.SYSTEM.VAR.RAM_STACK_UNDEF_LENGTH.VALUE=0x00000100 -DRIVER.SYSTEM.VAR.RAM_STACK_SVC_LENGTH.VALUE=0x00000100 -DRIVER.SYSTEM.VAR.CLKT_LPO_TRIM_OTP_LOC.VALUE=0xF00801B4 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_6_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_UNDEF_ENTRY.VALUE=_undef -DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN1_DP_PBISTCHECK_ENA.VALUE=0x00000004 -DRIVER.SYSTEM.VAR.ETPWM6_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.DCC_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_MAPPING.VALUE=20 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_MAPPING.VALUE=12 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_7_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_ENDIAN_LITTLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_FRAY_SP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.OS_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SIZE_VALUE.VALUE=0x15 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_MAPPING.VALUE=126 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_MAPPING.VALUE=118 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_NAME.VALUE=etpwm5Interrupt -DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PULL.VALUE=2 -DRIVER.SYSTEM.VAR.ECLK_SUSPEND.VALUE=0 -DRIVER.SYSTEM.VAR.CLKT_PLL1_SPEADING_AMOUNT.VALUE=61 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_5_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.CORE_VFP_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.SAFETY_INIT_VIM1_DP_PBISTCHECK_ENA.VALUE=0x00000200 -DRIVER.SYSTEM.VAR.SAFETY_INIT_FMCBUS2_SELFCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.ECAP1_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.I2C_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.AJSM_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.ECLK_OSCILLATOR_FREQ.VALUE=16.000 -DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_TRIM.VALUE=100.00 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_MAPPING.VALUE=9 -DRIVER.SYSTEM.VAR.CLKT_VCLK4_DOMAIN_ENABLE.VALUE=FALSE -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_0_DISABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_INT_PRAGMA_ENABLE.VALUE=1 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_INT_ENABLE.VALUE=0 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_TYPE.VALUE=IRQ -DRIVER.SYSTEM.VAR.SAFETY_INIT_VIM2_RAMPARITYCHECK_ENA.VALUE=0 -DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI2_DP_PBISTCHECK_ENA.VALUE=0x00000000 -DRIVER.SYSTEM.VAR.CLKT_CRYSTAL_FREQ.VALUE=16.0 -DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_TYPE_VALUE.VALUE=0x0008 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_MAPPING.VALUE=111 -DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_MAPPING.VALUE=103 -DRIVER.SYSTEM.VAR.VIM_PHANTOM_NAME.VALUE=phantomInterrupt -DRIVER.OS.VAR.OS_USERECERSIVEMUTEXES.VALUE=0 -DRIVER.OS.VAR.OS_USETIMERS.VALUE=0 -DRIVER.OS.VAR.OS_USECNTSEMAPHORE.VALUE=0 -DRIVER.OS.VAR.OS_GENERATERUNTIMESTATS.VALUE=0 -DRIVER.OS.VAR.OS_USEMPU.VALUE=0 -DRIVER.OS.VAR.OS_TOTALHEAPSIZE.VALUE=8192 -DRIVER.OS.VAR.OS_USEVERBOSESTACK.VALUE=2 -DRIVER.OS.VAR.OS_TIMERPRIORITY.VALUE=0 -DRIVER.OS.VAR.OS_SVCENABLE.VALUE=0 -DRIVER.OS.VAR.OS_MAXTASKNAMELEN.VALUE=16 -DRIVER.OS.VAR.OS_MAXPRIORITIES.VALUE=5 -DRIVER.OS.VAR.OS_TIMERTASKSTACKDEPTH.VALUE=0 -DRIVER.OS.VAR.OS_COROUTINEPRIORITIES.VALUE=2 -DRIVER.OS.VAR.OS_USECOROUTINES.VALUE=0 -DRIVER.OS.VAR.OS_USEMUTEXES.VALUE=0 -DRIVER.OS.VAR.OS_CPUCLOCKHZ.VALUE=80000000 -DRIVER.OS.VAR.OS_USEMALLOCFAILEDHOOK.VALUE=0 -DRIVER.OS.VAR.OS_MINSTACKSIZE.VALUE=128 -DRIVER.OS.VAR.OS_SYSTEM_MODE.VALUE=0x1F -DRIVER.OS.VAR.OS_USEPREEMPTION.VALUE=1 -DRIVER.OS.VAR.OS_IDLESHOULDYIELD.VALUE=1 -DRIVER.OS.VAR.OS_USEIDLEHOOK.VALUE=0 -DRIVER.OS.VAR.OS_TICKRATEHZ.VALUE=1000 -DRIVER.OS.VAR.OS_TIMERPQUEUELENGTH.VALUE=0 -DRIVER.OS.VAR.OS_USETRACE.VALUE=0 -DRIVER.OS.VAR.OS_USESTACK.VALUE=0 -DRIVER.OS.VAR.OS_USETICKHOOK.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL0_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL21_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL13_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL63_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL55_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL47_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL39_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL3_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL41_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL33_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL25_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL17_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL9_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL50_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL42_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL34_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL26_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL18_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL57_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL49_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL2_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL11_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL50_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL42_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL34_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL26_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL18_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL8_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL5_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL11_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL63_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL55_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL47_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL39_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL11_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL62_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL54_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL46_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL38_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL1_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL7_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL40_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL32_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL24_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL16_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL63_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL55_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL47_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL39_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL0_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL40_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL32_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL24_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL16_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL40_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL32_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL24_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL16_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL10_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL6_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL4_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL61_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL53_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL45_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL37_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL29_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL59_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL61_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL53_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL45_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL37_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL29_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL5_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL61_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL53_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL45_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL37_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL29_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL58_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_LOW_TIME.VALUE=204.800 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL30_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL22_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL14_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL31_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL23_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL15_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL9_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL30_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL22_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL14_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL4_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL3_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL51_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL43_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL35_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL27_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL19_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL58_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL58_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL3_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL9_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL51_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL43_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL35_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL27_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL19_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL60_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL52_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL44_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL36_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL28_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL20_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL12_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL56_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL48_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_VCLK_FREQ.VALUE=80 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL30_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL22_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL14_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL8_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL20_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL12_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL2_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL2_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL8_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL56_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL48_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL1_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL41_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL33_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL25_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL17_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL57_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL49_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL41_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL33_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL25_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL17_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL10_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL7_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL51_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL43_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL35_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL27_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL19_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL62_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL54_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL46_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL38_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL21_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL13_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL7_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL10_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL6_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL59_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL0_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL1_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL62_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL54_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL46_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL38_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL31_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL23_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL15_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL31_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL23_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL15_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL56_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL48_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL5_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL50_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL42_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL34_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL26_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL18_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL60_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL52_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL44_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL36_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL28_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL20_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL12_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL6_INT_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL59_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL4_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL60_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL52_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL44_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL36_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL28_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_LPC.VALUE=16384 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL21_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL13_ENABLE.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL57_INT_LEVEL.VALUE=0 -DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL49_INT_LEVEL.VALUE=0 -DRIVER.RTI.VAR.RTI_1_COMPARE_2_SOURCE.VALUE=0x00000100 -DRIVER.RTI.VAR.RTI_1_COMPARE_3_FREQ.VALUE=0.000100000 -DRIVER.RTI.VAR.RTI_1_FREQ.VALUE=80.000 -DRIVER.RTI.VAR.RTI_1_COMPARE_1_ACTUALTIME.VALUE=5.000 -DRIVER.RTI.VAR.RTI_1_COUNTER_1_UC_COMPARE.VALUE=7 -DRIVER.RTI.VAR.RTI_1_COMPARE_1_TIME.VALUE=5.000 -DRIVER.RTI.VAR.RTI_1_COMPARE_3_UPDATE.VALUE=100000 -DRIVER.RTI.VAR.RTI_1_CONTINUE_ON_SUSPEND_ENABLE.VALUE=0x00000000 -DRIVER.RTI.VAR.RTI_1_COMPARE_1_INPUT_FREQ.VALUE=10.000000000 -DRIVER.RTI.VAR.RTI_1_COMPARE_0_SOURCE.VALUE=0x00000000 -DRIVER.RTI.VAR.RTI_1_COMPARE_2_TIME.VALUE=8.000 -DRIVER.RTI.VAR.RTI_1_COMPARE_0_ACTUALTIME.VALUE=1.000 -DRIVER.RTI.VAR.RTI_1_COUNTER_0_UC_COMPARE.VALUE=7 -DRIVER.RTI.VAR.RTI_1_COMPARE_1_UPDATE.VALUE=50000 -DRIVER.RTI.VAR.RTI_1_COMPARE_3_TIME.VALUE=10.000 -DRIVER.RTI.VAR.RTI_1_COUNTER_0_NTU_SOURCE.VALUE=0 -DRIVER.RTI.VAR.RTI_1_COMPARE_0_INPUT_FREQ.VALUE=10.000000000 -DRIVER.RTI.VAR.RTI_1_COUNTER_0_RTI_FREQ.VALUE=0.0 -DRIVER.RTI.VAR.RTI_1_COUNTER_0_FREQ.VALUE=10.000000000 -DRIVER.RTI.VAR.RTI_1_COUNTER_1_FREQUENCY.VALUE=10.000 -DRIVER.RTI.VAR.RTI_1_COMPARE_3_SOURCE.VALUE=0x00001000 -DRIVER.RTI.VAR.RTI_1_COUNTER_1_FREQ.VALUE=10.000000000 -DRIVER.RTI.VAR.RTI_1_COUNTER_0_NTU_SOURCE_REG.VALUE=0x0 -DRIVER.RTI.VAR.RTI_1_COMPARE_1_SOURCE.VALUE=0x00000000 -DRIVER.RTI.VAR.RTI_1_NTU_1_FREQ.VALUE=0.0 -DRIVER.RTI.VAR.RTI_1_COMPARE_3_ACTUALTIME.VALUE=10.000 -DRIVER.RTI.VAR.RTI_1_COMPARE_0_FREQ.VALUE=0.001000000 -DRIVER.RTI.VAR.RTI_1_COMPARE_2_UPDATE.VALUE=80000 -DRIVER.RTI.VAR.RTI_1_BASE.VALUE=0xFFFFFC00 -DRIVER.RTI.VAR.RTI_1_NTU_2_FREQ.VALUE=0.0 -DRIVER.RTI.VAR.RTI_1_COMPARE_3_INPUT_FREQ.VALUE=10.000000000 -DRIVER.RTI.VAR.RTI_1_COMPARE_1_FREQ.VALUE=0.000200000 -DRIVER.RTI.VAR.RTI_1_COUNTER_0_CAPTURE_SOURCE_ENABLE.VALUE=0 -DRIVER.RTI.VAR.RTI_1_COUNTER_1_CAPTURE_SOURCE_ENABLE.VALUE=0 -DRIVER.RTI.VAR.RTI_1_COMPARE_0_UPDATE.VALUE=10000 -DRIVER.RTI.VAR.RTI_1_NTU_3_FREQ.VALUE=160.000 -DRIVER.RTI.VAR.RTI_1_COMPARE_0.VALUE=10000 -DRIVER.RTI.VAR.RTI_1_COMPARE_2_ACTUALTIME.VALUE=8.000 -DRIVER.RTI.VAR.RTI_1_COMPARE_1.VALUE=50000 -DRIVER.RTI.VAR.RTI_1_COMPARE_2.VALUE=80000 -DRIVER.RTI.VAR.RTI_1_COMPARE_3.VALUE=100000 -DRIVER.RTI.VAR.RTI_1_COUNTER_0_NTU_FREQ.VALUE=0.000 -DRIVER.RTI.VAR.RTI_1_COMPARE_2_FREQ.VALUE=0.000125000 -DRIVER.RTI.VAR.RTI_1_COMPARE_0_TIME.VALUE=1.000 -DRIVER.RTI.VAR.RTI_1_NTU_4_FREQ.VALUE=0.000 -DRIVER.RTI.VAR.RTI_1_COMPARE_2_INPUT_FREQ.VALUE=10.000000000 -DRIVER.RTI.VAR.RTI_1_COUNTER_0_FREQUENCY.VALUE=10.000 -DRIVER.GIO.VAR.GIO_PORT1_BIT4_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT0_BIT5_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT4_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT7_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT7_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT3_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT3_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT4_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT3_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT5_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT7_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT3_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT5_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT0_BIT7_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT4_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT5_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT4_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT4_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT0_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT0_BIT3_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT5_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT5_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT5_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT6_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT3_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT7_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT0_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT1_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT0_BIT4_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT7_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT7_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT7_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT0_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT7_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT7_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT1_BIT1_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT1_BIT1_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT5_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT0_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT5_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT0_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT2_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT3_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT1_BIT1_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT1_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT6_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT2_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT2_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT0_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT0_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT0_BIT3_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT3_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT4_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT1_BIT3_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT7_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT3_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT0_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT1_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT0_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT4_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT0_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT4_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT4_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_BASE_PORTA.VALUE=0xFFF7BC34 -DRIVER.GIO.VAR.GIO_BASE_PORTB.VALUE=0xFFF7BC54 -DRIVER.GIO.VAR.GIO_PORT1_BIT1_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT2_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT1_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT1_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT1_BIT4_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT5_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT1_BIT5_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT1_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT5_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT2_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT1_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT0_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT3_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT2_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT0_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT6_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT2_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT6_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_BASE.VALUE=0xFFF7BC00 -DRIVER.GIO.VAR.GIO_PORT1_BIT3_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT1_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT4_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT3_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT2_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT0_BIT1_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT5_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT1_BIT7_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT2_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT3_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT7_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT4_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT5_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT4_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT0_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT4_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT0_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORTB_ENABLE.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT1_BIT5_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT3_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT6_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT5_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT3_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT0_BIT3_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT6_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT7_PULL.VALUE=1 -DRIVER.GIO.VAR.GIO_PORT0_BIT0_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT5_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT1_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT0_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT6_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT7_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT4_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT7_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT6_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT0_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT4_DIR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT0_PULDIS.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT1_DOUT.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT1_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT6_PSL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT2_PDR.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT1_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT7_LVL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT5_ENA.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT1_BIT7_POL.VALUE=0 -DRIVER.GIO.VAR.GIO_PORT0_BIT1_PSL.VALUE=0 -DRIVER.SCI.VAR.SCILIN_TIMMINGMODE.VALUE=1 -DRIVER.SCI.VAR.SCILIN_PORT_BIT0_DIR.VALUE=0 -DRIVER.SCI.VAR.SCI_TIMMINGMODE.VALUE=1 -DRIVER.SCI.VAR.SCILIN_WAKEINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PEINTENA.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT2_PULL.VALUE=2 -DRIVER.SCI.VAR.SCILIN_PORT_BIT1_DIR.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT0_DIR.VALUE=0 -DRIVER.SCI.VAR.SCI_ACTUALBAUDRATE.VALUE=9597 -DRIVER.SCI.VAR.SCI_EVENPARITY.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT0_FUN.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT2_DIR.VALUE=0 -DRIVER.SCI.VAR.SCILIN_RXINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT1_DIR.VALUE=0 -DRIVER.SCI.VAR.SCI_BASE_PORT.VALUE=0xFFF7E540 -DRIVER.SCI.VAR.SCILIN_PRESCALE.VALUE=520 -DRIVER.SCI.VAR.SCILIN_PORT_BIT0_PDR.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT1_FUN.VALUE=1 -DRIVER.SCI.VAR.SCI_PORT_BIT0_FUN.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT2_DIR.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT1_PDR.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT0_PDR.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT2_FUN.VALUE=1 -DRIVER.SCI.VAR.SCILIN_PEINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT1_FUN.VALUE=1 -DRIVER.SCI.VAR.SCILIN_PORT_BIT0_PSL.VALUE=1 -DRIVER.SCI.VAR.SCI_OEINTENA.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT2_PDR.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT1_PDR.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT2_FUN.VALUE=1 -DRIVER.SCI.VAR.SCILIN_PORT_BIT1_PSL.VALUE=1 -DRIVER.SCI.VAR.SCI_PORT_BIT0_PSL.VALUE=1 -DRIVER.SCI.VAR.SCI_PORT_BIT2_PDR.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT2_PSL.VALUE=1 -DRIVER.SCI.VAR.SCI_PORT_BIT1_PSL.VALUE=1 -DRIVER.SCI.VAR.SCILIN_BREAKINTENA.VALUE=0 -DRIVER.SCI.VAR.SCI_WAKEINTENA.VALUE=0 -DRIVER.SCI.VAR.SCI_BREAKINTENA.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT2_PSL.VALUE=1 -DRIVER.SCI.VAR.SCILIN_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.SCI.VAR.SCI_FEINTENA.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT0_DOUT.VALUE=0 -DRIVER.SCI.VAR.SCI_OEINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCI_TXINTENA.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PARITYENA.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT1_DOUT.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT0_DOUT.VALUE=0 -DRIVER.SCI.VAR.SCI_BAUDRATE.VALUE=9600 -DRIVER.SCI.VAR.SCILIN_BREAKINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCI_WAKEINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.SCI.VAR.SCI_BREAKINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCI_STOPBITS.VALUE=2 -DRIVER.SCI.VAR.SCI_RXINTENA.VALUE=0 -DRIVER.SCI.VAR.SCI_FEINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCILIN_EVENPARITY.VALUE=0 -DRIVER.SCI.VAR.SCI_TXINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCILIN_OEINTENA.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT2_DOUT.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT1_DOUT.VALUE=0 -DRIVER.SCI.VAR.SCI_PEINTENA.VALUE=0 -DRIVER.SCI.VAR.SCI_CLKMODE.VALUE=1 -DRIVER.SCI.VAR.SCI_PARITYENA.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT0_PULL.VALUE=2 -DRIVER.SCI.VAR.SCI_PORT_BIT2_DOUT.VALUE=0 -DRIVER.SCI.VAR.SCILIN_BASE.VALUE=0xFFF7E400 -DRIVER.SCI.VAR.SCI_RXINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCILIN_FEINTENA.VALUE=0 -DRIVER.SCI.VAR.SCI_PRESCALE.VALUE=520 -DRIVER.SCI.VAR.SCILIN_OEINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCILIN_TXINTENA.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.SCI.VAR.SCILIN_PORT_BIT1_PULL.VALUE=2 -DRIVER.SCI.VAR.SCI_PORT_BIT0_PULL.VALUE=2 -DRIVER.SCI.VAR.SCI_PEINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCILIN_WAKEINTENA.VALUE=0 -DRIVER.SCI.VAR.SCI_LENGTH.VALUE=8 -DRIVER.SCI.VAR.SCILIN_CLKMODE.VALUE=1 -DRIVER.SCI.VAR.SCILIN_BASE_PORT.VALUE=0xFFF7E440 -DRIVER.SCI.VAR.SCILIN_BAUDRATE.VALUE=9600 -DRIVER.SCI.VAR.SCILIN_STOPBITS.VALUE=2 -DRIVER.SCI.VAR.SCILIN_PORT_BIT2_PULL.VALUE=2 -DRIVER.SCI.VAR.SCI_PORT_BIT1_PULL.VALUE=2 -DRIVER.SCI.VAR.SCILIN_RXINTENA.VALUE=0 -DRIVER.SCI.VAR.SCILIN_LENGTH.VALUE=8 -DRIVER.SCI.VAR.SCILIN_FEINTLVL.VALUE=0 -DRIVER.SCI.VAR.SCILIN_ACTUALBAUDRATE.VALUE=9597 -DRIVER.SCI.VAR.SCILIN_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.SCI.VAR.SCI_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.SCI.VAR.SCI_BASE.VALUE=0xFFF7E500 -DRIVER.SCI.VAR.SCILIN_TXINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_BITERRENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_CLKMOD.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PHASE0.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI1_PHASE1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PHASE2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI1_PHASE3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_CSNR.VALUE=CS_2 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_C2TDELAYACTUAL.VALUE=37.500 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TIMEOUTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_CSHOLD.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE0.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE1.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE2.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_LENGTH.VALUE=3 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE3.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_C2EDELAYACTUAL.VALUE=0.000 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_CSNR.VALUE=CS_5 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_T2CDELAYACTUAL.VALUE=12.500 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PARERRENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_OVRNINTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_CSNR.VALUE=CS_3 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_C2TDELAY.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_RXINTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_DEYSNCENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_BASE.VALUE=0xFFF7FC00 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_DEYSNCLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_CSNR.VALUE=CS_5 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI1_TXINTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE0.VALUE=255 -DRIVER.MIBSPI.VAR.MIBSPI1_CLKMOD.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE1.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TXINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE2.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TIMEOUTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE3.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE0.VALUE=312.500 -DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE1.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_DLENERRLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE2.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_BITERRENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE3.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_T2EDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_BITERRLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_T2CDELAYACTUAL.VALUE=12.500 -DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_ENABLEHIGHZ.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_CSNR.VALUE=CS_4 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_CSNR.VALUE=CS_6 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_BASE_PORT.VALUE=0xFFF7FC18 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PARERRENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PARERRLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_OVRNINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_DEYSNCENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_RXINTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_T2EDELAYACTUAL.VALUE=0.000 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI5_RXINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_DEYSNCLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_CSNR.VALUE=CS_1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE0.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_CSNR.VALUE=CS_7 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE1.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE2.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TXINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE3.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI1_DLENERRENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_C2EDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TIMEOUTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_BITERRENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_BITERRLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_CSNR.VALUE=CS_1 -DRIVER.MIBSPI.VAR.MIBSPI5_T2CDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_LENGTH.VALUE=8 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_BASE_RAM.VALUE=0xFF0A0000 -DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN0.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI3_CSDEF.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN1.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN2.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSNR.VALUE=CS_2 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN3.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_BASE_PORT.VALUE=0xFFF7F818 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_CSNR.VALUE=CS_4 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI1_PARERRENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_OVRNINTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PARERRLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_DEYSNCLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_RXINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_C2TDELAYACTUAL.VALUE=25.000 -DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE0.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSNR.VALUE=CS_3 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE1.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE2.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE3.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI3_TIMEOUTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_ENABLEHIGHZ.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_C2EDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_DLENERRLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSNR.VALUE=CS_5 -DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_C2TDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_BITERRLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_C2EDELAYACTUAL.VALUE=0.000 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSNR.VALUE=CS_7 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI1_T2CDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_TXINTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI1_BASE_RAM.VALUE=0xFF0E0000 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN0.VALUE=8 -DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN1.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN2.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN3.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_BASE_PORT.VALUE=0xFFF7F418 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_T2EDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSNR.VALUE=CS_0 -DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSNR.VALUE=CS_6 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI5_MASTER.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_C2EDELAYACTUAL.VALUE=0.000 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PARERRLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_OVRNINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_DLENERRENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_T2CDELAYACTUAL.VALUE=12.500 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE0.VALUE=200 -DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE1.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE2.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE3.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TIMEOUTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_CSNR.VALUE=CS_1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_BASE.VALUE=0xFFF7F400 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_CSHOLD.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI3_RXINTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PHASE0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PHASE1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PHASE2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_PHASE3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSNR.VALUE=CS_3 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_LENGTH.VALUE=8 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_TXINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_ENABLE.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_T2EDELAYACTUAL.VALUE=0.000 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_OVRNINTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_T2EDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_MASTER.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_CSNR.VALUE=CS_2 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE0.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE1.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE2.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE3.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI3_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_CSNR.VALUE=CS_4 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_DLENERRLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_CSDEF.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_CSNR.VALUE=CS_6 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_T2EDELAYACTUAL.VALUE=0.000 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI1_TIMEOUTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG1_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_CLKMOD.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_DOUT.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PHASE0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI3_PHASE1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PHASE2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI3_PHASE3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG4_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG6_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_RXINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_ENABLEHIGHZ.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG5_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_CSNR.VALUE=CS_5 -DRIVER.MIBSPI.VAR.MIBSPI3_BASE.VALUE=0xFFF7F800 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_MASTER.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG0_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG4_TRGSRC.VALUE=TRG_DISABLED -DRIVER.MIBSPI.VAR.MIBSPI3_C2EDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_TG2_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_LOCK.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_ONESHOT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_C2TDELAYACTUAL.VALUE=25.000 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_CSNR.VALUE=CS_7 -DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_C2TDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_LENGTH.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_OVRNINTLVL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_MODE.VALUE=4 -DRIVER.MIBSPI.VAR.MIBSPI5_DEYSNCENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_FUN.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_FUN.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_DIR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PSL.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_T2CDELAY.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG2_TRGEVT.VALUE=TRG_ALWAYS -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI1_CSDEF.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_CS_ENCODE.VALUE=0xFF -DRIVER.MIBSPI.VAR.MIBSPI5_TG7_USE_CS_ENCODE.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TXINTENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PULDIS.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_WDEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE0.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI3_TG6_PRST.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE0.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_DOUT.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE1.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE1.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI3_BASE_RAM.VALUE=0xFF0C0000 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PULL.VALUE=2 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE2.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL0.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_DIR.VALUE=1 -DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_CSHOLD.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE2.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN0.VALUE=14 -DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE3.VALUE=1000.000 -DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL1.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE3.VALUE=79 -DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN1.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI3_DLENERRENA.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL2.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PDR.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_DFSEL.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSNR.VALUE=CS_0 -DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN2.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL3.VALUE=0 -DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN3.VALUE=16 -DRIVER.MIBSPI.VAR.MIBSPI1_TG1_TRGSRC.VALUE=TRG_DISABLED -DRIVER.SPI.VAR.SPI5_PORT_BIT26_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT18_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI3_PHASE2.VALUE=0 -DRIVER.SPI.VAR.SPI2_TIMEOUTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT1_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_PORT_BIT25_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT17_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI3_PHASE3.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_T2CDELAYACTUAL.VALUE=12.500 -DRIVER.SPI.VAR.SPI4_POLARITY0.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT1_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT4_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI4_POLARITY1.VALUE=0 -DRIVER.SPI.VAR.SPI2_T2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT2_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_PORT_BIT9_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI4_POLARITY2.VALUE=0 -DRIVER.SPI.VAR.SPI2_BITERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI1_SHIFTDIR0.VALUE=0 -DRIVER.SPI.VAR.SPI1_RXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_DEYSNCENA.VALUE=0 -DRIVER.SPI.VAR.SPI4_POLARITY3.VALUE=0 -DRIVER.SPI.VAR.SPI1_SHIFTDIR1.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT10_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT2_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT4_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_SHIFTDIR2.VALUE=0 -DRIVER.SPI.VAR.SPI1_SHIFTDIR3.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT2_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT10_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_PORT_BIT8_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT0_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT0_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT25_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT17_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT11_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_PORT_BIT4_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT11_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT25_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT17_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT9_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_PRESCALE0.VALUE=79 -DRIVER.SPI.VAR.SPI3_PRESCALE1.VALUE=79 -DRIVER.SPI.VAR.SPI1_C2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT27_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT19_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT0_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI3_PRESCALE2.VALUE=79 -DRIVER.SPI.VAR.SPI1_MASTER.VALUE=1 -DRIVER.SPI.VAR.SPI3_PRESCALE3.VALUE=79 -DRIVER.SPI.VAR.SPI3_PORT_BIT2_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_C2TDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI2_BASE_PORT.VALUE=0xFFF7F618 -DRIVER.SPI.VAR.SPI5_BITERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI4_OVRNINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT25_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT17_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_C2TDELAYACTUAL.VALUE=25.000 -DRIVER.SPI.VAR.SPI4_PORT_BIT10_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT8_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI4_WAITENA0.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT11_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT5_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI4_WAITENA1.VALUE=0 -DRIVER.SPI.VAR.SPI5_OVRNINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI4_WAITENA2.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT3_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT9_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_PORT_BIT9_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI4_WAITENA3.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT1_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_T2CDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT26_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT18_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT5_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI3_TXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT10_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_BASE_RAM.VALUE=0xFF0E0000 -DRIVER.SPI.VAR.SPI5_PORT_BIT1_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT2_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_CHARLEN0.VALUE=16 -DRIVER.SPI.VAR.SPI1_CHARLEN1.VALUE=16 -DRIVER.SPI.VAR.SPI4_PORT_BIT8_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT3_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT5_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI1_CHARLEN2.VALUE=16 -DRIVER.SPI.VAR.SPI1_CHARLEN3.VALUE=16 -DRIVER.SPI.VAR.SPI5_PORT_BIT3_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_PORT_BIT10_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT0_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI2_PARERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT8_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI3_DLENERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT26_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT18_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT9_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI4_PARITYENA0.VALUE=0 -DRIVER.SPI.VAR.SPI4_ENABLEHIGHZ.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT3_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI5_T2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI4_PARITYENA1.VALUE=0 -DRIVER.SPI.VAR.SPI4_PARITYENA2.VALUE=0 -DRIVER.SPI.VAR.SPI4_DLENERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI4_RXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT4_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT25_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT17_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT11_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_PORT_BIT3_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_PARITYENA3.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT2_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT1_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI3_CLKMOD.VALUE=1 -DRIVER.SPI.VAR.SPI1_PHASE0.VALUE=0 -DRIVER.SPI.VAR.SPI1_PHASE1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT27_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT19_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT0_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_PHASE2.VALUE=0 -DRIVER.SPI.VAR.SPI1_PHASE3.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT25_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT17_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT11_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI2_BAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI1_PORT_BIT8_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI2_BAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_PORT_BIT2_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI2_BAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_BAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_WDELAY0.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT4_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT10_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT25_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT17_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_C2TDELAYACTUAL.VALUE=25.000 -DRIVER.SPI.VAR.SPI1_ENABLEHIGHZ.VALUE=0 -DRIVER.SPI.VAR.SPI5_WDELAY1.VALUE=0 -DRIVER.SPI.VAR.SPI4_C2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_WDELAY2.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT11_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT9_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_TIMEOUTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI5_WDELAY3.VALUE=0 -DRIVER.SPI.VAR.SPI5_PARERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI4_RAM_PARITY_ENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT5_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT27_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT19_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT0_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT11_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI2_POLARITY0.VALUE=0 -DRIVER.SPI.VAR.SPI2_POLARITY1.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT5_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI2_POLARITY2.VALUE=0 -DRIVER.SPI.VAR.SPI3_DEYSNCENA.VALUE=0 -DRIVER.SPI.VAR.SPI2_POLARITY3.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT3_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT1_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_DEYSNCLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT8_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT26_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT18_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI2_T2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI1_PORT_BIT9_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI4_T2CDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT3_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT10_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT0_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT3_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_PORT_BIT9_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT5_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_C2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI1_PRESCALE0.VALUE=79 -DRIVER.SPI.VAR.SPI4_BASE_RAM.VALUE=0xFF0E0000 -DRIVER.SPI.VAR.SPI1_PRESCALE1.VALUE=79 -DRIVER.SPI.VAR.SPI4_CHARLEN0.VALUE=16 -DRIVER.SPI.VAR.SPI2_PORT_BIT1_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_PRESCALE2.VALUE=79 -DRIVER.SPI.VAR.SPI4_CHARLEN1.VALUE=16 -DRIVER.SPI.VAR.SPI1_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_PRESCALE3.VALUE=79 -DRIVER.SPI.VAR.SPI5_PORT_BIT1_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_T2CDELAYACTUAL.VALUE=12.500 -DRIVER.SPI.VAR.SPI4_CHARLEN2.VALUE=16 -DRIVER.SPI.VAR.SPI1_PORT_BIT8_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI4_CHARLEN3.VALUE=16 -DRIVER.SPI.VAR.SPI1_BASE.VALUE=0xFFF7F400 -DRIVER.SPI.VAR.SPI3_BITERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_OVRNINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_RXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI3_PORT_BIT10_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT4_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT2_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT25_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT17_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_PORT_BIT2_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_PARPOL0.VALUE=0 -DRIVER.SPI.VAR.SPI5_BITERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI4_SHIFTDIR0.VALUE=0 -DRIVER.SPI.VAR.SPI4_OVRNINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT8_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_PARPOL1.VALUE=0 -DRIVER.SPI.VAR.SPI4_SHIFTDIR1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT27_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT19_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT0_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_PARPOL2.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT0_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI4_SHIFTDIR2.VALUE=0 -DRIVER.SPI.VAR.SPI5_PARPOL3.VALUE=0 -DRIVER.SPI.VAR.SPI4_SHIFTDIR3.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT11_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT1_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT25_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT17_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT11_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI3_TXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT2_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT9_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_CLKMOD.VALUE=1 -DRIVER.SPI.VAR.SPI5_TIMEOUTENA.VALUE=0 -DRIVER.SPI.VAR.SPI2_DLENERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT11_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT5_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_PARITYENA0.VALUE=0 -DRIVER.SPI.VAR.SPI3_PARITYENA1.VALUE=0 -DRIVER.SPI.VAR.SPI1_T2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT3_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_BASE_PORT.VALUE=0xFFF7FC18 -DRIVER.SPI.VAR.SPI3_PORT_BIT9_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_PORT_BIT9_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI3_PARITYENA2.VALUE=0 -DRIVER.SPI.VAR.SPI3_DLENERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT0_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI3_PARITYENA3.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT1_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI4_WDELAY0.VALUE=0 -DRIVER.SPI.VAR.SPI4_WDELAY1.VALUE=0 -DRIVER.SPI.VAR.SPI4_WDELAY2.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT2_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT4_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_WDELAY3.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT3_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT10_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_T2CDELAYACTUAL.VALUE=12.500 -DRIVER.SPI.VAR.SPI4_MASTER.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT2_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_PORT_BIT8_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT3_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_PORT_BIT0_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_BASE.VALUE=0xFFF7F600 -DRIVER.SPI.VAR.SPI4_PORT_BIT10_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT8_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT0_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI3_PARERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT3_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI2_C2TDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_PARERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT1_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI4_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT5_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_DEYSNCENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT2_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_WAITENA0.VALUE=0 -DRIVER.SPI.VAR.SPI3_WAITENA1.VALUE=0 -DRIVER.SPI.VAR.SPI3_WAITENA2.VALUE=0 -DRIVER.SPI.VAR.SPI3_DEYSNCLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT3_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI3_WAITENA3.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT26_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT18_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT11_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT8_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT10_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI2_TXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_BAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_PORT_BIT1_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI2_C2TDELAYACTUAL.VALUE=25.000 -DRIVER.SPI.VAR.SPI5_BAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_BAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI4_PORT_BIT11_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI4_PARPOL0.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT9_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_BAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_RAM_PARITY_ENA.VALUE=0 -DRIVER.SPI.VAR.SPI4_PARPOL1.VALUE=0 -DRIVER.SPI.VAR.SPI4_PARPOL2.VALUE=0 -DRIVER.SPI.VAR.SPI4_PARPOL3.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT2_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT3_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI2_OVRNINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI1_BITERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT3_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_POLARITY0.VALUE=0 -DRIVER.SPI.VAR.SPI4_PHASE0.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT0_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_POLARITY1.VALUE=0 -DRIVER.SPI.VAR.SPI4_T2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI4_PHASE1.VALUE=0 -DRIVER.SPI.VAR.SPI5_POLARITY2.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT8_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_PHASE2.VALUE=0 -DRIVER.SPI.VAR.SPI3_BITERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_OVRNINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_RXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_SHIFTDIR0.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT5_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_PORT_BIT26_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT18_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_POLARITY3.VALUE=0 -DRIVER.SPI.VAR.SPI4_PHASE3.VALUE=0 -DRIVER.SPI.VAR.SPI2_SHIFTDIR1.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT9_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_T2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI2_SHIFTDIR2.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT8_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_SHIFTDIR3.VALUE=0 -DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI4_PORT_BIT10_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI4_PORT_BIT0_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT3_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_PORT_BIT9_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI4_C2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI2_PORT_BIT2_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_BASE.VALUE=0xFFF7F800 -DRIVER.SPI.VAR.SPI3_PORT_BIT1_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_PRESCALE0.VALUE=79 -DRIVER.SPI.VAR.SPI3_PORT_BIT8_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT4_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI3_WDELAY0.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT25_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT17_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI4_PRESCALE1.VALUE=79 -DRIVER.SPI.VAR.SPI3_C2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI3_WDELAY1.VALUE=0 -DRIVER.SPI.VAR.SPI4_PRESCALE2.VALUE=79 -DRIVER.SPI.VAR.SPI3_WDELAY2.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT3_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI4_PRESCALE3.VALUE=79 -DRIVER.SPI.VAR.SPI4_TIMEOUTENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI3_WDELAY3.VALUE=0 -DRIVER.SPI.VAR.SPI1_DLENERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT10_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_ENABLEHIGHZ.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT1_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI2_PARITYENA0.VALUE=0 -DRIVER.SPI.VAR.SPI5_C2TDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI2_PARITYENA1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT8_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI5_TIMEOUTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_BASE_PORT.VALUE=0xFFF7F818 -DRIVER.SPI.VAR.SPI2_PORT_BIT10_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI2_PARITYENA2.VALUE=0 -DRIVER.SPI.VAR.SPI2_DLENERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_MASTER.VALUE=1 -DRIVER.SPI.VAR.SPI2_PARITYENA3.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT27_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT19_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT0_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI4_PORT_BIT11_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI4_PORT_BIT11_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_RAM_PARITY_ENA.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT3_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_T2CDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_TXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT3_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT9_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_BASE_RAM.VALUE=0xFF0C0000 -DRIVER.SPI.VAR.SPI3_CHARLEN0.VALUE=16 -DRIVER.SPI.VAR.SPI3_CHARLEN1.VALUE=16 -DRIVER.SPI.VAR.SPI1_PARERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT10_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT11_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_CHARLEN2.VALUE=16 -DRIVER.SPI.VAR.SPI2_PORT_BIT2_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_CHARLEN3.VALUE=16 -DRIVER.SPI.VAR.SPI5_PORT_BIT9_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI4_PORT_BIT9_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_PORT_BIT0_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI3_PARERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_RXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT9_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI3_PARPOL0.VALUE=0 -DRIVER.SPI.VAR.SPI1_DEYSNCLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_PARPOL1.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT10_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_PARPOL2.VALUE=0 -DRIVER.SPI.VAR.SPI2_T2CDELAYACTUAL.VALUE=12.500 -DRIVER.SPI.VAR.SPI4_BASE.VALUE=0xFFF7FA00 -DRIVER.SPI.VAR.SPI3_PARPOL3.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT2_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI2_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT0_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI4_CLKMOD.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT5_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI3_BAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_PHASE0.VALUE=0 -DRIVER.SPI.VAR.SPI3_BAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_PHASE1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT10_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT8_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI4_PORT_BIT0_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_BAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_PHASE2.VALUE=0 -DRIVER.SPI.VAR.SPI2_TXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_BAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI2_PHASE3.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT3_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT0_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT25_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_PORT_BIT17_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI2_PORT_BIT11_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_OVRNINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT1_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI3_POLARITY0.VALUE=0 -DRIVER.SPI.VAR.SPI3_POLARITY1.VALUE=0 -DRIVER.SPI.VAR.SPI3_POLARITY2.VALUE=0 -DRIVER.SPI.VAR.SPI2_OVRNINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT0_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI1_BITERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI4_DEYSNCENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_POLARITY3.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT8_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT11_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI2_WDELAY0.VALUE=0 -DRIVER.SPI.VAR.SPI2_WDELAY1.VALUE=0 -DRIVER.SPI.VAR.SPI2_WDELAY2.VALUE=0 -DRIVER.SPI.VAR.SPI2_WDELAY3.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT10_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI3_C2TDELAYACTUAL.VALUE=25.000 -DRIVER.SPI.VAR.SPI5_PORT_BIT11_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT9_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI4_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT11_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI2_PRESCALE0.VALUE=79 -DRIVER.SPI.VAR.SPI2_PRESCALE1.VALUE=79 -DRIVER.SPI.VAR.SPI2_PORT_BIT8_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI2_PRESCALE2.VALUE=79 -DRIVER.SPI.VAR.SPI3_TIMEOUTENA.VALUE=0 -DRIVER.SPI.VAR.SPI2_PRESCALE3.VALUE=79 -DRIVER.SPI.VAR.SPI1_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT0_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_PARITYENA0.VALUE=0 -DRIVER.SPI.VAR.SPI1_C2TDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI1_PARITYENA1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT8_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_TIMEOUTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT1_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI1_PARITYENA2.VALUE=0 -DRIVER.SPI.VAR.SPI1_DLENERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI1_BASE_PORT.VALUE=0xFFF7F418 -DRIVER.SPI.VAR.SPI5_RXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI4_BITERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_PARITYENA3.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT9_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI4_T2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI2_PORT_BIT8_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI2_WAITENA0.VALUE=0 -DRIVER.SPI.VAR.SPI5_BASE.VALUE=0xFFF7FC00 -DRIVER.SPI.VAR.SPI2_WAITENA1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT10_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_SHIFTDIR0.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT3_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI2_WAITENA2.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT10_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI5_SHIFTDIR1.VALUE=0 -DRIVER.SPI.VAR.SPI2_WAITENA3.VALUE=0 -DRIVER.SPI.VAR.SPI5_C2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI5_SHIFTDIR2.VALUE=0 -DRIVER.SPI.VAR.SPI5_SHIFTDIR3.VALUE=0 -DRIVER.SPI.VAR.SPI1_TXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT8_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT1_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT26_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_PORT_BIT18_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_TXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT9_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI2_PARPOL0.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT0_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI2_PARPOL1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT10_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT2_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI2_PARPOL2.VALUE=0 -DRIVER.SPI.VAR.SPI2_PARPOL3.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT2_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI1_PARERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI2_CLKMOD.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT10_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI3_T2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT11_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI2_RXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT11_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI2_RAM_PARITY_ENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT11_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT0_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT8_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT9_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_BAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI1_BAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI1_PORT_BIT8_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_PORT_BIT1_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_BAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI3_PORT_BIT4_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT25_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT17_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_BAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI5_PORT_BIT11_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_WDELAY0.VALUE=0 -DRIVER.SPI.VAR.SPI2_C2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI1_WDELAY1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT9_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_MASTER.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT10_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT3_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI1_WDELAY2.VALUE=0 -DRIVER.SPI.VAR.SPI4_PARERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_WDELAY3.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT9_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT8_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_C2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI1_POLARITY0.VALUE=0 -DRIVER.SPI.VAR.SPI4_C2TDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI1_POLARITY1.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT4_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_PORT_BIT25_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_PORT_BIT17_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_POLARITY2.VALUE=0 -DRIVER.SPI.VAR.SPI1_OVRNINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI5_DLENERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI2_DEYSNCENA.VALUE=0 -DRIVER.SPI.VAR.SPI1_POLARITY3.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT10_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_WAITENA0.VALUE=0 -DRIVER.SPI.VAR.SPI5_ENABLEHIGHZ.VALUE=0 -DRIVER.SPI.VAR.SPI3_T2CDELAYACTUAL.VALUE=12.500 -DRIVER.SPI.VAR.SPI1_PORT_BIT1_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_WAITENA1.VALUE=0 -DRIVER.SPI.VAR.SPI5_WAITENA2.VALUE=0 -DRIVER.SPI.VAR.SPI4_DEYSNCLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT9_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_WAITENA3.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI1_PORT_BIT10_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT2_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_T2CDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT27_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_PORT_BIT19_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_PORT_BIT0_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI1_PORT_BIT2_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI4_TXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT3_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT0_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT0_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI2_BASE_RAM.VALUE=0xFF0E0000 -DRIVER.SPI.VAR.SPI2_CHARLEN0.VALUE=16 -DRIVER.SPI.VAR.SPI1_PORT_BIT11_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT4_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI2_CHARLEN1.VALUE=16 -DRIVER.SPI.VAR.SPI2_TIMEOUTENA.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT9_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI2_CHARLEN2.VALUE=16 -DRIVER.SPI.VAR.SPI2_ENABLEHIGHZ.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT11_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI2_CHARLEN3.VALUE=16 -DRIVER.SPI.VAR.SPI3_PORT_BIT0_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI3_TIMEOUTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_BITERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI1_RXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT11_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT2_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT10_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_RXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI4_BITERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_SHIFTDIR0.VALUE=0 -DRIVER.SPI.VAR.SPI1_PARPOL0.VALUE=0 -DRIVER.SPI.VAR.SPI3_SHIFTDIR1.VALUE=0 -DRIVER.SPI.VAR.SPI1_PARPOL1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PHASE0.VALUE=0 -DRIVER.SPI.VAR.SPI4_C2TDELAYACTUAL.VALUE=25.000 -DRIVER.SPI.VAR.SPI3_SHIFTDIR2.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT8_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT11_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PARPOL2.VALUE=0 -DRIVER.SPI.VAR.SPI5_PHASE1.VALUE=0 -DRIVER.SPI.VAR.SPI3_SHIFTDIR3.VALUE=0 -DRIVER.SPI.VAR.SPI1_PARPOL3.VALUE=0 -DRIVER.SPI.VAR.SPI5_PHASE2.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT9_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI1_PORT_BIT3_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT27_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT19_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_PHASE3.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT1_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI4_PORT_BIT8_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT5_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI1_TXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI5_PRESCALE0.VALUE=79 -DRIVER.SPI.VAR.SPI1_PORT_BIT10_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_C2EDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI5_PRESCALE1.VALUE=79 -DRIVER.SPI.VAR.SPI5_PRESCALE2.VALUE=79 -DRIVER.SPI.VAR.SPI3_PORT_BIT5_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_PORT_BIT1_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI5_PRESCALE3.VALUE=79 -DRIVER.SPI.VAR.SPI3_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_T2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI3_PORT_BIT8_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI1_PORT_BIT3_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI4_BASE_PORT.VALUE=0xFFF7FA18 -DRIVER.SPI.VAR.SPI2_PORT_BIT10_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI1_PORT_BIT0_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI5_OVRNINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_PORT_BIT9_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT3_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI5_PORT_BIT1_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_MASTER.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT4_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT1_DOUT.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT2_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_T2CDELAY.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT9_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT0_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_PORT_BIT11_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI5_BASE_RAM.VALUE=0xFF0A0000 -DRIVER.SPI.VAR.SPI5_CHARLEN0.VALUE=16 -DRIVER.SPI.VAR.SPI3_PORT_BIT10_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI3_PORT_BIT2_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI5_CHARLEN1.VALUE=16 -DRIVER.SPI.VAR.SPI2_PARERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT4_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI5_CHARLEN2.VALUE=16 -DRIVER.SPI.VAR.SPI1_PORT_BIT4_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI5_CHARLEN3.VALUE=16 -DRIVER.SPI.VAR.SPI5_PORT_BIT25_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT17_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI5_PORT_BIT11_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI4_PARERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI2_PORT_BIT11_DIR.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_DLENERRENA.VALUE=0 -DRIVER.SPI.VAR.SPI4_RXINTENA.VALUE=0 -DRIVER.SPI.VAR.SPI3_RAM_PARITY_ENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_PARITYENA0.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT0_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI1_WAITENA0.VALUE=0 -DRIVER.SPI.VAR.SPI5_PARITYENA1.VALUE=0 -DRIVER.SPI.VAR.SPI1_WAITENA1.VALUE=0 -DRIVER.SPI.VAR.SPI5_PARITYENA2.VALUE=0 -DRIVER.SPI.VAR.SPI5_DLENERRLVL.VALUE=0 -DRIVER.SPI.VAR.SPI4_PORT_BIT8_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI2_DEYSNCLVL.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT5_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI1_WAITENA2.VALUE=0 -DRIVER.SPI.VAR.SPI5_PARITYENA3.VALUE=0 -DRIVER.SPI.VAR.SPI1_WAITENA3.VALUE=0 -DRIVER.SPI.VAR.SPI1_PORT_BIT3_PSL.VALUE=1 -DRIVER.SPI.VAR.SPI3_PORT_BIT1_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT8_PULL.VALUE=2 -DRIVER.SPI.VAR.SPI2_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI4_BAUDRATE0.VALUE=1000.000 -DRIVER.SPI.VAR.SPI1_T2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI4_BAUDRATE1.VALUE=1000.000 -DRIVER.SPI.VAR.SPI4_BAUDRATE2.VALUE=1000.000 -DRIVER.SPI.VAR.SPI4_TXINTLVL.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT3_DIR.VALUE=1 -DRIVER.SPI.VAR.SPI2_PORT_BIT10_FUN.VALUE=1 -DRIVER.SPI.VAR.SPI4_BAUDRATE3.VALUE=1000.000 -DRIVER.SPI.VAR.SPI2_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.SPI.VAR.SPI1_TIMEOUTENA.VALUE=0 -DRIVER.SPI.VAR.SPI5_CLKMOD.VALUE=1 -DRIVER.SPI.VAR.SPI4_PORT_BIT8_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_PORT_BIT9_DOUT.VALUE=0 -DRIVER.SPI.VAR.SPI3_PHASE0.VALUE=0 -DRIVER.SPI.VAR.SPI2_C2EDELAYACTUAL.VALUE=0.000 -DRIVER.SPI.VAR.SPI1_PORT_BIT5_PDR.VALUE=0 -DRIVER.SPI.VAR.SPI3_PHASE1.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_SYNC.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_BAUDRATE.VALUE=500 -DRIVER.CAN.VAR.CAN_2_PORT_RX_PDR.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_ID.VALUE=30 -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_ID.VALUE=22 -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_ID.VALUE=14 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_ID.VALUE=9 -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_RAMBASE.VALUE=0xFF1C0000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_NOMINAL_BIT_RATE.VALUE=500.000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_PIN_MODE.VALUE=1 -DRIVER.CAN.VAR.CAN_2_PHASE_SEG.VALUE=2 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_ID.VALUE=31 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_ID.VALUE=23 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_ID.VALUE=15 -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_PORT_TX_PULDIS.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_BASE.VALUE=0xFFF7DC00 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_ID.VALUE=40 -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_ID.VALUE=32 -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_ID.VALUE=24 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_ID.VALUE=16 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PORT_TX_DIN.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PORT_RX_PSL.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_ID.VALUE=41 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_ID.VALUE=33 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_ID.VALUE=25 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_ID.VALUE=17 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_BRP_FREQ.VALUE=4.000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PORT_TX_DIR.VALUE=1 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_PROP_SEG.VALUE=3 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_ID.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_NOMINAL_BIT_RATE.VALUE=500.000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_ID.VALUE=50 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_ID.VALUE=42 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_ID.VALUE=34 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_ID.VALUE=26 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_ID.VALUE=18 -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PROPAGATION_DELAY.VALUE=700 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_ID.VALUE=2 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_NOMINAL_BIT_TIME.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_SAMPLE_POINT.VALUE=75.000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_ID.VALUE=51 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_ID.VALUE=43 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_ID.VALUE=35 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_ID.VALUE=27 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_ID.VALUE=19 -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_ID.VALUE=3 -DRIVER.CAN.VAR.CAN_2_PORT_RX_DOUT.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_BASE.VALUE=0xFFF7DE00 -DRIVER.CAN.VAR.CAN_1_RAMBASE.VALUE=0xFF1E0000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_PORT_RX_PULL.VALUE=2 -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_IDENTIFIER_MODE.VALUE=0x40000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_ID.VALUE=60 -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_ID.VALUE=52 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_ID.VALUE=44 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_ID.VALUE=36 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_ID.VALUE=28 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_ID.VALUE=4 -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_AUTO_RETRANSMISSION.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PORT_TX_FUN.VALUE=1 -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_ID.VALUE=61 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_ID.VALUE=53 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_ID.VALUE=45 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_ID.VALUE=37 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_ID.VALUE=29 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_PORT_TX_PULL.VALUE=2 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_NOMINAL_BIT_RATE.VALUE=500.000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_ID.VALUE=5 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_BRPE_FREQ.VALUE=4.000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_PORT_RX_DIN.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PORT_TX_PDR.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_ID.VALUE=62 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_ID.VALUE=54 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_ID.VALUE=46 -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_ID.VALUE=38 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_NOMINAL_BIT_TIME.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_PORT_RX_DIR.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_TQ.VALUE=250.000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_ID.VALUE=6 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_ID.VALUE=63 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_ID.VALUE=55 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_ID.VALUE=47 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_ID.VALUE=39 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_TQ.VALUE=250.000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_BRPE.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_ID.VALUE=7 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_BASE.VALUE=0xFFF7E000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_PORT_TX_PULDIS.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_ID.VALUE=64 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_ID.VALUE=56 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_ID.VALUE=48 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_PORT_TX_DOUT.VALUE=1 -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_TQ.VALUE=250.000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_ID.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_ID.VALUE=10 -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PORT_TX_PSL.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_ID.VALUE=57 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_ID.VALUE=49 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_SAMPLE_POINT_REFERENCE.VALUE=75 -DRIVER.CAN.VAR.CAN_1_PROPAGATION_DELAY.VALUE=700 -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_ID.VALUE=9 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_ID.VALUE=11 -DRIVER.CAN.VAR.CAN_1_NOMINAL_BIT_TIME.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_PORT_RX_FUN.VALUE=1 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_ENABLE.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_PIN_MODE.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_ID.VALUE=58 -DRIVER.CAN.VAR.CAN_2_SAMPLE_POINT_REFERENCE.VALUE=75 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_PORT_RX_PULDIS.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_ID.VALUE=20 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_ID.VALUE=12 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_AUTO_BUS_ON.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_ID.VALUE=59 -DRIVER.CAN.VAR.CAN_1_PORT_RX_PDR.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_SAMPLE_POINT_REFERENCE.VALUE=75 -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_SHIFT.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_BRPE.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MASK.VALUE=0x1FFFFFFF -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_ID.VALUE=21 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ID.VALUE=13 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_BRPE_FREQ.VALUE=4.000 -DRIVER.CAN.VAR.CAN_1_BRP_FREQ.VALUE=4.000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_ID.VALUE=30 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_ID.VALUE=22 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ID.VALUE=14 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_BAUDRATE.VALUE=500 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_ID.VALUE=31 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_ID.VALUE=23 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_ID.VALUE=15 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_PORT_TX_DIN.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_PORT_RX_PSL.VALUE=1 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_SAMPLE_POINT.VALUE=75.000 -DRIVER.CAN.VAR.CAN_1_PORT_TX_DIR.VALUE=1 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.CAN.VAR.CAN_3_PHASE_SEG.VALUE=2 -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_ID.VALUE=40 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_ID.VALUE=32 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_ID.VALUE=24 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_ID.VALUE=16 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_PORT_RX_DOUT.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PORT_RX_PULL.VALUE=2 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_BRPE.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MASK.VALUE=0x1FFFFFFF -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_ID.VALUE=41 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_ID.VALUE=33 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_ID.VALUE=25 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_ID.VALUE=17 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_ID.VALUE=1 -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_PORT_TX_PULDIS.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_ID.VALUE=50 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_ID.VALUE=42 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_ID.VALUE=34 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_ID.VALUE=26 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_ID.VALUE=18 -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_BRP.VALUE=19 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_PROP_SEG.VALUE=3 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_ID.VALUE=10 -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_ID.VALUE=2 -DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON_TR.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_PORT_RX_DIN.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_ID.VALUE=51 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_ID.VALUE=43 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_ID.VALUE=35 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_ID.VALUE=27 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_ID.VALUE=19 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_AUTO_BUS_ON_TIME.VALUE=0 -DRIVER.CAN.VAR.CAN_3_PORT_RX_DIR.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_PORT_TX_FUN.VALUE=1 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_ID.VALUE=11 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_ID.VALUE=3 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_ID.VALUE=60 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_ID.VALUE=52 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_ID.VALUE=44 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_ID.VALUE=36 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_ID.VALUE=28 -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_BRP.VALUE=19 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_PORT_RX_PULDIS.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_ID.VALUE=20 -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_ID.VALUE=12 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_PORT_TX_PDR.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_ID.VALUE=4 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 -DRIVER.CAN.VAR.CAN_2_SHIFT.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MASK.VALUE=0x1FFFFFFF -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PORT_TX_DOUT.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_31_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_23_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_15_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_ID.VALUE=61 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_ID.VALUE=53 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_ID.VALUE=45 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_ID.VALUE=37 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_ID.VALUE=29 -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_PORT_TX_PULL.VALUE=2 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_ID.VALUE=21 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_ID.VALUE=13 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_ID.VALUE=5 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_ID.VALUE=62 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_ID.VALUE=54 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_ID.VALUE=46 -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_ID.VALUE=38 -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_BRP.VALUE=19 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_IDENTIFIER_MODE.VALUE=0x40000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_PHASE_SEG.VALUE=2 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_ID.VALUE=30 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_ID.VALUE=22 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_ID.VALUE=14 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_ID.VALUE=6 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_AUTO_BUS_ON_TIME.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_PORT_RX_FUN.VALUE=1 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_ID.VALUE=63 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_ID.VALUE=55 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_ID.VALUE=47 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_ID.VALUE=39 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_ID.VALUE=31 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_ID.VALUE=23 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_ID.VALUE=15 -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_PORT_TX_PSL.VALUE=1 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_ID.VALUE=7 -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_PORT_RX_PDR.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_ID.VALUE=64 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_ID.VALUE=56 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_ID.VALUE=48 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_ID.VALUE=40 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_ID.VALUE=32 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_ID.VALUE=24 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_ID.VALUE=16 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_ID.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_AUTO_RETRANSMISSION.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_ID.VALUE=57 -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_ID.VALUE=49 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_AUTO_BUS_ON.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_40_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_32_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_24_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_16_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_ID.VALUE=41 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_ID.VALUE=33 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_ID.VALUE=25 -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_ID.VALUE=17 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_ID.VALUE=9 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_SJW.VALUE=2 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_BAUDRATE.VALUE=500 -DRIVER.CAN.VAR.CAN_1_MESSAGE_61_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_53_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_45_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_37_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_29_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_IDENTIFIER_MODE.VALUE=0x40000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_ID.VALUE=58 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON_TIME.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_ID.VALUE=50 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_ID.VALUE=42 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_ID.VALUE=34 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_ID.VALUE=26 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_ID.VALUE=18 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_PORT_TX_DIN.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_PIN_MODE.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_30_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_22_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_14_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_PORT_RX_PSL.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_AUTO_BUS_ON_TR.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_ID.VALUE=59 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_PORT_TX_DIR.VALUE=1 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_ID.VALUE=51 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_ID.VALUE=43 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_ID.VALUE=35 -DRIVER.CAN.VAR.CAN_3_MESSAGE_30_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_ID.VALUE=27 -DRIVER.CAN.VAR.CAN_3_MESSAGE_22_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_ID.VALUE=19 -DRIVER.CAN.VAR.CAN_3_MESSAGE_14_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_6_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_SJW.VALUE=2 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_PORT_RX_PULL.VALUE=1 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_50_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_42_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_34_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_26_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_18_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_ID.VALUE=60 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_ID.VALUE=52 -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_ID.VALUE=44 -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_ID.VALUE=36 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_ID.VALUE=28 -DRIVER.CAN.VAR.CAN_1_MESSAGE_63_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_55_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_47_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_39_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 -DRIVER.CAN.VAR.CAN_1_SYNC.VALUE=1 -DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_SHIFT.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_PORT_RX_PULDIS.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_ID.VALUE=1 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_BRP_FREQ.VALUE=4.000 -DRIVER.CAN.VAR.CAN_2_BRPE_FREQ.VALUE=4.000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PROP_SEG.VALUE=3 -DRIVER.CAN.VAR.CAN_1_MESSAGE_41_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_33_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_25_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_17_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_ID.VALUE=61 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_ID.VALUE=53 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_ID.VALUE=45 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_ID.VALUE=37 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_ID.VALUE=29 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_SJW.VALUE=2 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_3_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_ID.VALUE=2 -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_8_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_10_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_SAMPLE_POINT.VALUE=75.000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_51_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_43_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_35_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_27_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_19_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_ID.VALUE=62 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_ID.VALUE=54 -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_ID.VALUE=46 -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_ID.VALUE=38 -DRIVER.CAN.VAR.CAN_1_MESSAGE_64_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_56_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_48_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_PORT_TX_FUN.VALUE=1 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_1_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_21_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_13_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_7_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_5_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_60_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_52_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_44_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_36_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_28_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_ID.VALUE=3 -DRIVER.CAN.VAR.CAN_1_PORT_RX_DOUT.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_ID.VALUE=63 -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_ID.VALUE=55 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_ID.VALUE=47 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_ID.VALUE=39 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_RAMBASE.VALUE=0xFF1A0000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_PORT_RX_DIN.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_59_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_PORT_TX_PDR.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_ID.VALUE=4 -DRIVER.CAN.VAR.CAN_1_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_PORT_RX_DIR.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_PORT_TX_DOUT.VALUE=1 -DRIVER.CAN.VAR.CAN_3_MESSAGE_64_ID.VALUE=64 -DRIVER.CAN.VAR.CAN_3_MESSAGE_56_ID.VALUE=56 -DRIVER.CAN.VAR.CAN_3_MESSAGE_48_ID.VALUE=48 -DRIVER.CAN.VAR.CAN_3_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_57_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_49_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_SYNC.VALUE=1 -DRIVER.CAN.VAR.CAN_2_PORT_TX_PULL.VALUE=2 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_2_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_64_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_63_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_56_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_55_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_48_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_47_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_39_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_61_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_53_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_45_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_37_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_29_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_ID.VALUE=10 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_ID.VALUE=5 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_57_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_49_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_4_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_50_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_42_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_34_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_26_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_18_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_ID.VALUE=57 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_ID.VALUE=49 -DRIVER.CAN.VAR.CAN_3_MESSAGE_41_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_33_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_25_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_17_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_9_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_62_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_54_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_46_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_38_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_51_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_43_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_35_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_27_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_19_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_9_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_41_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_33_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_25_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_17_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_11_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_5_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_11_ID.VALUE=11 -DRIVER.CAN.VAR.CAN_2_MESSAGE_6_ID.VALUE=6 -DRIVER.CAN.VAR.CAN_3_PROPAGATION_DELAY.VALUE=700 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_57_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_49_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_AUTO_RETRANSMISSION.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_20_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_12_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_9_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_58_ID.VALUE=58 -DRIVER.CAN.VAR.CAN_1_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_3_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_7_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_PORT_TX_PSL.VALUE=1 -DRIVER.CAN.VAR.CAN_3_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_62_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_54_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_46_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_38_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_20_ID.VALUE=20 -DRIVER.CAN.VAR.CAN_2_MESSAGE_12_ID.VALUE=12 -DRIVER.CAN.VAR.CAN_2_MESSAGE_7_ID.VALUE=7 -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_59_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_51_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_43_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_35_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_27_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_45_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_40_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_37_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_32_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_29_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_24_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_16_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_3_MESSAGE_10_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_1_MESSAGE_8_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_MASK.VALUE=0x000007FF -DRIVER.CAN.VAR.CAN_3_MESSAGE_59_ID.VALUE=59 -DRIVER.CAN.VAR.CAN_3_MESSAGE_50_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_42_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_34_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_26_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_18_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_AUTO_BUS_ON_TR.VALUE=0 -DRIVER.CAN.VAR.CAN_2_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_4_DLC.VALUE=8 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_63_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_62_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_55_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_54_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_47_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_46_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_EOB.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_39_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_38_INT_ENA_REF.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_PORT_RX_FUN.VALUE=1 -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_21_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ENA.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_6_RTR.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 -DRIVER.CAN.VAR.CAN_2_MESSAGE_21_ID.VALUE=21 -DRIVER.CAN.VAR.CAN_2_MESSAGE_13_ID.VALUE=13 -DRIVER.CAN.VAR.CAN_2_MESSAGE_8_ID.VALUE=8 -DRIVER.ADC.VAR.ADC2_GROUP1_DISCHARGE_PRESCALER.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN21_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN13_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_ACTUAL_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC2_GROUP1_RESOLUTION.VALUE=12_BIT -DRIVER.ADC.VAR.ADC2_GROUP0_PIN3_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_PARITY_ENABLE.VALUE=0x00000005 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN17_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_ACTUAL_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC1_GROUP2_RESOLUTION.VALUE=12_BIT -DRIVER.ADC.VAR.ADC2_GROUP2_PIN7_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN10_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_RAM_PARITY_ENA.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP1_EXTENDED_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN0_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_RAM_PARITY_ENA.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN3_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000 -DRIVER.ADC.VAR.ADC1_GROUP1_FIFO_SIZE.VALUE=1 -DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_PRESCALER.VALUE=1 -DRIVER.ADC.VAR.ADC1_GROUP1_LENGTH.VALUE=16 -DRIVER.ADC.VAR.ADC2_GROUP1_ID_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_CONVERSION_TIME.VALUE=1.300 -DRIVER.ADC.VAR.ADC2_PORT_BIT0_DIR.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN4_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN11_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN7_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_ALT_TRIG.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN15_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN0_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_CONVERSION_TIME.VALUE=1.300 -DRIVER.ADC.VAR.ADC2_GROUP2_LENGTH.VALUE=32 -DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN4_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN22_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN14_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP2_SAMPLE_PRESCALER.VALUE=1 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN12_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN18_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN8_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN11_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_BND.VALUE=2 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN1_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN23_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN15_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_SAMPLE_PRESCALER.VALUE=1 -DRIVER.ADC.VAR.ADC2_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN5_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN8_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_ID_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_EXTENDED_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC1_GROUP0_CONVERSION_TIME.VALUE=1.300 -DRIVER.ADC.VAR.ADC2_GROUP0_RESOLUTION.VALUE=12_BIT -DRIVER.ADC.VAR.ADC1_GROUP1_PIN1_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_RESOLUTION.VALUE=12_BIT -DRIVER.ADC.VAR.ADC2_GROUP1_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_CONVERSION_TIME.VALUE=1.300 -DRIVER.ADC.VAR.ADC2_BND.VALUE=2 -DRIVER.ADC.VAR.ADC2_GROUP1_DISCHARGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_PORT_BIT0_PDR.VALUE=0 -DRIVER.ADC.VAR.ADC2_ACTUAL_CYCLE_TIME.VALUE=100.00 -DRIVER.ADC.VAR.ADC2_GROUP1_SAMPLE_PRESCALER.VALUE=1 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN9_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN2_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_TRIGGER_MODE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN5_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_PRESCALER.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN13_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN9_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN19_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.ADC.VAR.ADC2_GROUP1_SCAN_TIME.VALUE=0.000 -DRIVER.ADC.VAR.ADC2_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000 -DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP0_LENGTH.VALUE=16 -DRIVER.ADC.VAR.ADC1_GROUP0_SAMPLE_PRESCALER.VALUE=1 -DRIVER.ADC.VAR.ADC1_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN2_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN20_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN12_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN10_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN24_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN16_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN6_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_TRIGGER_MODE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_PORT_BIT0_PSL.VALUE=1 -DRIVER.ADC.VAR.ADC1_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000 -DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC2_LENGTH.VALUE=64 -DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN21_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN13_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_PINS.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC2_GROUP0_SAMPLE_PRESCALER.VALUE=1 -DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_PRESCALER.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN3_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN6_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_RAMBASE.VALUE=0xFF3A0000 -DRIVER.ADC.VAR.ADC2_GROUP0_BND.VALUE=8 -DRIVER.ADC.VAR.ADC1_PORT_BIT0_DOUT.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP1_SCAN_TIME.VALUE=0.000 -DRIVER.ADC.VAR.ADC1_GROUP0_RESOLUTION.VALUE=12_BIT -DRIVER.ADC.VAR.ADC2_GROUP2_FIFO_SIZE.VALUE=16 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN7_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN14_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_HW_TRIGGER_SOURCE.VALUE=EVENT -DRIVER.ADC.VAR.ADC2_GROUP1_BND.VALUE=8 -DRIVER.ADC.VAR.ADC2_GROUP0_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT -DRIVER.ADC.VAR.ADC2_GROUP1_PIN0_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN3_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_ALT_TRIG_COMP.VALUE=1 -DRIVER.ADC.VAR.ADC2_GROUP1_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT -DRIVER.ADC.VAR.ADC2_GROUP1_PIN11_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN7_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN17_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_PARITY_ENABLE.VALUE=0x00000005 -DRIVER.ADC.VAR.ADC1_ACTUAL_CYCLE_TIME.VALUE=100.00 -DRIVER.ADC.VAR.ADC2_GROUP2_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT -DRIVER.ADC.VAR.ADC2_GROUP2_PIN15_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN0_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN10_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_PINS.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN22_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN14_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN4_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN18_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN8_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN11_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN1_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_FIFO_SIZE.VALUE=16 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN4_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_RAMBASE.VALUE=0xFF3E0000 -DRIVER.ADC.VAR.ADC1_BASE.VALUE=0xFFF7C000 -DRIVER.ADC.VAR.ADC1_PORT_BIT0_DIR.VALUE=0 -DRIVER.ADC.VAR.ADC2_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.ADC.VAR.ADC2_GROUP2_HW_TRIGGER_SOURCE.VALUE=EVENT -DRIVER.ADC.VAR.ADC2_GROUP2_ID_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC1_GROUP2_LENGTH.VALUE=32 -DRIVER.ADC.VAR.ADC1_GROUP0_BND.VALUE=8 -DRIVER.ADC.VAR.ADC2_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000 -DRIVER.ADC.VAR.ADC2_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN5_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN12_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN8_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_PINS.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP0_EXTENDED_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN1_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_EXTENDED_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP1_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC2_GROUP2_TRIGGER_MODE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_FIFO_SIZE.VALUE=16 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN5_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN23_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN15_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_BND.VALUE=8 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN13_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN19_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_PORT_BIT0_DOUT.VALUE=0 -DRIVER.ADC.VAR.ADC2_CYCLE_TIME.VALUE=100.00 -DRIVER.ADC.VAR.ADC1_GROUP1_HW_TRIGGER_SOURCE.VALUE=EVENT -DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_PRESCALER.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN9_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_PRESCALE.VALUE=7 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN20_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN12_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_RAM_PARITY_ENA.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP0_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_BASE.VALUE=0xFFF7C200 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN2_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_RAM_PARITY_ENA.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN24_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN16_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_ID_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN6_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN9_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_CONTINUOUS_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_PORT_BIT0_PDR.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP1_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN2_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_CONVERSION_TIME.VALUE=1.300 -DRIVER.ADC.VAR.ADC1_GROUP0_FIFO_SIZE.VALUE=16 -DRIVER.ADC.VAR.ADC1_PORT_BIT0_PULL.VALUE=2 -DRIVER.ADC.VAR.ADC1_GROUP0_LENGTH.VALUE=16 -DRIVER.ADC.VAR.ADC2_GROUP1_CONVERSION_TIME.VALUE=1.300 -DRIVER.ADC.VAR.ADC1_GROUP0_PINS.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN3_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN10_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_ID_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN6_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_SCAN_TIME.VALUE=0.000 -DRIVER.ADC.VAR.ADC2_GROUP1_HW_TRIGGER_SOURCE.VALUE=EVENT -DRIVER.ADC.VAR.ADC1_GROUP1_CHANNEL_TOTAL_TIME.VALUE=1.600000 -DRIVER.ADC.VAR.ADC1_GROUP0_EXTENDED_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT -DRIVER.ADC.VAR.ADC2_GROUP1_PIN14_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_PORT_BIT0_PSL.VALUE=1 -DRIVER.ADC.VAR.ADC1_GROUP2_EXTENDED_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP1_LENGTH.VALUE=16 -DRIVER.ADC.VAR.ADC1_GROUP1_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT -DRIVER.ADC.VAR.ADC1_GROUP2_PIN3_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN21_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN13_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_ACTUAL_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC1_GROUP2_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT -DRIVER.ADC.VAR.ADC2_GROUP2_PIN11_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_CONTINUOUS_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN17_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_ACTUAL_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN7_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN10_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_ACTUAL_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN0_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN22_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN14_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_CYCLE_TIME.VALUE=100.00 -DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_PRESCALER.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN4_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN7_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE.VALUE=EVENT -DRIVER.ADC.VAR.ADC1_GROUP1_PIN0_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_ID_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_TIME.VALUE=0.00 -DRIVER.ADC.VAR.ADC1_GROUP2_SCAN_TIME.VALUE=0.000 -DRIVER.ADC.VAR.ADC1_GROUP1_PINS.VALUE=1 -DRIVER.ADC.VAR.ADC1_GROUP1_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_ALT_TRIG_COMP.VALUE=1 -DRIVER.ADC.VAR.ADC1_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN8_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN15_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_ALT_TRIG.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP1_RAM_PARITY_ENA.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN1_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_RAM_PARITY_ENA.VALUE=0 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN4_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_PRESCALER.VALUE=0 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN12_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN8_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN18_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_RESOLUTION.VALUE=12_BIT -DRIVER.ADC.VAR.ADC1_GROUP2_PIN1_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN11_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_SCAN_TIME.VALUE=0.000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN23_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN15_ENABLE.VALUE=0x00008000 -DRIVER.ADC.VAR.ADC2_GROUP0_HW_TRIGGER_SOURCE.VALUE=EVENT -DRIVER.ADC.VAR.ADC2_GROUP0_PIN5_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN19_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_PRESCALE.VALUE=7 -DRIVER.ADC.VAR.ADC2_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC1_GROUP2_PINS.VALUE=0 -DRIVER.ADC.VAR.ADC2_PORT_BIT0_PULL.VALUE=2 -DRIVER.ADC.VAR.ADC1_LENGTH.VALUE=64 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN9_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN20_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN12_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP1_CHANNEL_TOTAL_TIME.VALUE=0.000000 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN2_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_PIN5_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC1_GROUP0_SCAN_TIME.VALUE=0.000 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN6_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_PIN13_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP0_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN9_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_SAMPLE_TIME.VALUE=300.00 -DRIVER.ADC.VAR.ADC2_GROUP1_FIFO_SIZE.VALUE=16 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN2_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP1_PIN10_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP2_PIN6_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN24_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_PIN16_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC2_GROUP2_PIN14_ENABLE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP1_TRIGGER_MODE.VALUE=0x00000000 -DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_DISCHARGE_TIME.VALUE=0.00 -DRIVER.LIN.VAR.LIN_PORT_BIT0_DOUT.VALUE=0 -DRIVER.LIN.VAR.LIN_PEINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_TOAWUSINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_BEINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_TOA3WUSINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT1_DOUT.VALUE=0 -DRIVER.LIN.VAR.LIN_MAXPRESCALE.VALUE=3600 -DRIVER.LIN.VAR.LIN_LENGTH.VALUE=8 -DRIVER.LIN.VAR.LIN_PARITYENA.VALUE=0 -DRIVER.LIN.VAR.LIN_BREAKINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_TX_MASK.VALUE=0xFF -DRIVER.LIN.VAR.LIN_MSTMOD.VALUE=1 -DRIVER.LIN.VAR.LIN_SDEL.VALUE=1 -DRIVER.LIN.VAR.LIN_PORT_BIT2_DOUT.VALUE=0 -DRIVER.LIN.VAR.LIN_TOAWUSINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_WAKEINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_HGENCTRL.VALUE=1 -DRIVER.LIN.VAR.LIN_TOA3WUSINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT0_DIR.VALUE=0 -DRIVER.LIN.VAR.LIN_PORT_BIT0_PULL.VALUE=2 -DRIVER.LIN.VAR.LIN_CEINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_BREAKINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PBEINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT1_DIR.VALUE=0 -DRIVER.LIN.VAR.LIN_PORT_BIT0_FUN.VALUE=0 -DRIVER.LIN.VAR.LIN_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.LIN.VAR.LIN_PORT_BIT2_DIR.VALUE=0 -DRIVER.LIN.VAR.LIN_PORT_BIT1_PULL.VALUE=2 -DRIVER.LIN.VAR.LIN_WAKEINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT0_PDR.VALUE=0 -DRIVER.LIN.VAR.LIN_OEINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT1_FUN.VALUE=2 -DRIVER.LIN.VAR.LIN_NREINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT1_PDR.VALUE=0 -DRIVER.LIN.VAR.LIN_PORT_BIT2_FUN.VALUE=4 -DRIVER.LIN.VAR.LIN_CEINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT0_PSL.VALUE=1 -DRIVER.LIN.VAR.LIN_PORT_BIT2_PULL.VALUE=2 -DRIVER.LIN.VAR.LIN_PBEINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT2_PDR.VALUE=0 -DRIVER.LIN.VAR.LIN_BASE_PORT.VALUE=0xFFF7E440 -DRIVER.LIN.VAR.LIN_ACTUALBAUDRATE.VALUE=20.000 -DRIVER.LIN.VAR.LIN_PORT_BIT1_PSL.VALUE=2 -DRIVER.LIN.VAR.LIN_ISFEINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_FEINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT2_PSL.VALUE=4 -DRIVER.LIN.VAR.LIN_OEINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_TXINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_NREINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_IDINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_SBREAK.VALUE=13 -DRIVER.LIN.VAR.LIN_TOINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_BAUDRATE.VALUE=20.000 -DRIVER.LIN.VAR.LIN_RX_MASK.VALUE=0xFF -DRIVER.LIN.VAR.LIN_ISFEINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_RXINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_BASE.VALUE=0xFFF7E400 -DRIVER.LIN.VAR.LIN_FEINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_TXINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.LIN.VAR.LIN_IDINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PEINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_TOINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_MAXBAUDRATE.VALUE=22.222 -DRIVER.LIN.VAR.LIN_BEINTENA.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_RXINTLVL.VALUE=0x00000000 -DRIVER.LIN.VAR.LIN_PRESCALE.VALUE=249 -DRIVER.LIN.VAR.LIN_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.HET.VAR.HET2_EDGE5_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM5_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET2_PWM0_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT0_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_INT_X0.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE4_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_BIT1_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT6_HRSHARE.VALUE=0x00000008 -DRIVER.HET.VAR.HET2_INT_X1.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM2_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_BIT29_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT0_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_IGNORE_SUSPEND_ENABLE.VALUE=0x00020000 -DRIVER.HET.VAR.HET2_PWM3_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_PWM1_PIN_SELECT.VALUE=2 -DRIVER.HET.VAR.HET2_BIT12_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT3_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_INT_X2.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X3.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM2_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_INT_X4.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM6_ACTION.VALUE=3 -DRIVER.HET.VAR.HET1_PWM0_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT4_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_PWM3_ENA.VALUE=0 -DRIVER.HET.VAR.HET2_BIT4_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X5.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_IGNORE_SUSPEND_ENABLE.VALUE=0x00020000 -DRIVER.HET.VAR.HET1_BIT30_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT26_HRSHARE.VALUE=0x00002000 -DRIVER.HET.VAR.HET1_BIT22_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT18_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT14_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM4_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT3_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X6.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE0_PIN_SELECT.VALUE=15 -DRIVER.HET.VAR.HET1_BIT28_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT7_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_INT_X7.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT7_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X8.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM3_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT18_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT10_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X9.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT11_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT11_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_PWM4_PIN_SELECT.VALUE=16 -DRIVER.HET.VAR.HET2_PWM4_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET1_RAM_BASE.VALUE=0xFF460000 -DRIVER.HET.VAR.HET2_EDGE6_BOTH.VALUE=0 -DRIVER.HET.VAR.HET2_PWM2_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT15_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE2_EVENT.VALUE=1 -DRIVER.HET.VAR.HET2_BIT11_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PIN_ENABLE.VALUE=0 -DRIVER.HET.VAR.HET1_CAP3_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_BIT24_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT16_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT5_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT27_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT19_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE6_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT24_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT16_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT2_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM6_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE3_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_EDGE5_PIN_SELECT.VALUE=10 -DRIVER.HET.VAR.HET2_BIT13_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM7_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_BIT27_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT19_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_CAP5_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_PWM4_ENA.VALUE=0 -DRIVER.HET.VAR.HET2_BIT8_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM1_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET2_CAP2_PIN_SELECT.VALUE=4 -DRIVER.HET.VAR.HET2_BIT4_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM0_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_BIT29_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT0_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT8_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET2_BIT1_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT12_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM7_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_PWM4_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET2_BIT18_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_BIT16_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM3_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM3_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET1_BIT0_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM1_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT6_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_CAP5_PIN_SELECT.VALUE=26 -DRIVER.HET.VAR.HET1_BIT28_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT10_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_EDGE7_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM0_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_BIT1_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE7_EVENT.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE5_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_PWM5_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_BIT3_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE7_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_EDGE1_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM3_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_PWM1_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT14_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT4_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_EDGE4_EVENT.VALUE=1 -DRIVER.HET.VAR.HET1_BIT5_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_MASTER.VALUE=1 -DRIVER.HET.VAR.HET2_EDGE5_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM5_ENA.VALUE=0 -DRIVER.HET.VAR.HET2_PWM0_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT2_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT5_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM7_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_BIT8_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT1_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_LR_ACTUALTIME.VALUE=800.000 -DRIVER.HET.VAR.HET1_PWM5_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_PWM5_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM4_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET2_BIT9_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM3_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM0_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT5_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM6_PIN_SELECT.VALUE=18 -DRIVER.HET.VAR.HET2_BIT13_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT12_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_EDGE7_BOTH.VALUE=0 -DRIVER.HET.VAR.HET2_BIT17_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM6_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM0_ENA.VALUE=0 -DRIVER.HET.VAR.HET1_BIT30_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT27_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT22_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT19_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT14_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM1_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT7_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE5_PIN_SELECT.VALUE=21 -DRIVER.HET.VAR.HET1_BIT29_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT0_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET_DIS_BLACKBOX.VALUE=0 -DRIVER.HET.VAR.HET2_PWM7_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_HR_ACTUALFREQUENCY.VALUE=80.000 -DRIVER.HET.VAR.HET2_PWM5_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_ACTION.VALUE=3 -DRIVER.HET.VAR.HET1_BIT25_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT17_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT4_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE0_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_CAP6_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_BIT20_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT12_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT15_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X10.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT28_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_INT_X11.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X20.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X12.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM3_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET2_PWM6_ENA.VALUE=0 -DRIVER.HET.VAR.HET2_BIT16_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X21.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X13.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_HR_PRESCALE.VALUE=0 -DRIVER.HET.VAR.HET1_EDGE6_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_PWM6_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_LR_PRESCALE.VALUE=6 -DRIVER.HET.VAR.HET2_PWM0_PIN_SELECT.VALUE=8 -DRIVER.HET.VAR.HET2_BIT6_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X30.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X22.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X14.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT2_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X31.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X23.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X15.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM3_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET2_INT_X24.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X16.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BASE_PORT.VALUE=0xFFF7B84C -DRIVER.HET.VAR.HET2_PWM5_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT0_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X25.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X17.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET1_PWM3_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT10_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT14_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X26.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X18.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X27.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X19.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT18_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X28.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM2_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM1_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET2_PWM0_DUTY.VALUE=50 -DRIVER.HET.VAR.HET2_BIT18_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_INT_X29.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM1_ENA.VALUE=0 -DRIVER.HET.VAR.HET2_CAP7_PIN_SELECT.VALUE=6 -DRIVER.HET.VAR.HET2_BIT8_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM5_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_PWM4_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_PWM3_PIN_SELECT.VALUE=14 -DRIVER.HET.VAR.HET1_BIT11_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT1_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM0_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_BIT2_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE6_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_BIT5_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM6_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET2_BIT14_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT6_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_BIT20_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT12_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PIN_ENABLE.VALUE=0 -DRIVER.HET.VAR.HET2_BIT16_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT5_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_PWM0_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_BIT6_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_PWM7_ENA.VALUE=0 -DRIVER.HET.VAR.HET1_PWM0_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT8_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE4_PIN_SELECT.VALUE=8 -DRIVER.HET.VAR.HET2_BIT7_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT9_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT3_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM5_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_BIT10_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_CAP1_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_EDGE6_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP1_PIN_SELECT.VALUE=2 -DRIVER.HET.VAR.HET2_BIT15_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT13_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_EDGE3_EVENT.VALUE=1 -DRIVER.HET.VAR.HET1_PWM6_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM2_ENA.VALUE=0 -DRIVER.HET.VAR.HET2_BIT9_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT2_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE0_EVENT.VALUE=1 -DRIVER.HET.VAR.HET1_PWM2_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET1_BIT26_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT18_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT6_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE3_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT16_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT17_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_CAP4_PIN_SELECT.VALUE=24 -DRIVER.HET.VAR.HET1_BIT29_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT0_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_PWM2_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET2_EDGE3_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_BIT3_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT2_HRSHARE.VALUE=0x00000002 -DRIVER.HET.VAR.HET2_PWM6_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT8_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM1_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_BIT4_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT4_HRSHARE.VALUE=0x00000004 -DRIVER.HET.VAR.HET1_BIT25_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT17_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT16_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM1_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_PWM4_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM2_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_PWM1_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_PWM7_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET1_PWM3_ENA.VALUE=0 -DRIVER.HET.VAR.HET1_BIT24_HRSHARE.VALUE=0x00001000 -DRIVER.HET.VAR.HET1_BIT16_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT10_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM5_PIN_SELECT.VALUE=17 -DRIVER.HET.VAR.HET1_BIT20_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT12_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT3_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X10.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X11.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT3_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE7_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_EDGE0_LVL.VALUE=0x00020000 -DRIVER.HET.VAR.HET1_BIT7_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X20.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X12.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT14_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM5_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_BIT10_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X21.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X13.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM5_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT18_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT6_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_EDGE4_PIN_SELECT.VALUE=20 -DRIVER.HET.VAR.HET1_INT_X30.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X22.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X14.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM3_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET1_INT_X31.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X23.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X15.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE5_EVENT.VALUE=1 -DRIVER.HET.VAR.HET2_PWM1_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM7_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM6_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_BIT7_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_INT_X24.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X16.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_CAP2_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_PWM3_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT6_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X25.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X17.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT9_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT5_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X26.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X18.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X27.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X19.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT11_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_INT_X28.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM2_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_RAM_SIZE.VALUE=160 -DRIVER.HET.VAR.HET1_EDGE2_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_INT_X29.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT17_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT14_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_PWM3_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_PWM5_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_PWM1_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET1_BIT10_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP4_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_BIT8_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT4_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_ENA.VALUE=0 -DRIVER.HET.VAR.HET1_PWM0_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET1_BIT4_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM1_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET1_EDGE1_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM1_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT27_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT19_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT8_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT14_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP6_PIN_SELECT.VALUE=4 -DRIVER.HET.VAR.HET1_PWM2_PIN_SELECT.VALUE=12 -DRIVER.HET.VAR.HET1_BIT1_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_PWM3_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_PWM2_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET1_EDGE4_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT28_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT6_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE0_BOTH.VALUE=0 -DRIVER.HET.VAR.HET2_EDGE6_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_PWM5_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT8_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT4_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE3_PIN_SELECT.VALUE=6 -DRIVER.HET.VAR.HET2_PWM2_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT18_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT11_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT10_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_EDGE1_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM7_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM2_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_PWM5_ENA.VALUE=0 -DRIVER.HET.VAR.HET1_BIT8_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP0_PIN_SELECT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT21_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT13_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT5_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_BIT4_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE2_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM2_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM2_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_BIT9_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT6_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM6_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_BIT1_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM4_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT7_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_PWM7_ACTION.VALUE=3 -DRIVER.HET.VAR.HET1_BIT8_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_PWM2_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT12_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT31_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT23_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT15_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_CAP3_PIN_SELECT.VALUE=6 -DRIVER.HET.VAR.HET1_BIT7_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM6_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_PWM4_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM1_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET2_BIT12_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_PWM0_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET1_PWM0_ACTION.VALUE=3 -DRIVER.HET.VAR.HET1_CAP5_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_BIT26_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT18_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT15_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_PWM0_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET1_EDGE4_EVENT.VALUE=1 -DRIVER.HET.VAR.HET1_BIT20_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT12_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT12_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE5_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_PWM6_ENA.VALUE=0 -DRIVER.HET.VAR.HET1_BIT6_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE1_EVENT.VALUE=1 -DRIVER.HET.VAR.HET2_PWM3_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE3_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT28_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_CAP7_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_PWM3_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET2_PWM4_PIN_SELECT.VALUE=16 -DRIVER.HET.VAR.HET1_BIT10_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT2_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_BIT9_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM5_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM0_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE3_PIN_SELECT.VALUE=10 -DRIVER.HET.VAR.HET1_PWM1_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_BIT8_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BASE.VALUE=0xFFF7B800 -DRIVER.HET.VAR.HET2_EDGE1_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_PWM6_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM5_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET2_BIT12_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT2_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT2_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM7_PIN_SELECT.VALUE=19 -DRIVER.HET.VAR.HET1_PWM5_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_LR_ACTUALTIME.VALUE=800.000 -DRIVER.HET.VAR.HET1_BIT21_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT13_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT11_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_PWM3_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_PWM7_ENA.VALUE=0 -DRIVER.HET.VAR.HET1_HR_PRESCALE.VALUE=0 -DRIVER.HET.VAR.HET1_BIT30_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT22_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT14_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT7_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_HR_ACTUALFREQUENCY.VALUE=80.000 -DRIVER.HET.VAR.HET2_PWM1_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_BIT5_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE4_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP0_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_BIT4_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE2_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM7_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_PWM2_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT8_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT11_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM7_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_EDGE6_EVENT.VALUE=1 -DRIVER.HET.VAR.HET2_MASTER.VALUE=1 -DRIVER.HET.VAR.HET1_PWM5_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM0_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT9_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_EDGE6_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT10_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP5_PIN_SELECT.VALUE=2 -DRIVER.HET.VAR.HET1_PWM1_PIN_SELECT.VALUE=10 -DRIVER.HET.VAR.HET1_BIT9_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT13_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_PWM7_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_PWM5_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT24_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT16_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT6_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.HET.VAR.HET2_BIT16_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT10_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM7_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE0_BOTH.VALUE=1 -DRIVER.HET.VAR.HET1_BIT30_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT22_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT14_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X0.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE2_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_PWM4_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT28_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT0_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT0_HRSHARE.VALUE=0x00000001 -DRIVER.HET.VAR.HET1_INT_X1.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE2_PIN_SELECT.VALUE=4 -DRIVER.HET.VAR.HET2_PWM2_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_BIT8_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X2.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_DIS_BLACKBOX.VALUE=0 -DRIVER.HET.VAR.HET2_LR_TIME.VALUE=800.000 -DRIVER.HET.VAR.HET1_INT_X3.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM6_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_EDGE5_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM5_ACTION.VALUE=3 -DRIVER.HET.VAR.HET1_BIT29_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT0_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_INT_X4.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT2_HRSHARE.VALUE=0x00000002 -DRIVER.HET.VAR.HET1_BIT21_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT13_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X5.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM2_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_BIT20_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT12_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT3_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_INT_X6.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM0_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET1_INT_X7.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BASE_PORT.VALUE=0xFFF7B94C -DRIVER.HET.VAR.HET1_INT_X8.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT17_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT2_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM6_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET1_BIT30_HRSHARE.VALUE=0x00008000 -DRIVER.HET.VAR.HET1_BIT22_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT14_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_INT_X9.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BASE.VALUE=0xFFF7B900 -DRIVER.HET.VAR.HET2_EDGE2_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_EDGE0_EVENT.VALUE=3 -DRIVER.HET.VAR.HET2_BIT10_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_CAP2_PIN_SELECT.VALUE=4 -DRIVER.HET.VAR.HET1_BIT11_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM2_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_PWM0_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT31_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT23_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT20_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT15_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT12_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_PWM4_DUTY.VALUE=50 -DRIVER.HET.VAR.HET2_BIT18_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_CAP1_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_BIT30_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT22_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT14_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM6_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_PWM6_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_BIT31_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT23_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT15_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT9_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT6_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE6_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT7_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE1_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_RAM_SIZE.VALUE=160 -DRIVER.HET.VAR.HET2_BIT9_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT21_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT13_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM2_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT0_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM3_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET2_CAP3_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_BIT0_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM3_PIN_SELECT.VALUE=6 -DRIVER.HET.VAR.HET2_PWM6_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_BIT14_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE7_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT17_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_EDGE2_PIN_SELECT.VALUE=13 -DRIVER.HET.VAR.HET1_BIT20_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT12_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_HR_FREQUENCY.VALUE=80.000 -DRIVER.HET.VAR.HET2_PWM2_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_EDGE5_EVENT.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE1_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_PWM5_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT24_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT16_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM1_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET2_BIT18_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE0_INTENA.VALUE=0x00020000 -DRIVER.HET.VAR.HET2_BIT0_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_PWM6_PIN_SELECT.VALUE=18 -DRIVER.HET.VAR.HET2_EDGE2_EVENT.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE7_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT1_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_EDGE5_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_EDGE4_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT6_HRSHARE.VALUE=0x00000008 -DRIVER.HET.VAR.HET1_BIT30_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT22_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT14_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT4_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_BIT1_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM7_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT8_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT0_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT4_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE7_PIN_SELECT.VALUE=14 -DRIVER.HET.VAR.HET2_PWM7_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_PWM3_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_PWM3_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_EDGE3_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_PWM1_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM2_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT28_HRSHARE.VALUE=0x00004000 -DRIVER.HET.VAR.HET1_BIT26_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT18_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP4_PIN_SELECT.VALUE=0 -DRIVER.HET.VAR.HET2_PWM0_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_PWM0_PIN_SELECT.VALUE=8 -DRIVER.HET.VAR.HET1_BIT21_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT13_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_LR_TIME.VALUE=800 -DRIVER.HET.VAR.HET2_EDGE0_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM3_ACTION.VALUE=3 -DRIVER.HET.VAR.HET1_BIT25_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT21_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT17_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT13_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_PWM5_DUTY.VALUE=50 -DRIVER.HET.VAR.HET2_PWM1_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT20_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT12_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT11_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT24_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT16_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_PWM5_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_RAM_BASE.VALUE=0xFF440000 -DRIVER.HET.VAR.HET2_PWM3_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT7_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_PWM4_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT15_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_CAP4_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_BIT8_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE1_PIN_SELECT.VALUE=2 -DRIVER.HET.VAR.HET1_CAP7_PIN_SELECT.VALUE=30 -DRIVER.HET.VAR.HET1_BIT31_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT23_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT15_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE7_EVENT.VALUE=1 -DRIVER.HET.VAR.HET2_BIT2_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE4_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_BIT15_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_BIT10_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP6_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_PWM2_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET2_BIT18_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_BIT0_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET1_BIT30_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT22_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT14_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE1_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM7_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE2_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_BIT26_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT18_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM1_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT16_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT5_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_RAM_PARITY_ENA.VALUE=0x00000005 -DRIVER.HET.VAR.HET1_PWM7_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM0_DUTY.VALUE=50 -DRIVER.HET.VAR.HET2_PWM0_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT1_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_CAP1_PIN_SELECT.VALUE=2 -DRIVER.HET.VAR.HET1_PWM7_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET1_BIT2_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_PWM6_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM4_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET2_BIT10_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM7_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT10_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE7_PIN_SELECT.VALUE=23 -DRIVER.HET.VAR.HET1_BIT24_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT16_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT5_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_PWM7_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET2_PWM7_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET2_PWM4_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_BIT3_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE5_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT6_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM6_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_EDGE4_BOTH.VALUE=0 -DRIVER.HET.VAR.HET2_PWM1_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT11_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE1_EVENT.VALUE=1 -DRIVER.HET.VAR.HET2_LR_PRESCALE.VALUE=6 -DRIVER.HET.VAR.HET2_PWM2_PIN_SELECT.VALUE=12 -DRIVER.HET.VAR.HET2_BIT1_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT31_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT23_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT15_PSL.VALUE=0x00008000 -DRIVER.HET.VAR.HET1_PWM6_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_EDGE2_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT30_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT27_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT22_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT19_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT14_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_EDGE2_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM6_DUTY.VALUE=50 -DRIVER.HET.VAR.HET2_BIT8_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT9_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE1_PIN_SELECT.VALUE=11 -DRIVER.HET.VAR.HET1_BIT25_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT17_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_BIT8_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_PWM4_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM0_ENA.VALUE=0 -DRIVER.HET.VAR.HET2_BIT14_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT2_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM5_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT0_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM5_PIN_SELECT.VALUE=17 -DRIVER.HET.VAR.HET1_BIT25_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT17_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM6_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT4_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE1_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_CAP7_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_BIT28_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT24_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT16_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT16_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_BIT12_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_PWM1_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_BIT0_HRSHARE.VALUE=0x00000001 -DRIVER.HET.VAR.HET1_EDGE7_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_PWM1_DUTY_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE6_PIN_SELECT.VALUE=12 -DRIVER.HET.VAR.HET2_BIT2_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_DIS_BLACKBOX.VALUE=0 -DRIVER.HET.VAR.HET1_BIT24_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT16_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE3_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE6_EVENT.VALUE=1 -DRIVER.HET.VAR.HET1_EDGE3_BOTH.VALUE=0 -DRIVER.HET.VAR.HET1_PWM6_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET1_BIT28_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT13_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM5_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET1_PWM1_DUTY.VALUE=50 -DRIVER.HET.VAR.HET1_BIT20_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT12_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP3_PIN_SELECT.VALUE=6 -DRIVER.HET.VAR.HET2_BIT10_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT2_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_PWM3_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_EDGE3_EVENT.VALUE=1 -DRIVER.HET.VAR.HET2_PWM6_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET2_PWM3_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET1_BIT3_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_PWM1_ENA.VALUE=0 -DRIVER.HET.VAR.HET2_BIT1_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT26_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT18_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT6_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_PWM1_DUTYTIME.VALUE=500.000 -DRIVER.HET.VAR.HET2_BIT5_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM7_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET2_BIT16_HRSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_CAP0_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET1_BIT4_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE0_PIN_SELECT.VALUE=0 -DRIVER.HET.VAR.HET2_BIT10_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_CAP6_PIN_SELECT.VALUE=28 -DRIVER.HET.VAR.HET1_PWM2_PERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_EDGE5_BOTH.VALUE=0 -DRIVER.HET.VAR.HET2_BIT13_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT3_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE0_POLARITY.VALUE=1 -DRIVER.HET.VAR.HET2_PWM7_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_BIT3_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT25_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT17_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_EDGE4_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT31_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT29_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT23_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_BIT15_PULL.VALUE=2 -DRIVER.HET.VAR.HET1_BIT0_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_CAP2_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_PWM7_DUTY.VALUE=50 -DRIVER.HET.VAR.HET2_BIT6_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM4_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT11_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT26_DOUT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT18_DOUT.VALUE=0 -DRIVER.HET.VAR.HET2_PWM6_PERIOD_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM2_ACTION.VALUE=3 -DRIVER.HET.VAR.HET2_BIT9_PULL.VALUE=1 -DRIVER.HET.VAR.HET1_PWM7_DUTY_LVL.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM3_PERIOD_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM2_ENA.VALUE=0 -DRIVER.HET.VAR.HET2_BIT12_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE3_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM7_PIN_SELECT.VALUE=19 -DRIVER.HET.VAR.HET2_BIT2_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_CAP0_PIN_SELECT.VALUE=0 -DRIVER.HET.VAR.HET1_BIT27_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT19_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT6_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM0_DUTY_PRESCALER.VALUE=80128 -DRIVER.HET.VAR.HET2_EDGE7_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_PWM0_POLARITY.VALUE=3 -DRIVER.HET.VAR.HET1_BIT26_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT18_XORSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT10_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_EDGE6_PIN_SELECT.VALUE=22 -DRIVER.HET.VAR.HET1_PWM0_ACTUALPERIOD.VALUE=1000.000 -DRIVER.HET.VAR.HET2_HR_FREQUENCY.VALUE=80.000 -DRIVER.HET.VAR.HET2_BIT17_PULL.VALUE=1 -DRIVER.HET.VAR.HET2_BIT14_DIR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_PWM5_PERIOD_PRESCALER.VALUE=159872 -DRIVER.HET.VAR.HET2_EDGE4_POLARITY.VALUE=0 -DRIVER.HET.VAR.HET2_EDGE0_INTENA.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT7_PULDIS.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT4_HRSHARE.VALUE=0x00000004 -DRIVER.HET.VAR.HET1_BIT2_ANDSHARE.VALUE=0x00000000 -DRIVER.HET.VAR.HET2_BIT4_PDR.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT26_PSL.VALUE=0x00000000 -DRIVER.HET.VAR.HET1_BIT18_PSL.VALUE=0x00000000 -DRIVER.RTP.VAR.RTP_PORT_BIT1_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT3_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT1_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT5_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT14_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT11_DIR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT3_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT8_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT4_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT6_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT2_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT10_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT6_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT14_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT12_DIR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT17_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT4_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT10_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT2_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT5_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT3_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT11_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT7_DIR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT13_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT5_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT11_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT9_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT6_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT12_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT4_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT12_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT8_DIR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT10_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT15_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT14_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT18_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT6_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT0_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT4_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT12_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT3_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT7_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT5_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT13_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT9_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT11_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT15_DIR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT7_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT13_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT8_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT6_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT14_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT12_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT16_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT16_DIR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT17_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT8_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT1_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT14_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT4_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT9_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT7_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT15_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT13_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT10_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT17_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT9_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT15_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT8_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT16_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT14_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT18_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT17_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_BASE_PORT.VALUE=0xFFFFFA38 -DRIVER.RTP.VAR.RTP_PORT_BIT2_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT16_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT5_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT9_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT17_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT15_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT15_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT11_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT17_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT7_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT18_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT16_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT18_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT3_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT18_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT6_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT17_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT12_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT13_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT18_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT4_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT5_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT7_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT10_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT13_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT18_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT5_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT8_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT0_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT11_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT14_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT3_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT1_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT6_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT0_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT9_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT2_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT12_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT16_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT15_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT0_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT0_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT1_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_BASE.VALUE=0xFFFFFA00 -DRIVER.RTP.VAR.RTP_PORT_BIT3_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT1_PDR.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT7_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT2_FUN.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT0_PSL.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT4_DIR.VALUE=0 -DRIVER.RTP.VAR.RTP_BASE_RAM.VALUE=0xFFF83000 -DRIVER.RTP.VAR.RTP_PORT_BIT13_PULL.VALUE=2 -DRIVER.RTP.VAR.RTP_PORT_BIT10_DIR.VALUE=1 -DRIVER.RTP.VAR.RTP_PORT_BIT16_DOUT.VALUE=0 -DRIVER.RTP.VAR.RTP_PORT_BIT2_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT14_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT17_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT17_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT4_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT1_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT18_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT0_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT15_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT4_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT2_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT7_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT15_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT18_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT0_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_BASE.VALUE=0xFFFFF700 -DRIVER.DMM.VAR.DMM_PORT_BIT1_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT3_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT9_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT1_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT2_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT2_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT0_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT5_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT4_DIR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT8_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT16_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT2_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT13_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT3_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_BASE_PORT.VALUE=0xFFFFF770 -DRIVER.DMM.VAR.DMM_PORT_BIT1_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT5_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT10_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT3_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT4_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT2_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT6_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT6_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT7_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT9_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT17_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT4_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT5_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT3_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT0_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT7_DIR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT18_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT11_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT11_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT5_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT6_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT4_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT8_DIR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT7_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT18_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT6_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT10_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT7_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT5_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT5_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT1_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT9_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT12_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT7_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT11_DIR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT8_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT16_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT6_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT8_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT10_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT8_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT12_DIR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT9_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT10_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT7_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT2_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT10_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT13_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT11_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT9_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT13_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT3_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT11_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT8_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT9_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT12_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT10_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT14_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT14_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT0_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT12_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT9_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT3_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT11_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT14_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT13_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT11_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT15_DIR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT13_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT8_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT14_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT12_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT16_DIR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT1_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT14_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT4_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT12_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT15_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT15_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT12_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT13_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT17_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT15_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT16_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT14_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT18_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT2_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT6_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT16_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT5_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT13_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT16_DOUT.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT17_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT15_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT17_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT17_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT10_PULDIS.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT18_FUN.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT16_PSL.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT3_PULL.VALUE=2 -DRIVER.DMM.VAR.DMM_PORT_BIT0_DIR.VALUE=1 -DRIVER.DMM.VAR.DMM_PORT_BIT18_PDR.VALUE=0 -DRIVER.DMM.VAR.DMM_PORT_BIT6_DOUT.VALUE=0 -DRIVER.I2C.VAR.I2C_PORT_BIT0_DIR.VALUE=0 -DRIVER.I2C.VAR.I2C_STOPBITS.VALUE=2 -DRIVER.I2C.VAR.I2C_PORT_BIT1_DIR.VALUE=0 -DRIVER.I2C.VAR.I2C_ICXRDYINTLVL.VALUE=0 -DRIVER.I2C.VAR.I2C_BASE_PORT.VALUE=0xFFF7D44C -DRIVER.I2C.VAR.I2C_DATACOUNT.VALUE=8 -DRIVER.I2C.VAR.I2C_ADDRMODE.VALUE=7BIT_AMODE -DRIVER.I2C.VAR.I2C_PORT_BIT0_FUN.VALUE=0 -DRIVER.I2C.VAR.I2C_PORT_BIT0_PDR.VALUE=0 -DRIVER.I2C.VAR.I2C_BC_VALUE.VALUE=0x0003 -DRIVER.I2C.VAR.I2C_PORT_BIT1_FUN.VALUE=0 -DRIVER.I2C.VAR.I2C_RM_ENA.VALUE=0 -DRIVER.I2C.VAR.I2C_BC.VALUE=8_BIT -DRIVER.I2C.VAR.I2C_PORT_BIT1_PDR.VALUE=0 -DRIVER.I2C.VAR.I2C_TXRX_VALUE.VALUE=0 -DRIVER.I2C.VAR.I2C_SCDLVL.VALUE=0 -DRIVER.I2C.VAR.I2C_PORT_BIT0_PSL.VALUE=1 -DRIVER.I2C.VAR.I2C_STPCND.VALUE=1 -DRIVER.I2C.VAR.I2C_ALINTENA.VALUE=0 -DRIVER.I2C.VAR.I2C_PRESCALE.VALUE=9 -DRIVER.I2C.VAR.I2C_PORT_BIT1_PSL.VALUE=1 -DRIVER.I2C.VAR.I2C_TXRX.VALUE=TRANSMITTER -DRIVER.I2C.VAR.I2C_PORT_BIT0_DOUT.VALUE=0 -DRIVER.I2C.VAR.I2C_ALINTLVL.VALUE=0 -DRIVER.I2C.VAR.I2C_RXDMA.VALUE=0 -DRIVER.I2C.VAR.I2C_PORT_BIT0_PULDIS.VALUE=0 -DRIVER.I2C.VAR.I2C_BASE.VALUE=0xFFF7D400 -DRIVER.I2C.VAR.I2C_ARDYINTENA.VALUE=0 -DRIVER.I2C.VAR.I2C_PORT_BIT1_DOUT.VALUE=0 -DRIVER.I2C.VAR.I2C_TXDMA.VALUE=0 -DRIVER.I2C.VAR.I2C_MSMODE.VALUE=1 -DRIVER.I2C.VAR.I2C_ICCH.VALUE=35 -DRIVER.I2C.VAR.I2C_AASLVL.VALUE=0 -DRIVER.I2C.VAR.I2C_ICCL.VALUE=35 -DRIVER.I2C.VAR.I2C_AAS.VALUE=0 -DRIVER.I2C.VAR.I2C_BCM.VALUE=0 -DRIVER.I2C.VAR.I2C_ADDRMODE_VALUE.VALUE=0x0001 -DRIVER.I2C.VAR.I2C_ICRRDYINTENA.VALUE=0 -DRIVER.I2C.VAR.I2C_FDF.VALUE=0 -DRIVER.I2C.VAR.I2C_ARDYINTLVL.VALUE=0 -DRIVER.I2C.VAR.I2C_PARITYENA.VALUE=0 -DRIVER.I2C.VAR.I2C_PORT_BIT0_PULL.VALUE=2 -DRIVER.I2C.VAR.I2C_LENGTH.VALUE=8 -DRIVER.I2C.VAR.I2C_NACKINTENA.VALUE=0 -DRIVER.I2C.VAR.I2C_SCD.VALUE=0 -DRIVER.I2C.VAR.I2C_PORT_BIT1_PULL.VALUE=2 -DRIVER.I2C.VAR.I2C_ICRRDYINTLVL.VALUE=0 -DRIVER.I2C.VAR.I2C_STACND.VALUE=1 -DRIVER.I2C.VAR.I2C_PORT_BIT1_PULDIS.VALUE=0 -DRIVER.I2C.VAR.I2C_ICXRDYINTENA.VALUE=0 -DRIVER.I2C.VAR.I2C_NACKINTLVL.VALUE=0 -DRIVER.I2C.VAR.I2C_EVENPARITY.VALUE=0 -DRIVER.I2C.VAR.I2C_BAUDRATE.VALUE=100 -DRIVER.I2C.VAR.I2C_MODCLK.VALUE=8 -DRIVER.DCC.VAR.DCC1_ENABLE_KEY.VALUE=10 -DRIVER.DCC.VAR.PINMUX_BASE.VALUE=0xFFFFEA00 -DRIVER.DCC.VAR.DCC1_DETECTION_TIME.VALUE=5000.00 -DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE1_VALUE.VALUE=0x0002 -DRIVER.DCC.VAR.DCC1_ENABLE_ERROR_INTERRUPT.VALUE=0xA -DRIVER.DCC.VAR.DCC2_ENABLE.VALUE=0xA -DRIVER.DCC.VAR.PINMUX_BASE_PORT.VALUE=0xFFFFEA40 -DRIVER.DCC.VAR.DCC2_ENABLE_ERROR_INTERRUPT.VALUE=0xA -DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE0_VALUE.VALUE=0x0001 -DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE0_FREQ.VALUE=0 -DRIVER.DCC.VAR.DCC2_VALID0_SEED.VALUE=0 -DRIVER.DCC.VAR.DCC2_CLKT_N2HET2_0_FREQ.VALUE=1 -DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE1_FREQ.VALUE=0 -DRIVER.DCC.VAR.DCC2_DETECTION_TIME.VALUE=5000.00 -DRIVER.DCC.VAR.DCC2_CLOCK_DRIFT.VALUE=1.0 -DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE1_VALUE.VALUE=0x0002 -DRIVER.DCC.VAR.DCC1_CLKT_N2HET1_31_FREQ.VALUE=1 -DRIVER.DCC.VAR.DCC2_COUNT0_SEED.VALUE=0 -DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE0.VALUE=OSCIN -DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE1.VALUE=VCLK -DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE0_FREQ.VALUE=16.0 -DRIVER.DCC.VAR.DCC1_VALID0_SEED.VALUE=1584 -DRIVER.DCC.VAR.DCC1_BASE.VALUE=0xFFFFEC00 -DRIVER.DCC.VAR.DCC2_COUNT1_SEED.VALUE=0 -DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE1_FREQ.VALUE=160.00 -DRIVER.DCC.VAR.DCC1_CLOCK_DRIFT.VALUE=1.0 -DRIVER.DCC.VAR.DCC1_ENABLE.VALUE=0xA -DRIVER.DCC.VAR.DCC1_ENABLE_SINGLESHOT_MODE.VALUE=0x5 -DRIVER.DCC.VAR.DCC2_ENABLE_SINGLESHOT_MODE.VALUE=0x5 -DRIVER.DCC.VAR.DCC2_BASE.VALUE=0xFFFFF400 -DRIVER.DCC.VAR.DCC1_DONE_INTERRUPT_ENABLE.VALUE=0xA -DRIVER.DCC.VAR.DCC2_DONE_INTERRUPT_ENABLE.VALUE=0xA -DRIVER.DCC.VAR.DCC2_ENABLE_KEY.VALUE=0xA -DRIVER.DCC.VAR.DCC1_COUNT0_SEED.VALUE=78408 -DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE0_VALUE.VALUE=0x0001 -DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE0.VALUE=OSCIN -DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE1.VALUE=PLL1 -DRIVER.DCC.VAR.CLKT_TCK_FREQ.VALUE=12.0 -DRIVER.DCC.VAR.DCC1_COUNT1_SEED.VALUE=792000 -DRIVER.PINMUX.VAR.DMA_EIDXS_28.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_20.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_12.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_2.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_2.VALUE=0 -DRIVER.PINMUX.VAR.MUX61_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX53_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX45_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX37_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX29_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX7_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_29.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_21.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_13.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_3.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_3.VALUE=0 -DRIVER.PINMUX.VAR.MUX61_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX53_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX45_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX37_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX29_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX7_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_30.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_22.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_14.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_10.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_4.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_4.VALUE=0 -DRIVER.PINMUX.VAR.ETPWM_TIME_BASE_SELECT.VALUE=OFF -DRIVER.PINMUX.VAR.MUX61_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX53_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX50_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX45_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX42_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX37_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX34_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX29_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX26_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX18_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_31.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_29_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_27_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXD_23.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_19_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXD_15.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_11.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_5.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_5.VALUE=0 -DRIVER.PINMUX.VAR.MUX61_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX53_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX45_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX37_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX29_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_24.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_20.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_16.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_12.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_6.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_6.VALUE=0 -DRIVER.PINMUX.VAR.MUX61_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX53_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX45_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX37_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX29_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_25.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_21.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_17.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_13.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_7.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_7.VALUE=0 -DRIVER.PINMUX.VAR.MUX53_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX45_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX37_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX29_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_30.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_26.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_22.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_18.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_14.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_8.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_8.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_10.VALUE=1 -DRIVER.PINMUX.VAR.MUX99_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_96_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_88_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_5_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_31.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_27.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_23.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_21_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXD_19.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_15.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_9.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_9.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_11.VALUE=1 -DRIVER.PINMUX.VAR.DMA_FIDXD_28.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_24.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_16.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_12.VALUE=1 -DRIVER.PINMUX.VAR.MUX30_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX22_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX14_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_FIDXD_29.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_25.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_17.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_13.VALUE=1 -DRIVER.PINMUX.VAR.MUX30_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX22_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX14_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_26.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_18.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_14.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_10.VALUE=1 -DRIVER.PINMUX.VAR.MUX30_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX22_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX14_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_81_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_73_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_65_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_57_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_49_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_27.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_19.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_15.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_11.VALUE=1 -DRIVER.PINMUX.VAR.DMA_CHPR_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX30_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX22_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX14_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_28.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_16.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_12.VALUE=1 -DRIVER.PINMUX.VAR.MUX30_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX22_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX14_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_29.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_13.VALUE=1 -DRIVER.PINMUX.VAR.MUX30_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX22_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX14_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_14.VALUE=1 -DRIVER.PINMUX.VAR.MUX101_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_50_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_42_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_34_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_26_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_18_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ADDMW_28_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_15.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ENABLEINT_1.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_16.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ENABLEINT_2.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ENABLEINT_3.VALUE=1 -DRIVER.PINMUX.VAR.DMA_PRITY_10.VALUE=FIXED -DRIVER.PINMUX.VAR.DMA_ENABLEINT_4.VALUE=1 -DRIVER.PINMUX.VAR.PINMUX10.VALUE=PINMUX_PIN_86_AD1EVT -DRIVER.PINMUX.VAR.MUX11_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_11_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_PRITY_11.VALUE=FIXED -DRIVER.PINMUX.VAR.DMA_CHPR_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.PINMUX11.VALUE=PINMUX_PIN_91_MIBSPI1NCS_5 -DRIVER.PINMUX.VAR.DMA_PRITY_12.VALUE=FIXED -DRIVER.PINMUX.VAR.PINMUX20.VALUE=PINMUX_PIN_130_MIBSPI1NCS_1 -DRIVER.PINMUX.VAR.PINMUX12.VALUE="PINMUX_PIN_92_HET1_26 | PINMUX_PIN_96_MIBSPI1NENA | PINMUX_PIN_97_MIBSPI5NENA" -DRIVER.PINMUX.VAR.DMA_PRITY_13.VALUE=FIXED -DRIVER.PINMUX.VAR.PINMUX21.VALUE=PINMUX_PIN_133_GIOB_1 -DRIVER.PINMUX.VAR.PINMUX13.VALUE="PINMUX_PIN_98_MIBSPI5SOMI_0 | PINMUX_PIN_99_MIBSPI5SIMO_0 | PINMUX_PIN_100_MIBSPI5CLK | PINMUX_PIN_105_MIBSPI1NCS_0" -DRIVER.PINMUX.VAR.DMA_PRITY_14.VALUE=FIXED -DRIVER.PINMUX.VAR.PINMUX14.VALUE="PINMUX_PIN_106_MIBSPI1SIMO_1 | PINMUX_PIN_107_HET1_28" -DRIVER.PINMUX.VAR.MUX92_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX84_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX76_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX68_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_21_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_15.VALUE=FIXED -DRIVER.PINMUX.VAR.DMA_PRITY_16.VALUE=FIXED -DRIVER.PINMUX.VAR.PINMUX33.VALUE="PINMUX_PIN_36_HET1_04 | PINMUX_PIN_51_MIBSPI3SOMI | PINMUX_PIN_52_MIBSPI3SIMO | PINMUX_PIN_53_MIBSPI3CLK" -DRIVER.PINMUX.VAR.PINMUX17.VALUE="PINMUX_PIN_118_HET1_10 | PINMUX_PIN_124_HET1_12" -DRIVER.PINMUX.VAR.PINMUX34.VALUE="PINMUX_PIN_139_HET1_16 | PINMUX_PIN_140_HET1_18 | PINMUX_PIN_141_HET1_20" -DRIVER.PINMUX.VAR.PINMUX18.VALUE="PINMUX_PIN_125_HET1_14 | PINMUX_PIN_126_GIOB_0" -DRIVER.PINMUX.VAR.DMA_ADDMR_26_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_20_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_18_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.PINMUX35.VALUE=0 -DRIVER.PINMUX.VAR.PINMUX27.VALUE=PINMUX_PIN_32_MIBSPI5NCS_0 -DRIVER.PINMUX.VAR.PINMUX19.VALUE=PINMUX_PIN_127_HET1_30 -DRIVER.PINMUX.VAR.MUX98_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX98_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_10.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.MUX98_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX7_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_11.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_PRITY_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX98_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_20.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_12.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.MUX100_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX98_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_21.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_13.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.MUX100_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_30.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_22.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_14.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_FIDXS_0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_0.VALUE=ENABLED -DRIVER.PINMUX.VAR.MUX100_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_109_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_31.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_23.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_15.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_TTYPE_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXS_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_1.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_ENABLEREG_1.VALUE=1 -DRIVER.PINMUX.VAR.MUX100_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_24.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_16.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_FIDXS_2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_2.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_ENABLEREG_2.VALUE=1 -DRIVER.PINMUX.VAR.MUX100_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX91_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX83_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX75_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX67_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX59_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_25.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_17.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_FIDXS_3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_3.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_ENABLEREG_3.VALUE=1 -DRIVER.PINMUX.VAR.MUX91_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX83_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX75_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX67_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX59_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_26.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_18.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_FIDXS_4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_4.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_ENABLEREG_4.VALUE=1 -DRIVER.PINMUX.VAR.MUX91_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX83_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX75_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX67_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX61_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX59_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX53_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX45_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX37_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX29_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_102_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_30_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_27.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_22_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_19.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXS_5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_5.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_ADDMR_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_0_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX91_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX83_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX75_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX67_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX59_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_28.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_FIDXS_6.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_6.VALUE=ENABLED -DRIVER.PINMUX.VAR.ETPWM2_EQEPERR12.VALUE=EQEPERR12 -DRIVER.PINMUX.VAR.MUX91_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX83_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX75_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX67_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX59_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX6_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_CHANNEL_29.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_FIDXS_7.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_7.VALUE=ENABLED -DRIVER.PINMUX.VAR.MUX6_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_8.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_8.VALUE=ENABLED -DRIVER.PINMUX.VAR.MUX6_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_31_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_26_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_23_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_18_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXS_9.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_9.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX6_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX60_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX52_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX44_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX36_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX28_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX6_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX60_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX52_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX44_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX36_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.MUX28_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.MUX6_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_10.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_10.VALUE=0 -DRIVER.PINMUX.VAR.MUX60_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX52_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX44_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX36_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX28_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_31_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_25_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_23_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_17_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_11.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_11.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTASS_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX60_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX52_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX44_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX36_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX28_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_20.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_20.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_12.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_12.VALUE=0 -DRIVER.PINMUX.VAR.MUX60_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX52_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX44_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX36_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX28_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_21.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_21.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_13.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_13.VALUE=0 -DRIVER.PINMUX.VAR.MUX52_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX44_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX36_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX28_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_30.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_30.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_22.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_22.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_14.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_14.VALUE=0 -DRIVER.PINMUX.VAR.MUX104_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_94_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_86_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_78_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_3_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.DMA_TTYPE_31.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_31.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_23.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_23.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_15.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_15.VALUE=0 -DRIVER.PINMUX.VAR.DMA_PRITY_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ACC_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_STADD_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_24.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_24.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_16.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_16.VALUE=0 -DRIVER.PINMUX.VAR.DMA_STADD_2.VALUE=0 -DRIVER.PINMUX.VAR.MUX21_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX13_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_25.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_25.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_17.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_17.VALUE=0 -DRIVER.PINMUX.VAR.DMA_STADD_3.VALUE=0 -DRIVER.PINMUX.VAR.MUX21_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX13_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_26.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_26.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_18.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_18.VALUE=0 -DRIVER.PINMUX.VAR.DMA_STADD_4.VALUE=0 -DRIVER.PINMUX.VAR.MUX30_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX22_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX21_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX14_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX13_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_71_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_63_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_55_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_47_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_39_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_27.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_27.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_19.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_19.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX21_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX13_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_28.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_28.VALUE=0 -DRIVER.PINMUX.VAR.MUX21_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX13_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_29.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_29.VALUE=0 -DRIVER.PINMUX.VAR.MUX21_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX13_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_0.VALUE=0 -DRIVER.PINMUX.VAR.MUX95_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX87_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX79_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_40_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_32_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_24_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_16_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_27_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_24_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_19_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TRIG_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_2.VALUE=0 -DRIVER.PINMUX.VAR.ETPWM7_EQEPERR12.VALUE=EQEPERR12 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_0.VALUE=CONSTANT -DRIVER.PINMUX.VAR.ETPWM_TBCLK_SELECT.VALUE=OFF -DRIVER.PINMUX.VAR.DMA_TTYPE_28_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_1.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_6.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_2.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_7.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_3.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_8.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_4.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_0.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_28_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_9.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_5.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_1.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_ADDMR_6.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_2.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_ADDMR_7.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_3.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_ADDMR_8.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_4.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_ADDMR_30_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_22_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_9.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_5.VALUE=8BIT -DRIVER.PINMUX.VAR.GATE_EMIF_CLK.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_6.VALUE=8BIT -DRIVER.PINMUX.VAR.MUX97_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX89_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_7.VALUE=8BIT -DRIVER.PINMUX.VAR.MUX97_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX89_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_8.VALUE=8BIT -DRIVER.PINMUX.VAR.MUX97_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX89_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX80_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX72_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX64_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX56_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX48_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_9.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_ADDMW_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX97_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX89_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX97_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX89_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_107_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_29_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX90_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX82_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX74_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX66_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX58_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_DEBUGMODE.VALUE=IGNORE_SUSPEND -DRIVER.PINMUX.VAR.MUX90_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX82_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX74_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX66_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX58_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_0.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ERRACT.VALUE=IGNORE -DRIVER.PINMUX.VAR.MUX90_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX82_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX74_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX66_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX58_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX3_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_100_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_1.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_CHPR_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX90_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX82_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX74_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX66_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX58_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_2.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_BASE_PORT.VALUE=0xFFFFF040 -DRIVER.PINMUX.VAR.MUX90_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX82_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX74_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX66_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX58_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX5_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ADDMW_3.VALUE=CONSTANT -DRIVER.PINMUX.VAR.MUX5_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_4.VALUE=CONSTANT -DRIVER.PINMUX.VAR.MUX5_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_30_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_22_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_5.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_1.VALUE=1 -DRIVER.PINMUX.VAR.MUX5_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_6.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_INTFTCEN_2.VALUE=1 -DRIVER.PINMUX.VAR.MUX51_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX43_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX35_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX27_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX19_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX5_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_7.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_INTFTCEN_3.VALUE=1 -DRIVER.PINMUX.VAR.MUX51_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX43_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX35_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.MUX27_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX19_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.MUX5_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_8.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_INTEN_10.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_4.VALUE=1 -DRIVER.PINMUX.VAR.MUX51_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX43_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX41_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX35_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX33_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX27_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX25_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX19_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX17_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_99_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_8_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_27_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_21_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_19_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_9.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_INTEN_11.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_5.VALUE=1 -DRIVER.PINMUX.VAR.MUX51_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX43_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX35_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX27_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX19_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTEN_12.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_6.VALUE=1 -DRIVER.PINMUX.VAR.MUX51_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX43_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX35_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX27_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX19_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTEN_13.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_7.VALUE=1 -DRIVER.PINMUX.VAR.MUX51_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX43_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX35_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX27_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX19_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTEN_14.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_8.VALUE=1 -DRIVER.PINMUX.VAR.ALT_ADC_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.MUX98_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_92_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_84_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_76_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_68_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_1_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTEN_15.VALUE=1 -DRIVER.PINMUX.VAR.DMA_PRITY_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_9.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTEN_16.VALUE=1 -DRIVER.PINMUX.VAR.MUX20_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX12_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX20_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX12_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX20_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX12_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_61_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_53_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_45_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_37_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_29_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX20_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX12_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX20_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX12_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX20_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX12_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX100_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_30_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_22_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_14_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_31_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_23_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_20_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_0_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX10_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_27_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_24_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_19_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ENDADD_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ENDADD_2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ENDADD_3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ENDADD_4.VALUE=0 -DRIVER.PINMUX.VAR.MUX91_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX83_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX75_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX67_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX59_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_26_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_24_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_18_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTASS_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTASS_1.VALUE=TO_VIM -DRIVER.PINMUX.VAR.DMA_INTASS_2.VALUE=TO_VIM -DRIVER.PINMUX.VAR.ETPWM5_EQEPERR12.VALUE=EQEPERR12 -DRIVER.PINMUX.VAR.CONCOUNT.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTASS_3.VALUE=TO_VIM -DRIVER.PINMUX.VAR.DMA_INTASS_4.VALUE=TO_VIM -DRIVER.PINMUX.VAR.DMA_ADDMR_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHAS_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ACC_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHAS_2.VALUE=0 -DRIVER.PINMUX.VAR.MUX96_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX88_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHAS_3.VALUE=0 -DRIVER.PINMUX.VAR.MUX96_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX88_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_10.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_10.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_0.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_CHAS_4.VALUE=0 -DRIVER.PINMUX.VAR.MUX96_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX88_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX6_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_11.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_11.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_ADDMW_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_1.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_INTMP_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHAS_5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHPR_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX96_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX88_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_20.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_20.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_FIDXS_12.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_12.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_2.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_CHAS_6.VALUE=0 -DRIVER.PINMUX.VAR.MUX96_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX88_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_21.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_21.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_FIDXS_13.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_13.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_3.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_CHAS_7.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_30.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_30.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_FIDXS_22.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_22.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_FIDXS_14.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_14.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_4.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_CHAS_8.VALUE=0 -DRIVER.PINMUX.VAR.GIOB_DISABLE_SELECT.VALUE=OFF -DRIVER.PINMUX.VAR.PIN_MUX_105_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_31.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_31.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_28_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_25_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXS_23.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_23.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_ADDMW_17_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXS_15.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_15.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_ADDMR_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_5.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_TRIG_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHAS_9.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_24.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_24.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_FIDXS_16.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_16.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_6.VALUE=8BIT -DRIVER.PINMUX.VAR.MUX81_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX73_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX65_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX57_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX49_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_FIDXS_25.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_25.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_FIDXS_17.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_17.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_7.VALUE=8BIT -DRIVER.PINMUX.VAR.MUX81_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX73_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX65_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX57_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX49_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_26.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_26.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_FIDXS_18.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_18.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_8.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_0.VALUE=0 -DRIVER.PINMUX.VAR.MUX81_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX73_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX65_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX60_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX57_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX52_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX49_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX44_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX36_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX28_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_29_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXS_27.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_27.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_FIDXS_19.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_19.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_9.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ENABLE1.VALUE=1 -DRIVER.PINMUX.VAR.MUX81_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX73_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX65_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX57_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX49_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXS_28.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_28.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_2.VALUE=0 -DRIVER.PINMUX.VAR.MUX81_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX73_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX65_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX57_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX49_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX4_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_FIDXS_29.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_29.VALUE=ENABLED -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_3.VALUE=0 -DRIVER.PINMUX.VAR.MUX57_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX49_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX4_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_BYP_10.VALUE=1 -DRIVER.PINMUX.VAR.ECAP.VALUE=0 -DRIVER.PINMUX.VAR.MUX4_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_29_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_0_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_BYP_11.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_1.VALUE=1 -DRIVER.PINMUX.VAR.MUX4_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_6.VALUE=0 -DRIVER.PINMUX.VAR.DMA_BYP_12.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_2.VALUE=1 -DRIVER.PINMUX.VAR.MUX50_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX42_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX34_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX26_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX18_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX4_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_7.VALUE=0 -DRIVER.PINMUX.VAR.DMA_BYP_13.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_3.VALUE=1 -DRIVER.PINMUX.VAR.MUX50_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX42_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX34_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX26_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX18_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.MUX4_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_8.VALUE=0 -DRIVER.PINMUX.VAR.DMA_BYP_14.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_4.VALUE=1 -DRIVER.PINMUX.VAR.MUX50_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX42_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX34_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX26_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX18_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_97_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_89_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_6_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_31_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_23_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_IFT_COUNT_9.VALUE=0 -DRIVER.PINMUX.VAR.DMA_BYP_15.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_5.VALUE=1 -DRIVER.PINMUX.VAR.DMA_PRITY_1.VALUE=FIXED -DRIVER.PINMUX.VAR.MUX50_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX42_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX34_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX26_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX18_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_BYP_16.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_6.VALUE=1 -DRIVER.PINMUX.VAR.DMA_PRITY_2.VALUE=FIXED -DRIVER.PINMUX.VAR.MUX50_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX42_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX34_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX26_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX18_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_7.VALUE=1 -DRIVER.PINMUX.VAR.DMA_PRITY_3.VALUE=FIXED -DRIVER.PINMUX.VAR.MUX50_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX42_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX34_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX26_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX18_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_8.VALUE=1 -DRIVER.PINMUX.VAR.DMA_PRITY_4.VALUE=FIXED -DRIVER.PINMUX.VAR.MUX103_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_90_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_82_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_74_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_66_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_58_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTBTCEN_9.VALUE=1 -DRIVER.PINMUX.VAR.DMA_TRIG_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_5.VALUE=FIXED -DRIVER.PINMUX.VAR.DMA_PRITY_6.VALUE=FIXED -DRIVER.PINMUX.VAR.MUX11_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_PRITY_7.VALUE=FIXED -DRIVER.PINMUX.VAR.MUX11_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_PRITY_8.VALUE=FIXED -DRIVER.PINMUX.VAR.MUX21_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX13_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX11_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_51_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_43_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_35_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_27_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_19_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.DMA_TTYPE_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_9.VALUE=FIXED -DRIVER.PINMUX.VAR.MUX11_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX11_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.ETPWM_TBCLK_SYNC_ENABLE.VALUE=0 -DRIVER.PINMUX.VAR.AD1.VALUE=0 -DRIVER.PINMUX.VAR.MUX11_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.AD2.VALUE=0 -DRIVER.PINMUX.VAR.MUX94_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX86_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX78_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_20_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_12_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_0_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_31_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_23_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_20_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX9_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_30_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_28_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_22_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_20_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_0_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX104_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX104_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX104_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_PRITY_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.ALT_ADC.VALUE=0 -DRIVER.PINMUX.VAR.I2C.VALUE=1 -DRIVER.PINMUX.VAR.MUX104_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX104_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX95_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX87_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX79_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX95_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX87_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX79_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX95_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX87_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX79_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX71_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX63_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX55_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX47_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX39_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_DEBUGMODE_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX95_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX87_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX79_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.ETPWM3_EQEPERR12.VALUE=EQEPERR12 -DRIVER.PINMUX.VAR.MUX95_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX87_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX79_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_10.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_103_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_24_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_21_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_11.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_20.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_12.VALUE=0 -DRIVER.PINMUX.VAR.MUX80_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX72_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX64_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX56_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX48_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_21.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_13.VALUE=0 -DRIVER.PINMUX.VAR.HET1.VALUE=1 -DRIVER.PINMUX.VAR.MUX80_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX72_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX64_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX56_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX48_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_30.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_22.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_14.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_10.VALUE=0 -DRIVER.PINMUX.VAR.HET2.VALUE=0 -DRIVER.PINMUX.VAR.MUX80_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX72_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX64_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX56_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX48_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX2_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_31.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_28_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_25_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_23.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_17_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_15.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_11.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTEN_1.VALUE=1 -DRIVER.PINMUX.VAR.MUX80_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX72_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX64_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX56_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX48_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_24.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_20.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_16.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_12.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTEN_2.VALUE=1 -DRIVER.PINMUX.VAR.MUX80_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX72_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX64_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX56_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX48_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX3_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_25.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_21.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_17.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_13.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTEN_3.VALUE=1 -DRIVER.PINMUX.VAR.MUX56_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX48_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX3_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.DMA_EIDXD_30.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_26.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_22.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_18.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_14.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_10.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_INTEN_4.VALUE=1 -DRIVER.PINMUX.VAR.MUX3_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_31.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_27_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_27.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_25_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXD_23.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_19_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_19.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_17_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXD_15.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_11.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_AIM_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTEN_5.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTASS_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX3_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_28.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_24.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_20.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_16.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_12.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_INTEN_6.VALUE=1 -DRIVER.PINMUX.VAR.EMIF.VALUE=0 -DRIVER.PINMUX.VAR.MUX41_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX33_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX25_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX17_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX3_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_29.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_25.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_21.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_17.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_13.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_INTEN_7.VALUE=1 -DRIVER.PINMUX.VAR.ETPWM_TZ1.VALUE=ASYNC -DRIVER.PINMUX.VAR.MUX41_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX33_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX25_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.MUX17_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX3_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_30.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_26.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_22.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_18.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_14.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_10.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTEN_8.VALUE=1 -DRIVER.PINMUX.VAR.ETPWM_TZ2.VALUE=ASYNC -DRIVER.PINMUX.VAR.MUX41_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX40_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX33_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX32_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX25_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX24_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX17_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX16_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_95_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_87_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_79_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_4_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_31.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_27.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_23.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_19.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_15.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ADDMR_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_11.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTEN_9.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ACC_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.ETPWM_TZ3.VALUE=ASYNC -DRIVER.PINMUX.VAR.MUX41_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX33_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX25_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX17_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_28.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_24.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_20.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_16.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_12.VALUE=0 -DRIVER.PINMUX.VAR.MUX41_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX33_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX25_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX17_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_29.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_25.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_21.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_17.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_13.VALUE=0 -DRIVER.PINMUX.VAR.MUX41_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX33_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX25_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX17_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_30.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_26.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_22.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_18.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_14.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_10.VALUE=8BIT -DRIVER.PINMUX.VAR.MUX97_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX89_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_80_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_72_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_64_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_56_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_48_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_31.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_27.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_23.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_19.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_15.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_11.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_ADDMW_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.GIOA.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ADDMR_28.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_24.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_20.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_16.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_12.VALUE=8BIT -DRIVER.PINMUX.VAR.GIOB.VALUE=0 -DRIVER.PINMUX.VAR.MUX10_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ADDMR_29.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_25.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_21.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_17.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_13.VALUE=8BIT -DRIVER.PINMUX.VAR.GIOB_DISABLE.VALUE=0 -DRIVER.PINMUX.VAR.MUX10_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_30.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_26.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_22.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_18.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_14.VALUE=8BIT -DRIVER.PINMUX.VAR.MUX10_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_41_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_33_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_25_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.PIN_MUX_17_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_31.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_29_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_27.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_26_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_23.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_19.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_18_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_15.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_CHANNEL_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX10_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_28.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_24.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_16.VALUE=8BIT -DRIVER.PINMUX.VAR.MUX10_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_29.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_25.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_17.VALUE=8BIT -DRIVER.PINMUX.VAR.MUX10_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_26.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_18.VALUE=8BIT -DRIVER.PINMUX.VAR.PIN_MUX_10_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_27.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_19.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_BYP_1.VALUE=1 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_28.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_BYP_2.VALUE=1 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_29.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_BYP_3.VALUE=1 -DRIVER.PINMUX.VAR.DMA_BYP_4.VALUE=1 -DRIVER.PINMUX.VAR.EQEP.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_BYP_5.VALUE=1 -DRIVER.PINMUX.VAR.DMA_BYP_6.VALUE=1 -DRIVER.PINMUX.VAR.DMA_BYP_7.VALUE=1 -DRIVER.PINMUX.VAR.DMA_BYP_8.VALUE=1 -DRIVER.PINMUX.VAR.MUX90_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX82_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX74_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX66_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX58_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_24_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_BYP_9.VALUE=1 -DRIVER.PINMUX.VAR.MIBSPI1.VALUE=1 -DRIVER.PINMUX.VAR.MUX103_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MIBSPI3.VALUE=1 -DRIVER.PINMUX.VAR.MUX103_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.OHCI0.VALUE=0 -DRIVER.PINMUX.VAR.MUX103_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MIBSPI5.VALUE=0 -DRIVER.PINMUX.VAR.W2FC.VALUE=0 -DRIVER.PINMUX.VAR.OHCI1.VALUE=0 -DRIVER.PINMUX.VAR.MUX103_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX103_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX94_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX86_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX78_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX94_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX86_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX78_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX94_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX86_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX78_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX5_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_108_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX94_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX86_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX78_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX94_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX86_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX78_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX9_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX9_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHPR_10.VALUE=HIGH -DRIVER.PINMUX.VAR.MUX9_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_101_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_20_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXD_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_11.VALUE=HIGH -DRIVER.PINMUX.VAR.DMA_PRITY_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX9_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHPR_12.VALUE=HIGH -DRIVER.PINMUX.VAR.MUX71_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX63_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX55_OPTION0.VALUE=0 -<<<<<<< HEAD -DRIVER.PINMUX.VAR.MUX47_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX39_OPTION0.VALUE=1 -======= -DRIVER.PINMUX.VAR.MUX47_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX39_OPTION0.VALUE=0 ->>>>>>> master -DRIVER.PINMUX.VAR.MUX9_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXD_3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHPR_13.VALUE=HIGH -DRIVER.PINMUX.VAR.MUX71_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX63_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX55_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX47_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX39_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX9_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_10.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHPR_14.VALUE=HIGH -DRIVER.PINMUX.VAR.MUX71_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX63_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX55_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX51_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX47_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX43_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX39_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX35_CONFLICT.VALUE=1 -DRIVER.PINMUX.VAR.MUX27_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX19_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_24_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_21_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_11.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXD_5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHPR_15.VALUE=HIGH -DRIVER.PINMUX.VAR.MUX71_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX63_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX55_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX47_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX39_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_20.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ADDMW_12.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_6.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHPR_16.VALUE=HIGH -DRIVER.PINMUX.VAR.ETPWM1_EQEPERR12.VALUE=EQEPERR12 -DRIVER.PINMUX.VAR.MUX71_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX63_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX55_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX47_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX39_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX2_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ADDMW_21.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ADDMW_13.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_7.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_3.VALUE=0 -DRIVER.PINMUX.VAR.MUX55_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX47_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX39_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX2_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ADDMW_30.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ADDMW_22.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ADDMW_14.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_EIDXD_8.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TRIG_10.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.MUX2_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_9_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_31.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_CHANNEL_31_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_29_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_23.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_CHANNEL_23_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_21_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_15.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_CHANNEL_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXD_9.VALUE=0 -DRIVER.PINMUX.VAR.DMA_IET_COUNT_5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_11.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.MUX2_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_24.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ADDMW_16.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_6.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TRIG_12.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.MUX40_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX32_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX24_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX16_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX2_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_25.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ADDMW_17.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_7.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TRIG_13.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.MUX40_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX32_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX24_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX16_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX2_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_26.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ADDMW_18.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_8.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TRIG_14.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_INTFTCEN_10.VALUE=1 -DRIVER.PINMUX.VAR.MUX40_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX32_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX24_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX16_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_93_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_85_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_77_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_69_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_2_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.DMA_ADDMW_27.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_ADDMW_19.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_IET_COUNT_9.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TRIG_15.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_PRITY_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_11.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX40_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX32_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX24_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX16_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_28.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_TRIG_16.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_INTFTCEN_12.VALUE=1 -DRIVER.PINMUX.VAR.MUX40_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX32_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX24_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX16_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_29.VALUE=CONSTANT -DRIVER.PINMUX.VAR.DMA_INTFTCEN_13.VALUE=1 -DRIVER.PINMUX.VAR.MUX40_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX32_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX24_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX16_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_14.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTHBCEN_10.VALUE=1 -DRIVER.PINMUX.VAR.MUX102_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_70_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_62_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_54_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_46_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_38_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_0_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_15.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTHBCEN_11.VALUE=1 -DRIVER.PINMUX.VAR.DMA_CHPR_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ERRACT_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MII.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTFTCEN_16.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTHBCEN_12.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTHBCEN_13.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTHBCEN_14.VALUE=1 -DRIVER.PINMUX.VAR.GATE_EMIF_CLK_SELECT.VALUE=OFF -DRIVER.PINMUX.VAR.MUX20_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX12_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_31_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_23_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_15_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_30_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_25_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_22_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_17_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTHBCEN_15.VALUE=1 -DRIVER.PINMUX.VAR.DMA_TRIG_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHPR_1.VALUE=HIGH -DRIVER.PINMUX.VAR.DMA_INTHBCEN_16.VALUE=1 -DRIVER.PINMUX.VAR.DMA_CHPR_2.VALUE=HIGH -DRIVER.PINMUX.VAR.DMA_CHPR_3.VALUE=HIGH -DRIVER.PINMUX.VAR.ETPWM_TIME_BASE_SYNC_ENABLE.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTMP_10.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_CHPR_4.VALUE=HIGH -DRIVER.PINMUX.VAR.MUX93_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX85_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX77_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX69_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_29_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_26_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_18_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_11.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_CHPR_5.VALUE=HIGH -DRIVER.PINMUX.VAR.DMA_TRIG_1.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.ETPWM_EPWM1SYNCI.VALUE=ASYNC -DRIVER.PINMUX.VAR.DMA_INTMP_12.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_CHPR_6.VALUE=HIGH -DRIVER.PINMUX.VAR.DMA_TRIG_2.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.ETPWM6_EQEPERR12.VALUE=EQEPERR12 -DRIVER.PINMUX.VAR.DMA_INTMP_13.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_CHPR_7.VALUE=HIGH -DRIVER.PINMUX.VAR.DMA_TRIG_3.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_INTMP_14.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_CHPR_8.VALUE=HIGH -DRIVER.PINMUX.VAR.DMA_TRIG_4.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_CHANNEL_28_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_26_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_18_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_6_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_15.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_CHPR_9.VALUE=HIGH -DRIVER.PINMUX.VAR.DMA_TRIG_5.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_INTHBCEN_1.VALUE=1 -DRIVER.PINMUX.VAR.SCI.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_16.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_TRIG_6.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_INTHBCEN_2.VALUE=1 -DRIVER.PINMUX.VAR.DMA_TRIG_7.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_INTHBCEN_3.VALUE=1 -DRIVER.PINMUX.VAR.DMA_TRIG_8.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_INTHBCEN_4.VALUE=1 -DRIVER.PINMUX.VAR.MUX8_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_20_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_9_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_9.VALUE=HARDWARE_TRIGGER -DRIVER.PINMUX.VAR.DMA_INTHBCEN_5.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_1.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_INTHBCEN_6.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_2.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_ENABLEPAR.VALUE=1 -DRIVER.PINMUX.VAR.MUX102_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTHBCEN_7.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_3.VALUE=GROUP_A -DRIVER.PINMUX.VAR.MUX102_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTHBCEN_8.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_4.VALUE=GROUP_A -DRIVER.PINMUX.VAR.MUX102_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTHBCEN_9.VALUE=1 -DRIVER.PINMUX.VAR.DMA_CHPR_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_5.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_TRIG_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ACC_1.VALUE=ALL -DRIVER.PINMUX.VAR.ETPWM.VALUE=0 -DRIVER.PINMUX.VAR.MUX102_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTMP_6.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_ACC_2.VALUE=ALL -DRIVER.PINMUX.VAR.MUX102_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX93_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX85_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX77_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX69_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTMP_7.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_ACC_3.VALUE=ALL -DRIVER.PINMUX.VAR.MUX93_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX85_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX77_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX69_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTMP_8.VALUE=GROUP_A -DRIVER.PINMUX.VAR.DMA_ACC_4.VALUE=ALL -DRIVER.PINMUX.VAR.MUX93_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX85_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX77_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX70_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX69_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX62_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX54_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX46_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX38_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_106_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_27_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_19_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_0_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTMP_9.VALUE=GROUP_A -DRIVER.PINMUX.VAR.MUX93_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX85_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX77_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX69_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX93_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX85_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX77_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX69_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX8_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX8_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX8_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_BASE.VALUE=0xFFFFF000 -DRIVER.PINMUX.VAR.MUX8_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX70_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX62_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX54_OPTION0.VALUE=0 -<<<<<<< HEAD -DRIVER.PINMUX.VAR.MUX46_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX38_OPTION0.VALUE=1 -======= -DRIVER.PINMUX.VAR.MUX46_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX38_OPTION0.VALUE=0 ->>>>>>> master -DRIVER.PINMUX.VAR.MUX8_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX70_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX62_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX54_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX46_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX38_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX8_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX70_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX62_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX54_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX46_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX38_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX1_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_20_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_12_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX70_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX62_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX54_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX46_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX38_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX70_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX62_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX54_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX46_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX38_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX1_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX54_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX46_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX38_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX1_OPTION1.VALUE=1 -DRIVER.PINMUX.VAR.MUX1_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_98_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_7_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_25_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_17_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX1_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX31_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX23_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX15_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.MUX1_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX31_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX23_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX15_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX1_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX31_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX31_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX23_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX23_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX15_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX15_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_91_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_83_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_75_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_67_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_59_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TRIG_8_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX31_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX23_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX15_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX31_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX23_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX15_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX31_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX23_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.MUX15_OPTION5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_0.VALUE=0 -DRIVER.PINMUX.VAR.MUX96_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX88_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_60_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_52_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_44_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_36_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.PIN_MUX_28_SELECT.VALUE=1 -DRIVER.PINMUX.VAR.DMA_TTYPE_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXS_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_0.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_21_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_13_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_21_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_13_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMW_10_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXS_5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMR_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXD_1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHPR_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_PRITY_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_BASE_RAM.VALUE=0xFFF80000 -DRIVER.PINMUX.VAR.DMA_EIDXS_6.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_7.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_8.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHAS_10.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_30_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_25_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_22_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_AIM_17_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TTYPE_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXS_9.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXD_5.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHAS_11.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_1.VALUE=1 -DRIVER.PINMUX.VAR.DMA_FIDXD_6.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHAS_12.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_2.VALUE=1 -DRIVER.PINMUX.VAR.SPI2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_7.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHAS_13.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_3.VALUE=1 -DRIVER.PINMUX.VAR.DMA_FIDXD_8.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHAS_14.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_4.VALUE=1 -DRIVER.PINMUX.VAR.SPI4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_30_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_24_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_22_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_16_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXD_9.VALUE=0 -DRIVER.PINMUX.VAR.DMA_AIM_2_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHAS_15.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_5.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTASS_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.RMII.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHAS_16.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_6.VALUE=1 -DRIVER.PINMUX.VAR.PINMUX0.VALUE="PINMUX_PIN_1_GIOB_3 | PINMUX_PIN_2_GIOA_0 | PINMUX_PIN_3_I2C_SCL | PINMUX_PIN_4_I2C_SDA" -DRIVER.PINMUX.VAR.MUX99_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_7.VALUE=1 -DRIVER.PINMUX.VAR.PINMUX1.VALUE="PINMUX_PIN_5_GIOA_1 | PINMUX_PIN_6_MIBSPI3NCS_4" -DRIVER.PINMUX.VAR.MUX99_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_10.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_INTLFSEN_8.VALUE=1 -DRIVER.PINMUX.VAR.PINMUX2.VALUE="PINMUX_PIN_9_GIOA_2 | PINMUX_PIN_14_GIOA_5" -DRIVER.PINMUX.VAR.MUX99_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX81_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX73_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX65_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX57_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.MUX49_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_11.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_PRITY_14_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_INTLFSEN_9.VALUE=1 -DRIVER.PINMUX.VAR.DMA_INTMP_5_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ACC_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.PINMUX3.VALUE="PINMUX_PIN_15_HET1_22 | PINMUX_PIN_16_GIOA_6" -DRIVER.PINMUX.VAR.MUX99_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_20.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_12.VALUE=8BIT -DRIVER.PINMUX.VAR.ETPWM4_EQEPERR12.VALUE=EQEPERR12 -DRIVER.PINMUX.VAR.PINMUX4.VALUE="PINMUX_PIN_22_GIOA_7 | PINMUX_PIN_23_HET1_01 | PINMUX_PIN_24_HET1_03" -DRIVER.PINMUX.VAR.MUX101_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX99_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_21.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_13.VALUE=8BIT -DRIVER.PINMUX.VAR.PINMUX5.VALUE="PINMUX_PIN_25_HET1_0 | PINMUX_PIN_30_HET1_02 | PINMUX_PIN_31_HET1_05" -DRIVER.PINMUX.VAR.MUX101_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_30.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_22.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_14.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_10.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_0.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.PINMUX6.VALUE="PINMUX_PIN_33_HET1_07 | PINMUX_PIN_35_HET1_09" -DRIVER.PINMUX.VAR.MUX101_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_31.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_23.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_15.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_11.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_1_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_1.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHPR_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.ALT_ADC_A.VALUE=0 -DRIVER.PINMUX.VAR.PINMUX7.VALUE="PINMUX_PIN_37_MIBSPI3NCS_1 | PINMUX_PIN_38_SCIRX" -DRIVER.PINMUX.VAR.MUX101_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_24.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_20.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_16.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_12.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_2.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.ALT_ADC_B.VALUE=0 -DRIVER.PINMUX.VAR.PINMUX8.VALUE="PINMUX_PIN_39_SCITX | PINMUX_PIN_40_MIBSPI1NCS_2 | PINMUX_PIN_41_HET1_15" -DRIVER.PINMUX.VAR.MUX101_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX92_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX84_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX76_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.MUX68_OPTION0.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_25.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_21.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_17.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_13.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_3.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.PINMUX9.VALUE="PINMUX_PIN_54_MIBSPI3NCS_5 | PINMUX_PIN_55_MIBSPI3NCS_0" -DRIVER.PINMUX.VAR.MUX92_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX84_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX76_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.MUX68_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_30.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_26.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_22.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_18.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_14.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_4.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.MUX92_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX84_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX76_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX68_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.MUX4_CONFLICT.VALUE=0 -DRIVER.PINMUX.VAR.PIN_MUX_104_SELECT.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_31.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_31_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_27.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_26_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXS_23.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_23_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_19.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_18_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXS_15.VALUE=0 -DRIVER.PINMUX.VAR.DMA_ADDMW_15_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_ADDMR_7_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_CHANNEL_5.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_4_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_3_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_TRIG_11_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.MUX92_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX84_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX76_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.MUX68_OPTION3.VALUE=0 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_28.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_24.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_16.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_6.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.MUX92_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX84_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX76_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX68_OPTION4.VALUE=0 -DRIVER.PINMUX.VAR.MUX7_OPTION0.VALUE=1 -DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_29.VALUE=8BIT -DRIVER.PINMUX.VAR.DMA_EIDXS_25.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_17.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_7.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.MUX7_OPTION1.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_26.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_18.VALUE=0 -DRIVER.PINMUX.VAR.DMA_FIDXD_10.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_8.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_TTYPE_0.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_0.VALUE=0 -DRIVER.PINMUX.VAR.MUX7_OPTION2.VALUE=0 -DRIVER.PINMUX.VAR.DMA_EIDXS_27.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_27_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_EIDXS_19.VALUE=0 -DRIVER.PINMUX.VAR.DMA_TTYPE_19_VALUE.VALUE=0x0001 -DRIVER.PINMUX.VAR.DMA_FIDXD_11.VALUE=0 -DRIVER.PINMUX.VAR.DMA_CHANNEL_9.VALUE=CHANNEL0 -DRIVER.PINMUX.VAR.DMA_TTYPE_1.VALUE=FRAME_TRANSFER -DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_1.VALUE=0 -DRIVER.PINMUX.VAR.MUX7_OPTION3.VALUE=0 -DRIVER.CRC.VAR.CRC_CH2_PSIH.VALUE=0 -DRIVER.CRC.VAR.HTU_CPB_7_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_CH2_PSIL.VALUE=0 -DRIVER.CRC.VAR.HTU_DCP0_TRDIR_1.VALUE=HET_TO_MAIN_MEM -DRIVER.CRC.VAR.CRC_CH1_CCI.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_ICPBL_7_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_ICPA_5_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_ICPB_1_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_DEBMOD_1.VALUE=0 -DRIVER.CRC.VAR.CRC_CH1_CFI.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_ICPAL_1_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_ENABUS_1.VALUE=0 -DRIVER.CRC.VAR.HTU_CPA_2_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_CH2_WDTO.VALUE=0x00000000 -DRIVER.CRC.VAR.CRC_CH2_CCI.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_MP1_ACC_1.VALUE=READ_ONLY -DRIVER.CRC.VAR.HTU_CONTPAR_1.VALUE=0 -DRIVER.CRC.VAR.CRC_CH2_CFI.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_ICPB_6_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_DCP0_EC_1.VALUE=0 -DRIVER.CRC.VAR.HTU_DCP0_CPBFULADD_1.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPAL_6_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_CPA_7_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_CPB_3_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_CH1_DTE.VALUE=0 -DRIVER.CRC.VAR.HTU_DCP0_FC_1.VALUE=0 -DRIVER.CRC.VAR.CRC_CH1_CVH.VALUE=0x00000000 -DRIVER.CRC.VAR.CRC_CH1_PSSIH.VALUE=0 -DRIVER.CRC.VAR.HTU_BASE.VALUE=0xFFF7A400 -DRIVER.CRC.VAR.CRC_CH1_CVL.VALUE=0x00000000 -DRIVER.CRC.VAR.CRC_CH1_PSSIL.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPBL_3_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_ICPA_1_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_CH2_DTE.VALUE=1 -DRIVER.CRC.VAR.CRC_CH2_CVH.VALUE=0x00000000 -DRIVER.CRC.VAR.CRC_CH2_CVL.VALUE=0x00000000 -DRIVER.CRC.VAR.CRC_CH1_PCP.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_ICPA_6_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_ICPB_2_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_CH1_SCP.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_DCP0_CPAFULADD_1.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPAL_2_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.CRC_CH2_PCP.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_CPA_3_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_CH1_PSA.VALUE=1 -DRIVER.CRC.VAR.CRC_CH1_ORI.VALUE=0x00000000 -DRIVER.CRC.VAR.CRC_CH2_SCP.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_MP1_STADD_1.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPB_7_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_CH1_TOE.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_ICPAL_7_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.CRC_CH2_PSA.VALUE=1 -DRIVER.CRC.VAR.CRC_CH2_ORI.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_CPB_4_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_MP0_ENA_1.VALUE=0 -DRIVER.CRC.VAR.CRC_CH2_MODE_VALUE.VALUE=0x0001 -DRIVER.CRC.VAR.CRC_CH1_URI.VALUE=0x00000000 -DRIVER.CRC.VAR.CRC_CH2_PSSIH.VALUE=0 -DRIVER.CRC.VAR.CRC_CH2_TOE.VALUE=0x00000000 -DRIVER.CRC.VAR.CRC_CH2_PSSIL.VALUE=0 -DRIVER.CRC.VAR.CRC_CH1_BCTO.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_ICPBL_4_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_ICPA_2_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_PAR_1.VALUE=0 -DRIVER.CRC.VAR.CRC_CH2_URI.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_CONT_1.VALUE=0 -DRIVER.CRC.VAR.HTU_ENAREQ_1.VALUE=0 -DRIVER.CRC.VAR.HTU_MP1_ERRENA_1.VALUE=0 -DRIVER.CRC.VAR.HTU_MP0_STADD_1.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPA_7_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_ICPB_3_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_ICPAL_3_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_CPA_4_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_CPB_0_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_CH2_BCTO.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_DCP0_MMADD_1.VALUE=POST_INCREMENT -DRIVER.CRC.VAR.HTU_ENAINTMAP_1.VALUE=0 -DRIVER.CRC.VAR.CRC_CH1_MODE_VALUE.VALUE=0x0001 -DRIVER.CRC.VAR.HTU_ICPBL_0_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_CPB_5_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_MP1_ENA_1.VALUE=0 -DRIVER.CRC.VAR.HTU_DCP0_HETADD.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPBL_5_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_ICPA_3_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_CPA_0_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_RES_1.VALUE=0 -DRIVER.CRC.VAR.HTU_DCP0_CPATMOD_1.VALUE=POST_INCREMENT -DRIVER.CRC.VAR.HTU_MP1_ENDADD_1.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPB_4_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_BASE.VALUE=0xFE000000 -DRIVER.CRC.VAR.HTU_ICPAL_4_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.CRC_CH1_MODE.VALUE=FULL_CPU -DRIVER.CRC.VAR.HTU_CPA_5_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_CPB_1_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_VBHOLD_1.VALUE=0 -DRIVER.CRC.VAR.HTU_MP0_ERRENA_1.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPBL_1_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_CPB_6_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.CRC_CH2_MODE.VALUE=FULL_CPU -DRIVER.CRC.VAR.HTU_DCP0_TRDAT_1.VALUE=32BIT -DRIVER.CRC.VAR.HTU_ICPBL_6_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_ICPA_4_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_ICPB_0_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_ICPAL_0_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_CPA_1_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_DCP0_CPBTMOD_1.VALUE=POST_INCREMENT -DRIVER.CRC.VAR.CRC_CH1_PSIH.VALUE=0 -DRIVER.CRC.VAR.HTU_MP0_ACC_1.VALUE=READ_ONLY -DRIVER.CRC.VAR.CRC_CH1_PSIL.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPB_5_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_ICPAL_5_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_DCP0_ADMOD_1.VALUE=INCREMENT_16BIT -DRIVER.CRC.VAR.HTU_CPA_6_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_CPB_2_SEL_1.VALUE=ENABLE -DRIVER.CRC.VAR.HTU_ENA_1.VALUE=0 -DRIVER.CRC.VAR.CRC_CH1_WDTO.VALUE=0x00000000 -DRIVER.CRC.VAR.HTU_MP0_ENDADD_1.VALUE=0 -DRIVER.CRC.VAR.HTU_ICPBL_2_SEL_1.VALUE=HIGH -DRIVER.CRC.VAR.HTU_ICPA_0_SEL_1.VALUE=ENABLE -DRIVER.EMAC.VAR.EMAC_ADD1.VALUE=FF -DRIVER.EMAC.VAR.EMAC_ADD2.VALUE=FF -DRIVER.EMAC.VAR.EMAC_ADD3.VALUE=FF -DRIVER.EMAC.VAR.EMAC_ADD4.VALUE=FF -DRIVER.EMAC.VAR.EMAC_ADD5.VALUE=FF -DRIVER.EMAC.VAR.EMAC_ADD6.VALUE=FF -DRIVER.EMAC.VAR.EMAC_CTRL_BASE.VALUE=0xFCF78800 -DRIVER.EMAC.VAR.EMAC_LOOPBACK_ENA.VALUE=0 -DRIVER.EMAC.VAR.MDIO_BASE.VALUE=0xFCF78900 -DRIVER.EMAC.VAR.EMAC_BASE.VALUE=0xFCF78000 -DRIVER.EMAC.VAR.EMAC_BASE_PORT.VALUE=0xFFFFFFFF -DRIVER.EMAC.VAR.EMAC_TRANSMIT_ENA.VALUE=1 -DRIVER.EMAC.VAR.EMAC_CHANNELNUMBER.VALUE=0 -DRIVER.EMAC.VAR.EMAC_RX_PBUF_ALLOC.VALUE=10 -DRIVER.EMAC.VAR.EMAC_UNICAST_ENA.VALUE=1 -DRIVER.EMAC.VAR.EMAC_FULL_DUPLEX_ENA.VALUE=1 -DRIVER.EMAC.VAR.EMAC_PHYADDRESS.VALUE=0 -DRIVER.EMAC.VAR.EMAC_MII_ENA.VALUE=1 -DRIVER.EMAC.VAR.EMAC_CTRL_RAM_BASE.VALUE=0xFC520000 -DRIVER.EMAC.VAR.EMAC_BROADCAST_ENA.VALUE=1 -DRIVER.EMAC.VAR.EMAC_RECEIVE_ENA.VALUE=1 -DRIVER.EMIF.VAR.EMIF_ASYNC2_TAVAV.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_TD.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_EXTENDED_WAIT.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_TH.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_TA.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_WAIT.VALUE=pin0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_TD.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_NOR_FLASH.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_TEHQZ.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_TH.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_TA.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_TD.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ENA_SDRAM.VALUE=1 -DRIVER.EMIF.VAR.EMIF_ASYNC3_TH.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_TELQV.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_MODE.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_ENA.VALUE=1 -DRIVER.EMIF.VAR.EMIF_SDRAM_REFRESH_CYCLES.VALUE=0 -DRIVER.EMIF.VAR.EMIF_AVAILABLE.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_TEHEL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_ENA.VALUE=1 -DRIVER.EMIF.VAR.EMIF_ASYNC1_R_STROBE.VALUE=63 -DRIVER.EMIF.VAR.EMIF_ASYNC3_TELEH.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_STROBE_MODE.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_ENA.VALUE=1 -DRIVER.EMIF.VAR.EMIF_ASYNC1_ASIZE.VALUE=8_bit -DRIVER.EMIF.VAR.EMIF_SDRAM_TRC_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_TAVAV.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_BANKS.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_DELAY_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_TRAS_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_TRRD_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_BASE.VALUE=0xFCFFE800 -DRIVER.EMIF.VAR.EMIF_ASYNC3_TEHQZ.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_W_STROBE.VALUE=63 -DRIVER.EMIF.VAR.EMIF_ASYNC3_TELQV.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_SIZE.VALUE=4_words -DRIVER.EMIF.VAR.EMIF_CLKFRQ.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_W_HOLD.VALUE=7 -DRIVER.EMIF.VAR.EMIF_ASYNC2_R_HOLD.VALUE=7 -DRIVER.EMIF.VAR.EMIF_SDRAM_TREFRESH_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_R_SETUP.VALUE=15 -DRIVER.EMIF.VAR.EMIF_SDRAM_TXSR_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_TSU.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_EXTENDED_WAIT.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_ASIZE.VALUE=8_bit -DRIVER.EMIF.VAR.EMIF_ASYNC2_TSU.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_W_SETUP.VALUE=15 -DRIVER.EMIF.VAR.EMIF_ASYNC3_NOR_FLASH.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_DELAY_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_W_HOLD.VALUE=7 -DRIVER.EMIF.VAR.EMIF_SDRAM_INIT_TIME.VALUE=200 -DRIVER.EMIF.VAR.EMIF_SDRAM_TREFRESH_DEFAULT.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_TSU.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_MODE.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_STROBE_MODE.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_R_SETUP.VALUE=15 -DRIVER.EMIF.VAR.EMIF_SDRAM_TWR_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_R_STROBE.VALUE=63 -DRIVER.EMIF.VAR.EMIF_CLK.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_TRCD.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_W_SETUP.VALUE=15 -DRIVER.EMIF.VAR.EMIF_SDRAM_TRFC.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_ASIZE.VALUE=8_bit -DRIVER.EMIF.VAR.EMIF_SDRAM_TRAS.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_NOR_FLASH.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_DELAY.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_CAS_LATENCY.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC_WAIT_POLARITY0.VALUE=pin_low -DRIVER.EMIF.VAR.EMIF_SDRAM_TRCD_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC_WAIT_POLARITY1.VALUE=pin_high -DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_MODE.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_R_SETUP.VALUE=15 -DRIVER.EMIF.VAR.EMIF_SDRAM_TRC.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_TRRD.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_DELAY_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_W_STROBE.VALUE=63 -DRIVER.EMIF.VAR.EMIF_ASYNC1_TEHEL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC_MAX_EXT_WAIT.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_TRP.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_SIZE.VALUE=4_words -DRIVER.EMIF.VAR.EMIF_ASYNC1_W_SETUP.VALUE=15 -DRIVER.EMIF.VAR.EMIF_ASYNC1_TELEH.VALUE=0 -DRIVER.EMIF.VAR.EMIF_MS.VALUE=0.001 -DRIVER.EMIF.VAR.EMIF_NS.VALUE=0.000000001 -DRIVER.EMIF.VAR.EMIF_SDRAM_TWR.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_EXTENDED_WAIT.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_REFRESH_PERIOD.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC3_R_HOLD.VALUE=7 -DRIVER.EMIF.VAR.EMIF_ASYNC1_TAVAV.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_DELAY.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_WAIT.VALUE=pin0 -DRIVER.EMIF.VAR.EMIF_SDRAM_TXSR.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_TEHQZ.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_R_STROBE.VALUE=63 -DRIVER.EMIF.VAR.EMIF_ASYNC1_TELQV.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_STROBE_MODE.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_TRP_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_W_HOLD.VALUE=7 -DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_SIZE.VALUE=4_words -DRIVER.EMIF.VAR.EMIF_ASYNC2_WAIT.VALUE=pin0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_TEHEL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_SDRAM_TRFC_VAL.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_R_HOLD.VALUE=7 -DRIVER.EMIF.VAR.EMIF_SDRAM_PAGE_SIZE.VALUE=elements_256 -DRIVER.EMIF.VAR.EMIF_ASYNC2_TELEH.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_DELAY.VALUE=0 -DRIVER.EMIF.VAR.EMIF_IBANK.VALUE=0 -DRIVER.EMIF.VAR.EMIF_ASYNC2_W_STROBE.VALUE=63 -DRIVER.EMIF.VAR.EMIF_ASYNC1_TA.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD28.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD29.VALUE=0 -DRIVER.POM.VAR.POM_REGION_10_ENA.VALUE=1 -DRIVER.POM.VAR.POM_TIMEOUT_ENABLE.VALUE=0 -DRIVER.POM.VAR.POM_REGION_11_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_20_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_12_ENA.VALUE=1 -DRIVER.POM.VAR.POM_NO_OF_REGION.VALUE=1 -DRIVER.POM.VAR.POM_REGION_21_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_13_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_30_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_22_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_14_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_31_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_23_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_15_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_1_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_32_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_24_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_16_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_2_ENA.VALUE=0 -DRIVER.POM.VAR.POM_REGION_25_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_17_ENA.VALUE=1 -DRIVER.POM.VAR.POM_OVRLY_START_ADD1.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD2.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD3.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD4.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD5.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD6.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD7.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD8.VALUE=0 -DRIVER.POM.VAR.POM_OVLY_TRG_REGION.VALUE=INTERNAL_RAM -DRIVER.POM.VAR.POM_OVRLY_START_ADD9.VALUE=0 -DRIVER.POM.VAR.POM_REGION_3_ENA.VALUE=0 -DRIVER.POM.VAR.POM_REGION_26_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_18_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_4_ENA.VALUE=0 -DRIVER.POM.VAR.POM_REGION_27_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_19_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_5_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_28_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_6_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_SIZE10.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE11.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE20.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE12.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_29_ENA.VALUE=1 -DRIVER.POM.VAR.POM_REGION_SIZE21.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE13.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE30.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE22.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE14.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE31.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE23.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE15.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE32.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE24.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE16.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE25.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE17.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE26.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE18.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE27.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE19.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE28.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE29.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_7_ENA.VALUE=1 -DRIVER.POM.VAR.POM_BASE.VALUE=0xFFA04000 -DRIVER.POM.VAR.POM_PROG_START_ADD10.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD11.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD20.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD12.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD21.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD13.VALUE=0 -DRIVER.POM.VAR.POM_REGION_8_ENA.VALUE=1 -DRIVER.POM.VAR.POM_PROG_START_ADD30.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD22.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD14.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD31.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD23.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD15.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD32.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD24.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD16.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD25.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD17.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD26.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD18.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD27.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD19.VALUE=0 -DRIVER.POM.VAR.POM_REGION_SIZE1.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_PROG_START_ADD28.VALUE=0 -DRIVER.POM.VAR.POM_REGION_SIZE2.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_PROG_START_ADD29.VALUE=0 -DRIVER.POM.VAR.POM_REGION_SIZE3.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE4.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE5.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE6.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE7.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE8.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_SIZE9.VALUE=SIZE_64BYTES -DRIVER.POM.VAR.POM_REGION_9_ENA.VALUE=1 -DRIVER.POM.VAR.POM_PROG_START_ADD1.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD2.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD3.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD4.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD5.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD6.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD7.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD8.VALUE=0 -DRIVER.POM.VAR.POM_PROG_START_ADD9.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD10.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD11.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD20.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD12.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD21.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD13.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD30.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD22.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD14.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD31.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD23.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD15.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD32.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD24.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD16.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD25.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD17.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD26.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD18.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD27.VALUE=0 -DRIVER.POM.VAR.POM_OVRLY_START_ADD19.VALUE=0 -DRIVER.PMM.VAR.PMM_RAM_PWR_DOMAIN2_ENABLE.VALUE=0 -DRIVER.PMM.VAR.PMM_PWR_DOMAIN5_ENABLE.VALUE=0 -DRIVER.PMM.VAR.PMM_PWR_DOMAIN3_ENABLE.VALUE=0 -DRIVER.PMM.VAR.PMM_RAM_PWR_DOMAIN3_ENABLE.VALUE=0 -DRIVER.PMM.VAR.PMM_RAM_PWR_DOMAIN1_ENABLE.VALUE=0 -DRIVER.PMM.VAR.PMM_PWR_DOMAIN4_ENABLE.VALUE=0 -DRIVER.PMM.VAR.PMM_PWR_DOMAIN2_ENABLE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_OSHT_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD_REG.VALUE=1000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_CLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_SOCA_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_DEADBAND_INPUT.VALUE=PWMA_RED_FED -DRIVER.ETPWM.VAR.ETPWM7_BASE.VALUE=0xFCF79200 -DRIVER.ETPWM.VAR.ETPWM5_TB_ACTUALFREQUENCY.VALUE=80.000 -DRIVER.ETPWM.VAR.ETPWM6_DCBEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_ENABLE_SOCA.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CBC.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_ENABLE_SOCB.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM6_RDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTY_NEW.VALUE=50.0 -DRIVER.ETPWM.VAR.ETPWM7_SOCB_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_OSHT_ACTUAL_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_OSHT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_OSHT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_ENABLE_SOCA.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_OSHT3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_ENABLE_SOCB.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_OSHT4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_OSHT_WIDTH_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_OSHT5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD_REG.VALUE=1000 -DRIVER.ETPWM.VAR.ETPWM1_OSHT6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM2_CBC.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_CLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_SOCB_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_MODE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM7_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM4_PWMB_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM1_ENABLE_SOCA.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_ENABLE_SOCB.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_DCAEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_HSPCLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_DCAEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTYTIME.VALUE=50.000 -DRIVER.ETPWM.VAR.ETPWM6_OSHT_ACTUAL_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_OSHT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_OSHT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_SOCB_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_OSHT3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM3_CBC.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_TB_ACTUALFREQUENCY.VALUE=80.000 -DRIVER.ETPWM.VAR.ETPWM1_FDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_OSHT4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_OSHT5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_OSHT6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_DEADBAND_INPUT.VALUE=PWMA_RED_FED -DRIVER.ETPWM.VAR.ETPWM6_SELECT_SOCA.VALUE=DCAEVT1 -DRIVER.ETPWM.VAR.ETPWM6_SELECT_SOCB.VALUE=DCBEVT1 -DRIVER.ETPWM.VAR.ETPWM6_SELECT_EVENT.VALUE=NO_EVENT -DRIVER.ETPWM.VAR.ETPWM5_OSHT_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD_REG.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM5_DCBEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_OSHT_WIDTH_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_HSPCLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_MODE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_CLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_TB_FREQUENCY.VALUE=90.000 -DRIVER.ETPWM.VAR.ETPWM4_CBC.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_SELECT_SOCA.VALUE=DCAEVT1 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_SELECT_SOCB.VALUE=DCBEVT1 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM6_FDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_RDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTYTIME.VALUE=50.000 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM3_SELECT_EVENT.VALUE=NO_EVENT -DRIVER.ETPWM.VAR.ETPWM2_CLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM2_DEADBAND_INPUT.VALUE=PWMA_RED_FED -DRIVER.ETPWM.VAR.ETPWM5_CBC.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CBC1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CBC2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CBC3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTYTIME_REG.VALUE=3 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_CBC4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CBC5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CBC6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_DCAEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD_REG.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTYTIME_REG.VALUE=3 -DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_MODE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM4_DCAEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_TB_ACTUALFREQUENCY.VALUE=80.000 -DRIVER.ETPWM.VAR.ETPWM3_TB_FREQUENCY.VALUE=90.000 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTYTIME_REG.VALUE=3 -DRIVER.ETPWM.VAR.ETPWM2_OSHT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM1_HSPCLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_INTERRUPT_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_OSHT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_OSHT3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_OSHT4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTYTIME_REG.VALUE=3 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM2_OSHT5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM3_PWMB_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM2_OSHT6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_CBC.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM6_OSHT_WIDTH_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTYTIME.VALUE=50.000 -DRIVER.ETPWM.VAR.ETPWM5_OSHT_ACTUAL_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM4_DCBEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_SOCA_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM4_OSHT_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM7_OSHT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD_REG.VALUE=1000 -DRIVER.ETPWM.VAR.ETPWM6_HSPCLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM7_OSHT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM7_CBC.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_OSHT3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_CBC1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_OSHT4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_CBC2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_HSPCLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_OSHT5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_CBC3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD_REG.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_CLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_OSHT6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_SOCA_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_CBC4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_OST.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_ACTUALPERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM3_FDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_CBC5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_CLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_CBC6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM7_DEADBAND_INPUT.VALUE=PWMA_RED_FED -DRIVER.ETPWM.VAR.ETPWM6_INTERRUPT_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_ACTUALPERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_ENABLE_SOCA.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM1_BASE.VALUE=0xFCF78C00 -DRIVER.ETPWM.VAR.ETPWM6_ENABLE_SOCB.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_ACTUALPERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM1_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM4_TB_ACTUALFREQUENCY.VALUE=80.000 -DRIVER.ETPWM.VAR.ETPWM2_OSHT_WIDTH_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_ACTUALPERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM6_SOCB_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTYTIME.VALUE=50.000 -DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM3_DCAEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_DCAEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_OST.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_ENABLE_SOCA.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_HSPCLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_ENABLE_SOCB.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM5_RDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD_REG.VALUE=1000 -DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_SOCB_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_CBC1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_SELECT_EVENT.VALUE=NO_EVENT -DRIVER.ETPWM.VAR.ETPWM3_CBC2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_DCBEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_CBC3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_INTERRUPT_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM3_OST.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_CBC4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_DEADBAND_INPUT.VALUE=PWMA_RED_FED -DRIVER.ETPWM.VAR.ETPWM3_CBC5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_CBC6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM2_BASE.VALUE=0xFCF78D00 -DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTY_NEW.VALUE=50.0 -DRIVER.ETPWM.VAR.ETPWM7_CLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_MODE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_OSHT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_OSHT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_TB_FREQUENCY.VALUE=90.000 -DRIVER.ETPWM.VAR.ETPWM5_SELECT_SOCA.VALUE=DCAEVT1 -DRIVER.ETPWM.VAR.ETPWM3_OSHT3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTYTIME.VALUE=50.000 -DRIVER.ETPWM.VAR.ETPWM5_SELECT_SOCB.VALUE=DCBEVT1 -DRIVER.ETPWM.VAR.ETPWM4_OSHT_ACTUAL_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM3_OSHT4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_OSHT_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM3_OSHT5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_HSPCLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_OSHT6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_TB_ACTUALFREQUENCY.VALUE=80.000 -DRIVER.ETPWM.VAR.ETPWM5_CLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM4_OST.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM7_OSHT_WIDTH_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD_REG.VALUE=1000 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM1_CLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM2_SELECT_SOCA.VALUE=DCAEVT1 -DRIVER.ETPWM.VAR.ETPWM4_SELECT_EVENT.VALUE=NO_EVENT -DRIVER.ETPWM.VAR.ETPWM2_SELECT_SOCB.VALUE=DCBEVT1 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM2_DCAEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_INTERRUPT_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_DCAEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_CBC1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM4_CBC2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_CBC3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_MODE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM5_OST.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_CBC4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_CBC5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_TB_FREQUENCY.VALUE=90.000 -DRIVER.ETPWM.VAR.ETPWM4_CBC6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTY_NEW.VALUE=50.0 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_FDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_BASE.VALUE=0xFCF78E00 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTYTIME.VALUE=50.000 -DRIVER.ETPWM.VAR.ETPWM2_RDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM4_HSPCLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_DCBEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM2_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_SELECT_EVENT.VALUE=NO_EVENT -DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD_REG.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM3_OSHT_WIDTH_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM7_SOCA_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_OST.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_TB_ACTUALFREQUENCY.VALUE=80.000 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM3_INTERRUPT_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM7_RDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM1_TB_FREQUENCY.VALUE=90.000 -DRIVER.ETPWM.VAR.ETPWM3_CLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_CLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_SOCA_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM5_CBC1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM5_CBC2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_OSHT_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM5_CBC3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTY_NEW.VALUE=50.0 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM7_OST.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_CBC4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_CBC5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTYTIME.VALUE=50.000 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_DEADBAND_INVERT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_CBC6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_OSHT_ACTUAL_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM4_DEADBAND_INPUT.VALUE=PWMA_RED_FED -DRIVER.ETPWM.VAR.ETPWM3_PWMA_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM4_BASE.VALUE=0xFCF78F00 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM4_OSHT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_DCAEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_OSHT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_SOCA_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_DCAEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_OSHT3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_OSHT4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_PERIOD_REG.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM4_OSHT5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_OSHT6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM5_ENABLE_SOCA.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_ENABLE_SOCB.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_SOCB_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM2_INTERRUPT_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM2_FDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM7_PWMB_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTYTIME_REG.VALUE=3 -DRIVER.ETPWM.VAR.ETPWM1_DCBEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_PERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM1_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_TB_ACTUALFREQUENCY.VALUE=80.000 -DRIVER.ETPWM.VAR.ETPWM2_ENABLE_SOCA.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_ENABLE_SOCB.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_HSPCLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTYTIME_REG.VALUE=3 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTY_NEW.VALUE=50.0 -DRIVER.ETPWM.VAR.ETPWM6_CBC1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM6_CBC2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_CBC3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTYTIME_REG.VALUE=3 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_CBC4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_SOCB_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_CBC5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_CBC6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD_REG.VALUE=1000 -DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_MODE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM7_SELECT_SOCA.VALUE=DCAEVT1 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM5_BASE.VALUE=0xFCF79000 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM7_SELECT_SOCB.VALUE=DCBEVT1 -DRIVER.ETPWM.VAR.ETPWM7_OSHT_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM1_CLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD_REG.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM4_PWMB_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_FDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_RDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM7_DCAEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM7_DCAEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_PWMA_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM7_HSPCLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_CLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_PWMB_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM2_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL -DRIVER.ETPWM.VAR.ETPWM1_INTERRUPT_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM4_SELECT_SOCA.VALUE=DCAEVT1 -DRIVER.ETPWM.VAR.ETPWM5_SELECT_EVENT.VALUE=NO_EVENT -DRIVER.ETPWM.VAR.ETPWM4_SELECT_SOCB.VALUE=DCBEVT1 -DRIVER.ETPWM.VAR.ETPWM1_OSHT_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM4_OSHT_WIDTH_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTY_NEW.VALUE=50.0 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_ACTUALPERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM2_OSHT_ACTUAL_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM7_DCBEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_MODE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_DCBEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_ACTUALPERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM2_PWMA_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_CBC1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM5_TB_FREQUENCY.VALUE=90.000 -DRIVER.ETPWM.VAR.ETPWM1_SELECT_SOCA.VALUE=DCAEVT1 -DRIVER.ETPWM.VAR.ETPWM7_CBC2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM1_SELECT_SOCB.VALUE=DCBEVT1 -DRIVER.ETPWM.VAR.ETPWM7_CBC3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_PERIOD_REG.VALUE=1000 -DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM2_HSPCLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_CBC4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_ACTUALPERIOD.VALUE=100.000 -DRIVER.ETPWM.VAR.ETPWM7_CBC5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_CBC6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM5_PWMA_COMPARE.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_PERIOD_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD_REG.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_RISING_EDGE_DELAY.VALUE=11.111 -DRIVER.ETPWM.VAR.ETPWM6_BASE.VALUE=0xFCF79100 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_DUTYTIME.VALUE=500.000 -DRIVER.ETPWM.VAR.ETPWM6_PWMB_ENA.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM5_OSHT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM5_OSHT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_DEADBAND_INPUT.VALUE=PWMA_RED_FED -DRIVER.ETPWM.VAR.ETPWM5_PWMB_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM5_OSHT3.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_OSHT4.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM2_SELECT_EVENT.VALUE=NO_EVENT -DRIVER.ETPWM.VAR.ETPWM5_OSHT5.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM5_PWMB_DUTY.VALUE=50 -DRIVER.ETPWM.VAR.ETPWM5_OSHT6.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM7_OSHT_ACTUAL_WIDTH.VALUE=100 -DRIVER.ETPWM.VAR.ETPWM6_CLKDIV.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_PWMA_DEADBAND_OUT.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM7_HSPCLKDIV_REG.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTY_NEW.VALUE=50.0 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD.VALUE=1000.000 -DRIVER.ETPWM.VAR.ETPWM2_TB_FREQUENCY.VALUE=90.000 -DRIVER.ETPWM.VAR.ETPWM6_DCAEVT1.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM3_PWMA_POLARITY.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM6_SOCA_PERIOD.VALUE=1 -DRIVER.ETPWM.VAR.ETPWM6_DCAEVT2.VALUE=0x0000 -DRIVER.ETPWM.VAR.ETPWM4_FDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_RDELAY_SOURCE.VALUE=0 -DRIVER.ETPWM.VAR.ETPWM1_PWMA_DUTYTIME.VALUE=500.000 -DRIVER.ECAP.VAR.ECAP1_PRESCALE_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP2_ENA_PWM.VALUE=0 -DRIVER.ECAP.VAR.ECAP4_PRD.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP5_PWM_DUTY.VALUE=50 -DRIVER.ECAP.VAR.ECAP5_PWM_PERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP4_CAP2_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP5_PRESCALE.VALUE=0 -DRIVER.ECAP.VAR.ECAP5_PRD.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP6_PWM_COMPARE.VALUE=50 -DRIVER.ECAP.VAR.ECAP5_CAP4_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP5_ENA_LOAD.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_PWM_PERIOD_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 -DRIVER.ECAP.VAR.ECAP3_PWM_COMPARE.VALUE=50 -DRIVER.ECAP.VAR.ECAP2_CAP1_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP6_PRD.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP4_PWM_DUTYTIME.VALUE=500.000 -DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP3_CAP3_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP1_ENA_PWM.VALUE=0 -DRIVER.ECAP.VAR.ECAP3_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 -DRIVER.ECAP.VAR.ECAP2_PWM_PERIOD_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER.VALUE=0 -DRIVER.ECAP.VAR.ECAP5_CEVT1.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP4_CAPTURE_MODE.VALUE=ONE_SHOT -DRIVER.ECAP.VAR.ECAP5_CEVT2.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP5_CEVT3.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP5_CEVT4.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP1_PWM_DUTY.VALUE=50 -DRIVER.ECAP.VAR.ECAP1_CAP2_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP4_PWM_PERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP1_PWM_DUTYTIME.VALUE=500.000 -DRIVER.ECAP.VAR.ECAP5_CNTOVF.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP5_PRESCALE_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP2_CAP4_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP1_PRESCALE.VALUE=0 -DRIVER.ECAP.VAR.ECAP1_ENA_LOAD.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_CAP2_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP1_CAPTURE_MODE.VALUE=ONE_SHOT -DRIVER.ECAP.VAR.ECAP2_PRESCALE_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP4_PWM_DUTY.VALUE=50 -DRIVER.ECAP.VAR.ECAP6_PWM_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP4_CAP1_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP1_CEVT1.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP1_CEVT2.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP1_CEVT3.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER.VALUE=0 -DRIVER.ECAP.VAR.ECAP1_CEVT4.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP4_PRESCALE.VALUE=0 -DRIVER.ECAP.VAR.ECAP5_CAP3_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP4_ENA_LOAD.VALUE=0 -DRIVER.ECAP.VAR.ECAP3_CNTOVF.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP3_PWM_PERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP6_CEVT1.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP3_PWM_PERIOD_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_CEVT2.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP6_CEVT3.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP6_CEVT4.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP5_PWM_COMPARE.VALUE=50 -DRIVER.ECAP.VAR.ECAP5_PWM_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP6_ENA_PWM.VALUE=0 -DRIVER.ECAP.VAR.ECAP3_CAP2_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP5_PWM_DUTYTIME.VALUE=500.000 -DRIVER.ECAP.VAR.ECAP1_BASE.VALUE=0xFCF79300 -DRIVER.ECAP.VAR.ECAP4_CAP4_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP2_PWM_COMPARE.VALUE=50 -DRIVER.ECAP.VAR.ECAP4_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 -DRIVER.ECAP.VAR.ECAP5_CAPTURE_MODE.VALUE=ONE_SHOT -DRIVER.ECAP.VAR.ECAP1_CAP1_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP4_PWM_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP1_CNTOVF.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP2_PWM_DUTYTIME.VALUE=500.000 -DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP2_CAP3_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP6_PRESCALE_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP2_BASE.VALUE=0xFCF79400 -DRIVER.ECAP.VAR.ECAP2_CEVT1.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP2_CEVT2.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP2_PWM_PERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP2_CEVT3.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP2_CEVT4.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP1_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 -DRIVER.ECAP.VAR.ECAP6_CAP1_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP5_ENA_PWM.VALUE=0 -DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER.VALUE=0 -DRIVER.ECAP.VAR.ECAP2_CAPTURE_MODE.VALUE=ONE_SHOT -DRIVER.ECAP.VAR.ECAP3_PWM_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP3_PWM_DUTY.VALUE=50 -DRIVER.ECAP.VAR.ECAP3_PRESCALE_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP1_CAP4_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP4_PWM_PERIOD_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP3_PRESCALE.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_CNTOVF.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP3_BASE.VALUE=0xFCF79500 -DRIVER.ECAP.VAR.ECAP5_CAP2_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP3_ENA_LOAD.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_CAP4_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP1_CMP.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP2_PWM_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP4_ENA_PWM.VALUE=0 -DRIVER.ECAP.VAR.ECAP3_CAP1_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP1_PWM_PERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_PWM_DUTY.VALUE=50 -DRIVER.ECAP.VAR.ECAP2_CMP.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP6_PWM_DUTYTIME.VALUE=500.000 -DRIVER.ECAP.VAR.ECAP4_CAP3_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP4_BASE.VALUE=0xFCF79600 -DRIVER.ECAP.VAR.ECAP6_PRESCALE.VALUE=0 -DRIVER.ECAP.VAR.ECAP4_PWM_COMPARE.VALUE=50 -DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP3_CEVT1.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP3_CEVT2.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP3_CEVT3.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP3_CEVT4.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP6_ENA_LOAD.VALUE=0 -DRIVER.ECAP.VAR.ECAP5_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 -DRIVER.ECAP.VAR.ECAP4_CNTOVF.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP3_CMP.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP1_PWM_ACTUALPERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_CAPTURE_MODE.VALUE=ONE_SHOT -DRIVER.ECAP.VAR.ECAP1_PWM_COMPARE.VALUE=50 -DRIVER.ECAP.VAR.ECAP2_CAP2_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP3_PWM_DUTYTIME.VALUE=500.000 -DRIVER.ECAP.VAR.ECAP3_CAP4_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP4_CMP.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP1_PRD.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP5_PWM_PERIOD_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_PWM_PERIOD.VALUE=1000.000 -DRIVER.ECAP.VAR.ECAP5_BASE.VALUE=0xFCF79700 -DRIVER.ECAP.VAR.ECAP3_ENA_PWM.VALUE=0 -DRIVER.ECAP.VAR.ECAP2_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 -DRIVER.ECAP.VAR.ECAP3_CAPTURE_MODE.VALUE=ONE_SHOT -DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE -DRIVER.ECAP.VAR.ECAP5_CMP.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP2_PRD.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP2_PWM_DUTY.VALUE=50 -DRIVER.ECAP.VAR.ECAP1_CAP3_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP4_PRESCALE_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP2_PRESCALE.VALUE=0 -DRIVER.ECAP.VAR.ECAP2_CNTOVF.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP5_CAP1_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP1_PWM_PERIOD_REG.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_CMP.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP2_ENA_LOAD.VALUE=0 -DRIVER.ECAP.VAR.ECAP3_PRD.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER.VALUE=0 -DRIVER.ECAP.VAR.ECAP6_BASE.VALUE=0xFCF79800 -DRIVER.ECAP.VAR.ECAP6_CAP3_POLARITY.VALUE=RISING_EDGE -DRIVER.ECAP.VAR.ECAP4_CEVT1.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP4_CEVT2.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP4_CEVT3.VALUE=0x0000 -DRIVER.ECAP.VAR.ECAP4_CEVT4.VALUE=0x0000 -DRIVER.EQEP.VAR.EQEP2_QUPRD.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_INDEX_EVT_INIT_ENABLE.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_IGATE.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_QPE_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_PC_RST_MODE.VALUE=MAX_POSITION -DRIVER.EQEP.VAR.EQEP1_UTO_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_SEL_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_INDEX_EVT_SELECT.VALUE=RISING_EDGE -DRIVER.EQEP.VAR.EQEP2_PCE_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_PCU_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_BASE.VALUE=0xFCF79900 -DRIVER.EQEP.VAR.EQEP1_INV_QEPS_POL.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_INV_QEPA_POL.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_PCSHDW.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_PC_INIT_VALUE.VALUE=0x00000000 -DRIVER.EQEP.VAR.EQEP2_PCR_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_BASE.VALUE=0xFCF79A00 -DRIVER.EQEP.VAR.EQEP1_ENABLE_CAPTURE.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_INV_QEPB_POL.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_MAXPC_VALUE.VALUE=0x00000000 -DRIVER.EQEP.VAR.EQEP1_PCM_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_PCPOL.VALUE=ACTIVE_HIGH -DRIVER.EQEP.VAR.EQEP2_UNIT_POS_PRESCALER.VALUE=PS_512 -DRIVER.EQEP.VAR.EQEP2_CAP_CLK_PRESCALER.VALUE=PS_8 -DRIVER.EQEP.VAR.EQEP1_PCSPW.VALUE=0x000 -DRIVER.EQEP.VAR.EQEP1_POSCMP.VALUE=0x00000000 -DRIVER.EQEP.VAR.EQEP2_PC_MODE.VALUE=DIRECTION_COUNT -DRIVER.EQEP.VAR.EQEP1_PCE_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_INV_QEPS_POL.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_SET_INIT_AT_STARTUP.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_ENABLE_CAPTURE.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_STROBE_EVT_SELECT.VALUE=DIRECTON_DEPENDENT -DRIVER.EQEP.VAR.EQEP2_PCPOL.VALUE=ACTIVE_HIGH -DRIVER.EQEP.VAR.EQEP2_INV_QEPA_POL.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_CAP_CLK_PRESCALER.VALUE=PS_8 -DRIVER.EQEP.VAR.EQEP2_QDC_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_QCLM.VALUE=ON_POSITION_COUNTER_READ -DRIVER.EQEP.VAR.EQEP1_PC_MODE.VALUE=DIRECTION_COUNT -DRIVER.EQEP.VAR.EQEP2_WTO_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_SWI_ENABLE.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_PCR_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_INV_QEPB_POL.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_IEL.VALUE=RISING_EDGE -DRIVER.EQEP.VAR.EQEP2_PCSPW.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_PC_INIT_VALUE.VALUE=0x00000000 -DRIVER.EQEP.VAR.EQEP1_PCLOAD.VALUE=QPOSCNT_EQ_QPSCMP -DRIVER.EQEP.VAR.EQEP2_IEL_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_IEL.VALUE=RISING_EDGE -DRIVER.EQEP.VAR.EQEP1_MAXPC_VALUE.VALUE=0x00000000 -DRIVER.EQEP.VAR.EQEP1_INV_QEPI_POL.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_QCLM.VALUE=ON_POSITION_COUNTER_READ -DRIVER.EQEP.VAR.EQEP1_STROBE_EVT_INIT_ENABLE.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_PCO_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_STROBE_EVT_INIT_ENABLE.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_EXT_CLK_RATE.VALUE=RESOLUTION_1x -DRIVER.EQEP.VAR.EQEP1_STROBE_EVT_SELECT.VALUE=DIRECTON_DEPENDENT -DRIVER.EQEP.VAR.EQEP1_UNIT_POS_PRESCALER.VALUE=PS_512 -DRIVER.EQEP.VAR.EQEP1_WDPRD.VALUE=0x0000 -DRIVER.EQEP.VAR.EQEP1_SEL.VALUE=RISING_EDGE -DRIVER.EQEP.VAR.EQEP1_SOEN.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_QPE_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_PC_RST_MODE.VALUE=MAX_POSITION -DRIVER.EQEP.VAR.EQEP1_WDE.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_SET_INIT_AT_STARTUP.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_UTO_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_SWI_ENABLE.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_POSITIVE_ROTATION.VALUE=CLOCKWISE -DRIVER.EQEP.VAR.EQEP2_SEL_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_SEL.VALUE=RISING_EDGE -DRIVER.EQEP.VAR.EQEP2_PCU_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_WDE.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_SPSEL.VALUE=INDEX_PIN -DRIVER.EQEP.VAR.EQEP1_PCSHDW.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_SWAP.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_SOEN.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_POSCMP.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_QUPRD.VALUE=0x00000000 -DRIVER.EQEP.VAR.EQEP1_IGATE.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_QDC_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_SWAP.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_WDPRD.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_WTO_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_POSITIVE_ROTATION.VALUE=CLOCKWISE -DRIVER.EQEP.VAR.EQEP2_INV_QEPI_POL.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_PCM_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP1_IEL_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_EXT_CLK_RATE.VALUE=RESOLUTION_1x -DRIVER.EQEP.VAR.EQEP2_SPSEL.VALUE=INDEX_PIN -DRIVER.EQEP.VAR.EQEP1_PCO_INT_ENA.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_INDEX_EVT_SELECT.VALUE=RISING_EDGE -DRIVER.EQEP.VAR.EQEP1_INDEX_EVT_INIT_ENABLE.VALUE=0 -DRIVER.EQEP.VAR.EQEP2_PCLOAD.VALUE=QPOSCNT_EQ_QPSCMP -DRIVER.FEE.VAR.FEE_START_SECTOR.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_BANK.VALUE=7 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_READ_CYCLE_COUNT.VALUE=10 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_NUMBER_OF_VIRTUAL_SECTORS.VALUE=4 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX15_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX4_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_FLASH_CRC_ENABLE.VALUE=STD_ON -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_NUMBER.VALUE=12 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_BANK.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_NUMBER.VALUE=3 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_NUMBER.VALUE=5 -DRIVER.FEE.VAR.FEE_SECTORS_EEP1.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_START.VALUE=4 -DRIVER.FEE.VAR.FEE_BLOCK_NUMBER.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_DRIVER_INDEX.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_VS5_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX9_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX13_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX2_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_NUMBER.VALUE=10 -DRIVER.FEE.VAR.FEE_NUMBER_OF_EEPS.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_NUMBER.VALUE=8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_NUMBER.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_DEVICE_INDEX.VALUE=0 -DRIVER.FEE.VAR.FEE_PAGE_OVERHEAD.VALUE=0 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_NUMBER.VALUE=3 -DRIVER.FEE.VAR.FEE_TI_FEE_SW_MAJOR_VERSION.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_END.VALUE=0 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_START.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_SECTOR_NUMBER.VALUE=1 -DRIVER.FEE.VAR.FEE_VIRTUALPAGE_SIZE.VALUE=8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_VS3_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX7_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_END.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX11_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_FLASH_WRITECOUNTER_SAVE.VALUE=STD_ON -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_VS_INDEX.VALUE=2 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_NUMBER.VALUE=15 -DRIVER.FEE.VAR.FEE_TI_FEE_SW_PATCH_VERSION.VALUE=0 -DRIVER.FEE.VAR.FEE_JOBERROR_NOTIFICATION.VALUE=JobErrorNotification -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_NUMBER.VALUE=6 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_END.VALUE=2 -DRIVER.FEE.VAR.FEE_BLOCK_SIZE.VALUE=0x10 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_TOTAL_BLOCKS_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_NUMBER.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_SIZE.VALUE=8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_END.VALUE=3 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_MAXIMUM_BLOCKING_TIME.VALUE=600 -DRIVER.FEE.VAR.FEE_VS1_ENABLE.VALUE=1 -DRIVER.FEE.VAR.FEE_NO_OF_UNCONFIGURED_BLOCKS_TO_COPY.VALUE=0 -DRIVER.FEE.VAR.FEE_FLASH_BANK_NUM.VALUE=7 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX16_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX5_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_NUMBER.VALUE=13 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_END.VALUE=4 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_START.VALUE=1 -DRIVER.FEE.VAR.FEE_SECTOR_OVERHEAD.VALUE=16 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_NUMBER.VALUE=4 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_TI_FEE_SW_MINOR_VERSION.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_VERSIONINFO_API.VALUE=STD_ON -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_DATASETS.VALUE=1 -DRIVER.FEE.VAR.MAX_BLOCK_TIME.VALUE=600 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_WRITE_CYCLES.VALUE=10 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_OFFSET.VALUE=16 -DRIVER.FEE.VAR.FEE_NUMBER_OF_BLOCKS.VALUE=1 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_BANK.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX14_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX3_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_NUMBER_OF_EIGHTBYTEWRITES.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_NUMBER.VALUE=11 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_NUMBER.VALUE=9 -DRIVER.FEE.VAR.FEE_END_SECTOR.VALUE=0 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_BANK.VALUE=7 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_NUMBER.VALUE=2 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_FLASH_ERROR_CORRECTION_HANDLING.VALUE=TI_Fee_None -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_NUMBER.VALUE=4 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_DEVERROR_DETECT.VALUE=STD_ON -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_START.VALUE=2 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_VS4_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX8_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_MAX_NUMBER_OF_LINKS.VALUE=256 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_EEP.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX12_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX1_ENABLE.VALUE=1 -DRIVER.FEE.VAR.FEE_FLASH_ERROR_CORRECTION_ENABLE.VALUE=STD_ON -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_BANK.VALUE=7 -DRIVER.FEE.VAR.FEE_DATASELECT_BITS.VALUE=0 -DRIVER.FEE.VAR.FEE_OPERATING_FREQ.VALUE=160.000 -DRIVER.FEE.VAR.FEE_TOTAL_SECTORS.VALUE=4 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_NUMBER.VALUE=16 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_NUMBER.VALUE=7 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_NUMBER.VALUE=2 -DRIVER.FEE.VAR.FEE_JOBEND_NOTIFICATION.VALUE=JobEndNotification -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_ENABLE_ECC.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_OVERHEAD.VALUE=24 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_DATASETS.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_OFFSET.VALUE=0 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_BANK.VALUE=7 -DRIVER.FEE.VAR.FEE_VS2_ENABLE.VALUE=1 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX6_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_DEVICE_INDEX.VALUE=0x00000000 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_SIZE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX10_ENABLE.VALUE=0 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_NUMBER.VALUE=14 -DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_START.VALUE=3 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_IMED_DATA.VALUE=TRUE -DRIVER.FEE.VAR.FEE_CHECK_BANK7_ACCESS.VALUE=STD_OFF -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_WRITE_CYCLES.VALUE=0x8 -DRIVER.FEE.VAR.FEE_POLLING_MODE.VALUE=STD_ON -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_NUMBER.VALUE=5 -DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_SIZE.VALUE=0 -DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_2.VALUE=0xFFFDFFFE -DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_3.VALUE=0xFFEFFFFF -DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_0.VALUE=0xEFFDFFFF -DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_1.VALUE=0xFFFFFFFF -DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_2.VALUE=0xFFFDFFFE -DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_3.VALUE=0xFFEFFFFF -DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_0.VALUE=PATTERN_NOT_REQUIRED -DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_ECC_BYTE_0.VALUE=0xFF -DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_1.VALUE=PATTERN_NOT_REQUIRED -DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_ECC_BYTE_1.VALUE=0xFF -DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_2.VALUE=PATTERN_NOT_REQUIRED -DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_3.VALUE=PATTERN_NOT_REQUIRED -DRIVER.AJSM.VAR.AJSM_NEW_KEY_ECC_BYTE_0.VALUE=0xFF -DRIVER.AJSM.VAR.AJSM_NEW_KEY_ECC_BYTE_1.VALUE=0xFF -DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN.VALUE=PATTERN_NOT_REQUIRED -DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_0.VALUE=0xEFFDFFFF -DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_1.VALUE=0xFFFFFFFF +# TMS570LS1224PGE 01/31/22 20:40:09 +# +ARCH=TMS570LS1224PGE +# +DRIVER.TOOLS.VAR.GCC.VALUE=0 +DRIVER.TOOLS.VAR.ARM.VALUE=0 +DRIVER.TOOLS.VAR.IAR.VALUE=0 +DRIVER.TOOLS.VAR.GHS.VALUE=0 +DRIVER.TOOLS.VAR.TI.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.PMM_MEM_PD3_STATE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CAPTURE_EVENT_SOURCE_0.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_PERMISSION_VALUE.VALUE=0x0300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_NAME.VALUE=het2LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_NAME.VALUE=adc2Group2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_NAME.VALUE=spi4HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_MAPPING.VALUE=2 +DRIVER.SYSTEM.VAR.VIM_CAPTURE_EVENT_SOURCE_1.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_ADC1_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.EQEP2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_MEMINIT_SELECTED.VALUE=1 +DRIVER.SYSTEM.VAR.FLASH_DATA_3_WAIT_STATE_FREQ.VALUE=180.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_MAPPING.VALUE=96 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_MAPPING.VALUE=88 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_END_ADDRESS.VALUE=0xfcffffff +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_5_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_DATA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_STC_SELFCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.SPI3_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL1_BYPASS_ON_SLIP.VALUE=0x20000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_NAME.VALUE=ecap5Interrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SIZE.VALUE=256_KB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI2_RAMPARITYCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CRC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.MIBSPI1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_HCLK_FREQ.VALUE=160.000 +DRIVER.SYSTEM.VAR.CLKT_PLL2_FREQ.VALUE=160.00 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_MAPPING.VALUE=81 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_MAPPING.VALUE=73 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_MAPPING.VALUE=65 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_MAPPING.VALUE=57 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_MAPPING.VALUE=49 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_NAME.VALUE=dmaBTCAInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_NAME.VALUE=het1LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_NAME.VALUE=can1HighLevelInterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_6_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_CCM_SELFCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.PMM_MEM_PD2_STATE_AVAIL.VALUE=1 +DRIVER.SYSTEM.VAR.ECLK_CLKSRC.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.CLKT_PLL2_OUTPUT_DIV.VALUE=2 +DRIVER.SYSTEM.VAR.CLKT_EXT2_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CLKT_PLL1_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_END_ADDRESS.VALUE=0x63ffffff +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_HET2_DP_PBISTCHECK_ENA.VALUE=0x00040000 +DRIVER.SYSTEM.VAR.CLKT_RTI2_PRE_SOURCE.VALUE=PLL1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SIZE_VALUE.VALUE=0x1A +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_NAME.VALUE=etpwm5TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_MAPPING.VALUE=50 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_MAPPING.VALUE=42 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_MAPPING.VALUE=34 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_MAPPING.VALUE=26 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_MAPPING.VALUE=18 +DRIVER.SYSTEM.VAR.PMM_LOGIC_PD2_STATEVALUE.VALUE=0x5 +DRIVER.SYSTEM.VAR.CLKT_VCLK3_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_ECC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_BANKS.VALUE=4 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_IRQ_DISP_ENTRY.VALUE=_irqDispatch +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CAN3_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK1_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ETPWM4_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.DCC2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_PLL1_RESET_ON_OSCILLATOR_FAIL.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_PERMISSION_VALUE.VALUE=0x0600 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_MAPPING.VALUE=11 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC +DRIVER.SYSTEM.VAR.LBIST_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK2_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_END_ADDRESS.VALUE=0x003fffff +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECAP6_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SCI_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.FLASH_DATA_1_WAIT_STATE_FREQ.VALUE=100.0 +DRIVER.SYSTEM.VAR.RAM_STACK_IRQ_BASE.VALUE=0x08001200 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_MAPPING.VALUE=125 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_MAPPING.VALUE=117 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_MAPPING.VALUE=109 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_NAME.VALUE=etpwm1Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_NAME.VALUE=dcc1DoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_NAME.VALUE=sciLowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_NAME.VALUE=i2cInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DOMAIN_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_PMU_GLOBAL_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_BASE_ADDRESS.VALUE=0xFF000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.PMM_LOGIC_PD2_STATE.VALUE=1 +DRIVER.SYSTEM.VAR.EMAC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_DP_SELECTED.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_MAPPING.VALUE=8 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_NAME.VALUE=rtiCompare0Interrupt +DRIVER.SYSTEM.VAR.CORE_PMU_COUNTER0_EVENT.VALUE=0x11 +DRIVER.SYSTEM.VAR.FLASH_ADDRESS_WAIT_STATES.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_RESET_ENTRY.VALUE=_c_int00 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ADC1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.MIBSPI_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ECLK_VCLK1_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_FREQ.VALUE=00.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SIZE_VALUE.VALUE=0x0A +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_MAPPING.VALUE=110 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_NAME.VALUE=ecap6Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_MAPPING.VALUE=102 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.RAM_LENGTH.VALUE=0x00030000 +DRIVER.SYSTEM.VAR.CLKT_VCLK1_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SIZE.VALUE=64_MB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_ESRAM_SP_PBISTCHECK_VALUE_NEW.VALUE=0x00300020 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_NAME.VALUE=dmaFTCAInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_MAPPING.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_SOURCE_ENABLE.VALUE=0x00000008 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_END_ADDRESS.VALUE=0x203fffff +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_BASE_ADDRESS.VALUE=0xF0000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_PARITY_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.SAFETY_INIT_FRAY_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_TYPE_VALUE.VALUE=0x0000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_MAPPING.VALUE=95 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_MAPPING.VALUE=87 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_MAPPING.VALUE=79 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_4_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_IRQ_VIC_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI1_DP_PBISTCHECK_ENA.VALUE=0x00000040 +DRIVER.SYSTEM.VAR.SPI1_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_NAME.VALUE=etpwm6Interrupt +DRIVER.SYSTEM.VAR.CLKT_RTI2_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.RAM_ECC_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_7_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN4_RAMPARITYCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.SCI_ALL_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL_FREQ_INPUT.VALUE=16.0 +DRIVER.SYSTEM.VAR.STC_INTERVAL.VALUE=24 +DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_TRIM_VALUE.VALUE=16 +DRIVER.SYSTEM.VAR.CLKT_GCLK_FREQ.VALUE=160.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_PERMISSION_VALUE.VALUE=0x1000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_MAPPING.VALUE=80 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_MAPPING.VALUE=72 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_MAPPING.VALUE=64 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_MAPPING.VALUE=56 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_MAPPING.VALUE=48 +DRIVER.SYSTEM.VAR.CLKT_PLL1_REF_CLOCK_DIV.VALUE=6 +DRIVER.SYSTEM.VAR.FLASHW_BASE_ADDRESS.VALUE=0xFFF87000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_FIQ_ENTRY.VALUE="ldr pc,[pc,#-0x1b0]" +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN5_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.SCILIN_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SPI_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ALL_DVR_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CCM_MENU_VALUE.VALUE=0x0001 +DRIVER.SYSTEM.VAR.PBIST_ENA1.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_VCLK4_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_OSCILLATOR_FREQ.VALUE=16.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_NAME.VALUE=etpwm1TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_NAME.VALUE=dcc2DoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_MAPPING.VALUE=41 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_MAPPING.VALUE=33 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_MAPPING.VALUE=25 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_MAPPING.VALUE=17 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_IRQ_MODE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.PMM_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.EMIF_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CAN1_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CAN_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_NAME.VALUE=rtiCompare1Interrupt +DRIVER.SYSTEM.VAR.PMM_MEM_PD3_STATEVALUE.VALUE=0xA +DRIVER.SYSTEM.VAR.CLKT_PLL1_OUTPUT_DIV.VALUE=2 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC +DRIVER.SYSTEM.VAR.CLKT_PLL2_FM_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_BASE_ADDRESS.VALUE=0x08400000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_STC_CPUSELFTEST_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.ETPWM2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.HET1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_RTI1_PRE_SOURCE.VALUE=PLL1 +DRIVER.SYSTEM.VAR.FLASH_MODE_VALUE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SIZE_VALUE.VALUE=0x19 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_MAPPING.VALUE=10 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SIZE.VALUE=128_MB +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_HET1_DP_PBISTCHECK_ENA.VALUE=0x00001000 +DRIVER.SYSTEM.VAR.ECAP4_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_PLL2_BYPASS_ON_SLIP.VALUE=0x20000000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_MAPPING.VALUE=124 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_MAPPING.VALUE=116 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_MAPPING.VALUE=108 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_NAME.VALUE=adc2Group0Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_NAME.VALUE=can2LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_NAME.VALUE=dmaLFSAInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_NAME.VALUE=mibspi1LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.FLASH_ARBITRATION.VALUE=FIX +DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PBIST_ALGO_9_10.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL2_FREQ_INPUT.VALUE=16.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_MAPPING.VALUE=7 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC +DRIVER.SYSTEM.VAR.CLKT_RTI2_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_BACKGROUND_REGION_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CONFIG.VALUE=TRUE +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_MAPPING.VALUE=101 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_NAME.VALUE=etpwm6TripZoneInterrupt +DRIVER.SYSTEM.VAR.RAM_STACK_ABORT_LENGTH.VALUE=0x00000100 +DRIVER.SYSTEM.VAR.FLASH_DATA_MAX_WAIT_STATES.VALUE=3 +DRIVER.SYSTEM.VAR.FLASH_MODE.VALUE=PIPELINE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_7_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI4_RAMPARITYCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_EMAC_SP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.MINIT_VALUE.VALUE=0x1E57F +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_MAPPING.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL1_DIV.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_VCLK4_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.RAM_BASE_ADDRESS.VALUE=0x08000000 +DRIVER.SYSTEM.VAR.CORE_PMU_EVENT_EXPORT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN1_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.GIO_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SIZE_VALUE.VALUE=0x17 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_MAPPING.VALUE=94 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_MAPPING.VALUE=86 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_MAPPING.VALUE=78 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_TYPE.VALUE=STRONGLYORDERED_SHAREABLE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_3_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_UNDEF_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_SP_SELECTED.VALUE=0 +DRIVER.SYSTEM.VAR.RAM_STACK_ABORT_BASE.VALUE=0x08001300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_NAME.VALUE=etpwm2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.CLKT_RTI1_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_6_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_TYPE.VALUE=FIQ +DRIVER.SYSTEM.VAR.PMM_LOGIC_PD3_STATE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_EFUSE_SELFCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_GHV_WAKUP_SOURCE.VALUE=OSC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_TYPE_VALUE.VALUE=0x0000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_MAPPING.VALUE=71 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_MAPPING.VALUE=63 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_MAPPING.VALUE=55 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_MAPPING.VALUE=47 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_MAPPING.VALUE=39 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_NAME.VALUE=rtiCompare2Interrupt +DRIVER.SYSTEM.VAR.CORE_PMU_COUNTER1_EVENT.VALUE=0x11 +DRIVER.SYSTEM.VAR.EFUSE_SELFTEST_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.RAM_LINK_BASE_ADDRESS.VALUE=0x08001500 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.CLKT_PLL2_DIV.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_VCLK3_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_LPO_TRIM_OTP_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SIZE.VALUE=8_MB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_VIM1_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.FLASH_ADDRESS_WAIT_STATES_FREQ.VALUE=150.0 +DRIVER.SYSTEM.VAR.RAM_STACK_BASE.VALUE=0x08000000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_NAME.VALUE=adc2Group1Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_MAPPING.VALUE=40 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_NAME.VALUE=can2HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_MAPPING.VALUE=32 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_NAME.VALUE=linLowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_MAPPING.VALUE=24 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_NAME.VALUE=crcInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_MAPPING.VALUE=16 +DRIVER.SYSTEM.VAR.CLKT_VCLK3_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_END_ADDRESS.VALUE=0xf07fffff +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ETPWM7_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_1.VALUE=0 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_2.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN4_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_3.VALUE=1 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_4.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_NAME.VALUE=eqep1Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_NAME.VALUE=etpwm7Interrupt +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_5.VALUE=1 +DRIVER.SYSTEM.VAR.LBIST_STT.VALUE=1 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_6.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_HTU2_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_7.VALUE=1 +DRIVER.SYSTEM.VAR.ECAP2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_8.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_TYPE_VALUE.VALUE=0x0010 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_MAPPING.VALUE=123 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_MAPPING.VALUE=115 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_MAPPING.VALUE=107 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_NAME.VALUE=het1HighLevelInterrupt +DRIVER.SYSTEM.VAR.PMM_MEM_PD2_STATEVALUE.VALUE=0x5 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_9.VALUE=1 +DRIVER.SYSTEM.VAR.RAM_STACK_USER_LENGTH.VALUE=0x00001000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_END_ADDRESS.VALUE=0x0843ffff +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI1_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_USB_SP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_SELFCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.ETPWM_OLDCODE.VALUE=1 +DRIVER.SYSTEM.VAR.SCI2_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.LIN_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_RTI1_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SIZE_VALUE.VALUE=0x11 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_MAPPING.VALUE=6 +DRIVER.SYSTEM.VAR.CLKT_PLL2_SPEADING_AMOUNT.VALUE=61 +DRIVER.SYSTEM.VAR.CLKT_PLL2_SPEADING_RATE.VALUE=255 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_BASE_ADDRESS.VALUE=0x08001000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_TYPE.VALUE=STRONGLYORDERED_SHAREABLE +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI5_DP_PBISTCHECK_ENA.VALUE=0x00000100 +DRIVER.SYSTEM.VAR.CLKT_PLL2_RESET_ON_SLIP.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.ECLK_FREQ.VALUE=10.000 +DRIVER.SYSTEM.VAR.CLKT_AVCLK1_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_MAPPING.VALUE=100 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_NAME.VALUE=etpwm2TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.RAM_STACK_IRQ_LENGTH.VALUE=0x00000100 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_6_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_2_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_RTI2_POST_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_PERMISSION_VALUE.VALUE=0x1300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_NAME.VALUE=rtiCompare3Interrupt +DRIVER.SYSTEM.VAR.RAM_STACK_LENGTH.VALUE=0x00001500 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_PERMISSION.VALUE=PRIV_RO_USER_RO_EXEC +DRIVER.SYSTEM.VAR.CLKT_LPO_BIAS.VALUE=true +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DIVIDER1.VALUE=4 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_END_ADDRESS.VALUE=0xffffffff +DRIVER.SYSTEM.VAR.CORE_PRAGMA_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SPI4_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_POST_SOURCE.VALUE=VCLKA4_DIVR +DRIVER.SYSTEM.VAR.CLKT_VCLK1_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_FREQ1.VALUE=0.000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_MAPPING.VALUE=93 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_MAPPING.VALUE=85 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_MAPPING.VALUE=77 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_MAPPING.VALUE=69 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_FREQ2.VALUE=80.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SIZE.VALUE=16_MB +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_BASE_ADDRESS.VALUE=0xFC000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_2_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CLKT_PLL1_MUL.VALUE=120 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_NAME.VALUE=adc1Group2Interrupt +DRIVER.SYSTEM.VAR.CLKT_OSC_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SIZE.VALUE=16_MB +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_SVC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PINMUX_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PBIST_ALGO_3_4.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_LPO_BIAS_VALUE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_MAPPING.VALUE=70 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_MAPPING.VALUE=62 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_MAPPING.VALUE=54 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_MAPPING.VALUE=46 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_MAPPING.VALUE=38 +DRIVER.SYSTEM.VAR.CLKT_AVCLK1_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL2_SOURCE_ENABLE.VALUE=0x00000080 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_PREFETCH_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_HTU2_DP_PBISTCHECK_ENA.VALUE=0x00080000 +DRIVER.SYSTEM.VAR.SAFETY_INIT_EMAC_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.PBIST_ALGO_15.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_NAME.VALUE=eqep2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_NAME.VALUE=etpwm7TripZoneInterrupt +DRIVER.SYSTEM.VAR.PBIST_ALGO_16.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_VCLK2_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.RAM_LINK_LENGTH.VALUE=0x0002EB00 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_END_ADDRESS.VALUE=0x080017ff +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_LPO_OSCFRQCONFIGCNT_VALUE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK2_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_MAPPING.VALUE=31 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_MAPPING.VALUE=23 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_MAPPING.VALUE=15 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_11_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.PBIST_ALGO_5_6.VALUE=0 +DRIVER.SYSTEM.VAR.PBIST_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_HCLK_DOMAIN_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_10_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.ETPWM5_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ETPWM_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_MUL.VALUE=120 +DRIVER.SYSTEM.VAR.CLKT_RTI2_FREQ.VALUE=0.0 +DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_FREQ.VALUE=0.080 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_PREFETCH_ENTRY.VALUE=_prefetch +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_DMA_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK2_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_PERMISSION_VALUE.VALUE=0x1300 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_PERMISSION_VALUE.VALUE=0x1300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_NAME.VALUE=etpwm3Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_OSCILLATOR_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_BASE_ADDRESS.VALUE=0x60000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PMM_AUTO_CLK_WAKE_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.PMM_LOGIC_PD4_STATE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_HET2_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.PBIST_ALGO_7_8.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_RESET_ON_OSCILLATOR_FAIL.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_BASE_ADDRESS_0.VALUE=0x00000020 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_BASE_ADDRESS_1.VALUE=0x00180000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SIZE_VALUE.VALUE=0x08 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_MAPPING.VALUE=122 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_MAPPING.VALUE=114 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_MAPPING.VALUE=106 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_NAME.VALUE=rtiOverflow0Interrupt +DRIVER.SYSTEM.VAR.PMM_LOGIC_PD5_STATEVALUE.VALUE=0x5 +DRIVER.SYSTEM.VAR.CORE_PMU_COUNTER2_EVENT.VALUE=0x11 +DRIVER.SYSTEM.VAR.FLASH_DATA_WAIT_STATES.VALUE=3 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_PARITY_AVAILABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN3_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_RAMECC_SELFCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.ADC2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_VCLK2_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.FLASH_DATA_2_WAIT_STATE_FREQ.VALUE=150.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_MAPPING.VALUE=5 +DRIVER.SYSTEM.VAR.VIM_PARITY_INTERRUPT_MAPPED_TO_VIM.VALUE=FALSE +DRIVER.SYSTEM.VAR.VIM_CHANNELS.VALUE=128 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_BASE_ADDRESS_7.VALUE=0xF0200000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SIZE.VALUE=512_BYTES +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.PMM_MEM_PD1_STATE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN3_DP_PBISTCHECK_ENA.VALUE=0x00000010 +DRIVER.SYSTEM.VAR.ECAP_OLDCODE.VALUE=1 +DRIVER.SYSTEM.VAR.ESM_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_MAPPING.VALUE=99 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_NAME.VALUE=mibspi5HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_NAME.VALUE=can3HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_NAME.VALUE=mibspi3HighInterruptLevel +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_NAME.VALUE=can1LowLevelInterrupt +DRIVER.SYSTEM.VAR.PMM_MEM_PD1_STATEVALUE.VALUE=0x5 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_PERMISSION.VALUE=PRIV_RW_USER_RO_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_5_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SIZE.VALUE=2_KB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.EQEP1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_FREQ.VALUE=10.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SIZE_VALUE.VALUE=0x11 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_IRQ_ENTRY.VALUE="ldr pc,[pc,#-0x1b0]" +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECAP_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SPI2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_GHV_POWER_DOWN_SOURCE.VALUE=OSC +DRIVER.SYSTEM.VAR.RAM_STACK_USER_BASE.VALUE=0x08000000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_NAME.VALUE=ecap1Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_92_MAPPING.VALUE=92 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_84_MAPPING.VALUE=84 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_76_MAPPING.VALUE=76 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_68_MAPPING.VALUE=68 +DRIVER.SYSTEM.VAR.CLKT_GCLK_DOMAIN_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_1_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_81_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_73_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_65_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_57_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_49_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_ADC2_DP_PBISTCHECK_ENA.VALUE=0x00020000 +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI4_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.SAFETY_INIT_USB_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.SYSTEM_INIT.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_NAME.VALUE=esmLowInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_NAME.VALUE=mibspi1HighLevelInterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_PERMISSION.VALUE=PRIV_NA_USER_NA_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_1_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_INT_TYPE.VALUE=FIQ +DRIVER.SYSTEM.VAR.DMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_PERMISSION_VALUE.VALUE=0x1100 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_PERMISSION_VALUE.VALUE=0x1200 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_61_MAPPING.VALUE=61 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_53_MAPPING.VALUE=53 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_45_MAPPING.VALUE=45 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_37_MAPPING.VALUE=37 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_29_MAPPING.VALUE=29 +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_DIR.VALUE=1 +DRIVER.SYSTEM.VAR.FLASH_LENGTH.VALUE=0x00140000 +DRIVER.SYSTEM.VAR.RAM_STACK_FIQ_LENGTH.VALUE=0x00000100 +DRIVER.SYSTEM.VAR.CLKT_EXT1_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_TYPE.VALUE=DEVICE_NONSHAREABLE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_ADC2_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_FREQ.VALUE=0.000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_TYPE_VALUE.VALUE=0x0010 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_95_NAME.VALUE=etpwm3TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_87_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_79_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.CLKT_VCLK1_DIVIDER.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_PERMISSION.VALUE=PRIV_RW_USER_RW_NOEXEC +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_TYPE.VALUE=DEVICE_NONSHAREABLE +DRIVER.SYSTEM.VAR.VIM_CHANNEL_124_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_116_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_108_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CAN2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_DOUT.VALUE=0 +DRIVER.SYSTEM.VAR.PBIST_ALGO_1.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_DATA_0_WAIT_STATE_FREQ.VALUE=50.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_MAPPING.VALUE=30 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_MAPPING.VALUE=22 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_MAPPING.VALUE=14 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_7_NAME.VALUE=rtiOverflow1Interrupt +DRIVER.SYSTEM.VAR.PBIST_ALGO_2.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_RTI1_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CLKT_AVCLK1_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI3_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.ETPWM3_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.DCC1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.HET2_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_ESRAM_SELECTED.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_VCLK3_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_FREQ1.VALUE=80.000 +DRIVER.SYSTEM.VAR.PBIST_ALGO_11_12.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL2_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_END_ADDRESS.VALUE=0xfe0001ff +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_INT_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_HTU1_DP_PBISTCHECK_ENA.VALUE=0x00002000 +DRIVER.SYSTEM.VAR.ECAP5_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.ADC_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_70_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_62_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_54_NAME.VALUE=spi4LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_46_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_38_NAME.VALUE=mibspi3LowLevelInterrupt +DRIVER.SYSTEM.VAR.FEE_FLASH_ECC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SIZE.VALUE=4_MB +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_RESET_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_110_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_102_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PMM_LOGIC_PD4_STATE_AVAIL.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_MAPPING.VALUE=121 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_MAPPING.VALUE=113 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_MAPPING.VALUE=105 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_RESERVED_ENTRY.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.PMM_MEM_PD3_STATE_AVAIL.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_121_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_113_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_105_NAME.VALUE=ecap2Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_MAPPING.VALUE=4 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DOMAIN_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_END_ADDRESS.VALUE=0x87ffffff +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SIZE.VALUE=4_GB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_PERMISSION_VALUE.VALUE=0x1300 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SIZE_VALUE.VALUE=0x17 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_PERMISSION_VALUE.VALUE=0x0300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_MAPPING.VALUE=98 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_NAME.VALUE=linHighLevelInterrupt +DRIVER.SYSTEM.VAR.PMM_LOGIC_PD4_STATEVALUE.VALUE=0x5 +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_FUN.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_BASE_ADDRESS.VALUE=0x20000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_7_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_94_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_86_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_78_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_FRAY_RAMPARITYCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_DMA_DP_PBISTCHECK_ENA.VALUE=0x00000800 +DRIVER.SYSTEM.VAR.HET_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.PBIST_ALGO_13_14.VALUE=0 +DRIVER.SYSTEM.VAR.RAM_STACK_UNDEF_BASE.VALUE=0x08001400 +DRIVER.SYSTEM.VAR.RAM_STACK_SVC_BASE.VALUE=0x08001000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_TYPE.VALUE=DEVICE_NONSHAREABLE +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.DMM_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.MIBSPI5_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_0.VALUE=ACTIVE +DRIVER.SYSTEM.VAR.PMM_PMCTRL_PWRDN.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK4_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_1.VALUE=ACTIVE +DRIVER.SYSTEM.VAR.VIM_CHANNEL_96_NAME.VALUE=etpwm4Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_91_MAPPING.VALUE=91 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_88_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_83_MAPPING.VALUE=83 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_75_MAPPING.VALUE=75 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_67_MAPPING.VALUE=67 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_59_MAPPING.VALUE=59 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_2.VALUE=SLEEP +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC +DRIVER.SYSTEM.VAR.CLKT_VCLK2_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_3.VALUE=SLEEP +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_END_ADDRESS.VALUE=0x0803ffff +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_0_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_40_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_32_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_24_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_16_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.PMM_LOGIC_PD5_STATE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN2_DP_PBISTCHECK_ENA.VALUE=0x00000008 +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PDR.VALUE=0 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_4.VALUE=SLEEP +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_5.VALUE=SLEEP +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SIZE_VALUE.VALUE=0x15 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_8_NAME.VALUE=rtiTimebaseInterrupt +DRIVER.SYSTEM.VAR.ECLK_PRESCALER.VALUE=8 +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_6.VALUE=SLEEP +DRIVER.SYSTEM.VAR.FLASH_BANK_CONFIG_7.VALUE=ACTIVE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_BASE_ADDRESS.VALUE=0xFE000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_HTU1_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_VCLK4_FREQ.VALUE=80.000 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_60_MAPPING.VALUE=60 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_52_MAPPING.VALUE=52 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_44_MAPPING.VALUE=44 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_36_MAPPING.VALUE=36 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_28_MAPPING.VALUE=28 +DRIVER.SYSTEM.VAR.CLKT_PLL1_BAND_WIDTH_ADJUSTMENT.VALUE=7 +DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_SOURCE_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.PMM_MEM_PD2_STATE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_VIM2_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CLKT_PLL2_MUL_VAL.VALUE=7700 +DRIVER.SYSTEM.VAR.CLKT_RTI1_POST_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_NAME.VALUE=het2HighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_NAME.VALUE=can3LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_NAME.VALUE=dmaHBCAInterrupt +DRIVER.SYSTEM.VAR.CLKT_PLL2_BAND_WIDTH_ADJUSTMENT.VALUE=7 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_DATA_ENTRY.VALUE=_dabort +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_ADC1_DP_PBISTCHECK_ENA.VALUE=0x00000400 +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI3_DP_PBISTCHECK_ENA.VALUE=0x00000080 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_MAPPING.VALUE=21 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_MAPPING.VALUE=13 +DRIVER.SYSTEM.VAR.CLKT_PLL2_REF_CLOCK_DIV.VALUE=6 +DRIVER.SYSTEM.VAR.CLKT_PLL1_SPEADING_RATE.VALUE=255 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN5_RAMPARITYCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.ETPWM1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_PLL1_RESET_ON_SLIP.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_TYPE_VALUE.VALUE=0x0010 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_PERMISSION_VALUE.VALUE=0x0300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_127_MAPPING.VALUE=127 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_122_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_119_MAPPING.VALUE=119 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_114_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_106_NAME.VALUE=ecap3nterrupt +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_PERMISSION.VALUE=PRIV_RW_USER_NA_NOEXEC +DRIVER.SYSTEM.VAR.CLKT_PLL1_FM_ENABLE.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SIZE.VALUE=4_MB +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_PBIST_ROM_PBIST_SELFCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.ECAP3_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_30_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_22_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_14_NAME.VALUE=adc1Group0Interrupt +DRIVER.SYSTEM.VAR.CLKT_LPOLO_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PSL.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_MAPPING.VALUE=120 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_MAPPING.VALUE=112 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_MAPPING.VALUE=104 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_END_ADDRESS.VALUE=0xffffffff +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SUB_4_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_BASE_ADDRESS.VALUE=0x80000000 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_SVC_ENTRY.VALUE=_svc +DRIVER.SYSTEM.VAR.VIM_CHANNEL_21_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_13_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CONFIG_NEW.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_FTU_RAMPARITYCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_FLASHECC_SELFCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_EXTERNAL2_FREQ.VALUE=00.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_NAME.VALUE=etpwm4TripZoneInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_3_MAPPING.VALUE=3 +DRIVER.SYSTEM.VAR.CLKT_LPOHI_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_101_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_99_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_6_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_RTP_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CLKT_GHV_NORMAL_SOURCE.VALUE=PLL1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_DIV_FREQ.VALUE=80.0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_97_MAPPING.VALUE=97 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_89_MAPPING.VALUE=89 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_NAME.VALUE=gioHighLevelInterrupt +DRIVER.SYSTEM.VAR.CLKT_PLL1_ENABLE.VALUE=TRUE +DRIVER.SYSTEM.VAR.FLASH_BASE_ADDRESS.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_11_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SUB_6_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_ESRAM_SP_PBISTCHECK_ENA.VALUE=0x08300020 +DRIVER.SYSTEM.VAR.SAFETY_INIT_STC_ROM_PBIST_SELFCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.SPI5_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_AVCLK2_DOMAIN_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_TYPE.VALUE=NORMAL_OINC_NONSHARED +DRIVER.SYSTEM.VAR.VIM_CHANNEL_120_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_112_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_104_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_FTU_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.RTP_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.MIBSPI3_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_LENGTH_0.VALUE=0x0013FFE0 +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_LENGTH_1.VALUE=0x00180000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_SIZE_VALUE.VALUE=0x16 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_90_MAPPING.VALUE=90 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_82_MAPPING.VALUE=82 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_80_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_74_MAPPING.VALUE=74 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_72_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_66_MAPPING.VALUE=66 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_64_NAME.VALUE=sciHighLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_58_MAPPING.VALUE=58 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_56_NAME.VALUE=mibspi5LowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_48_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.PMM_LOGIC_PD3_STATEVALUE.VALUE=0x5 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_7_DISABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_SUB_1_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.EQEP_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.RTI_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.STC_MAX_TIMEOUT.VALUE=0xFFFFFFFF +DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_TRIM.VALUE=100.00 +DRIVER.SYSTEM.VAR.RAM_STACK_FIQ_BASE.VALUE=0x08001100 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_PERMISSION_VALUE.VALUE=0x0300 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_0_NAME.VALUE=esmHighInterrupt +DRIVER.SYSTEM.VAR.FLASH_BANK_LINK_LENGTH_7.VALUE=0x000010000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_SUB_2_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_50_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_42_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_34_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_26_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_18_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_HET1_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI5_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.FEE_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_10.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_LPO_LOW_TRIM_VALUE.VALUE=16 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_123_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_115_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_107_NAME.VALUE=ecap4Interrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_MAPPING.VALUE=51 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_MAPPING.VALUE=43 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_MAPPING.VALUE=35 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_MAPPING.VALUE=27 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_19_MAPPING.VALUE=19 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_11.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_5_PERMISSION.VALUE=PRIV_RW_USER_RW_EXEC +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_12.VALUE=1 +DRIVER.SYSTEM.VAR.CCM_MENU.VALUE=NONE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_9_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SIZE.VALUE=256_KB +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_BASE_ADDRESS.VALUE=0x08000000 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_3_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_4_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_PARITY_ENABLE_NEW.VALUE=0xA +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN2_RAMPARITYCHECK_ENA.VALUE=1 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_13.VALUE=1 +DRIVER.SYSTEM.VAR.POM_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL1_MUL_VAL.VALUE=7700 +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_14.VALUE=1 +DRIVER.SYSTEM.VAR.CLKT_AVCLK3_SOURCE.VALUE=VCLK +DRIVER.SYSTEM.VAR.CLKT_PLL1_FREQ.VALUE=160.00 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_1_SIZE_VALUE.VALUE=0x1F +DRIVER.SYSTEM.VAR.VIM_CHANNEL_31_NAME.VALUE=phantomInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_23_NAME.VALUE=gioLowLevelInterrupt +DRIVER.SYSTEM.VAR.VIM_CHANNEL_15_NAME.VALUE=adc1Group1Interrupt +DRIVER.SYSTEM.VAR.ERRATA_WORKAROUND_15.VALUE=1 +DRIVER.SYSTEM.VAR.RAM_STACK_UNDEF_LENGTH.VALUE=0x00000100 +DRIVER.SYSTEM.VAR.RAM_STACK_SVC_LENGTH.VALUE=0x00000100 +DRIVER.SYSTEM.VAR.CLKT_LPO_TRIM_OTP_LOC.VALUE=0xF00801B4 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_6_SUB_6_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_HANDLER_TABLE_UNDEF_ENTRY.VALUE=_undef +DRIVER.SYSTEM.VAR.VIM_CHANNEL_93_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_85_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_77_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_69_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN1_DP_PBISTCHECK_ENA.VALUE=0x00000004 +DRIVER.SYSTEM.VAR.ETPWM6_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.DCC_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_20_MAPPING.VALUE=20 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_12_MAPPING.VALUE=12 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_7_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_ENDIAN_LITTLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_125_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.VIM_CHANNEL_117_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_109_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_FRAY_SP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.OS_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_12_SIZE_VALUE.VALUE=0x15 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_126_MAPPING.VALUE=126 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_118_MAPPING.VALUE=118 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_98_NAME.VALUE=etpwm5Interrupt +DRIVER.SYSTEM.VAR.ECLK_PORT_BIT0_PULL.VALUE=2 +DRIVER.SYSTEM.VAR.ECLK_SUSPEND.VALUE=0 +DRIVER.SYSTEM.VAR.CLKT_PLL1_SPEADING_AMOUNT.VALUE=61 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_10_SUB_5_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_4_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.CORE_VFP_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.SAFETY_INIT_VIM1_DP_PBISTCHECK_ENA.VALUE=0x00000200 +DRIVER.SYSTEM.VAR.SAFETY_INIT_FMCBUS2_SELFCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.ECAP1_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.I2C_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.AJSM_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.ECLK_OSCILLATOR_FREQ.VALUE=16.000 +DRIVER.SYSTEM.VAR.CLKT_LPO_HIGH_TRIM.VALUE=100.00 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_MAPPING.VALUE=9 +DRIVER.SYSTEM.VAR.CLKT_VCLK4_DOMAIN_ENABLE.VALUE=FALSE +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_3_SUB_0_DISABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_71_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_63_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_55_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_47_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_41_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_39_INT_PRAGMA_ENABLE.VALUE=1 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_33_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_25_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_17_INT_ENABLE.VALUE=0 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_9_INT_TYPE.VALUE=IRQ +DRIVER.SYSTEM.VAR.SAFETY_INIT_VIM2_RAMPARITYCHECK_ENA.VALUE=0 +DRIVER.SYSTEM.VAR.SAFETY_INIT_MIBSPI2_DP_PBISTCHECK_ENA.VALUE=0x00000000 +DRIVER.SYSTEM.VAR.CLKT_CRYSTAL_FREQ.VALUE=16.0 +DRIVER.SYSTEM.VAR.CORE_MPU_REGION_7_TYPE_VALUE.VALUE=0x0008 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_111_MAPPING.VALUE=111 +DRIVER.SYSTEM.VAR.VIM_CHANNEL_103_MAPPING.VALUE=103 +DRIVER.SYSTEM.VAR.VIM_PHANTOM_NAME.VALUE=phantomInterrupt +DRIVER.OS.VAR.OS_USERECERSIVEMUTEXES.VALUE=0 +DRIVER.OS.VAR.OS_USETIMERS.VALUE=0 +DRIVER.OS.VAR.OS_USECNTSEMAPHORE.VALUE=0 +DRIVER.OS.VAR.OS_GENERATERUNTIMESTATS.VALUE=0 +DRIVER.OS.VAR.OS_USEMPU.VALUE=0 +DRIVER.OS.VAR.OS_TOTALHEAPSIZE.VALUE=8192 +DRIVER.OS.VAR.OS_USEVERBOSESTACK.VALUE=2 +DRIVER.OS.VAR.OS_TIMERPRIORITY.VALUE=0 +DRIVER.OS.VAR.OS_SVCENABLE.VALUE=0 +DRIVER.OS.VAR.OS_MAXTASKNAMELEN.VALUE=16 +DRIVER.OS.VAR.OS_MAXPRIORITIES.VALUE=5 +DRIVER.OS.VAR.OS_TIMERTASKSTACKDEPTH.VALUE=0 +DRIVER.OS.VAR.OS_COROUTINEPRIORITIES.VALUE=2 +DRIVER.OS.VAR.OS_USECOROUTINES.VALUE=0 +DRIVER.OS.VAR.OS_USEMUTEXES.VALUE=0 +DRIVER.OS.VAR.OS_CPUCLOCKHZ.VALUE=80000000 +DRIVER.OS.VAR.OS_USEMALLOCFAILEDHOOK.VALUE=0 +DRIVER.OS.VAR.OS_MINSTACKSIZE.VALUE=128 +DRIVER.OS.VAR.OS_SYSTEM_MODE.VALUE=0x1F +DRIVER.OS.VAR.OS_USEPREEMPTION.VALUE=1 +DRIVER.OS.VAR.OS_IDLESHOULDYIELD.VALUE=1 +DRIVER.OS.VAR.OS_USEIDLEHOOK.VALUE=0 +DRIVER.OS.VAR.OS_TICKRATEHZ.VALUE=1000 +DRIVER.OS.VAR.OS_TIMERPQUEUELENGTH.VALUE=0 +DRIVER.OS.VAR.OS_USETRACE.VALUE=0 +DRIVER.OS.VAR.OS_USESTACK.VALUE=0 +DRIVER.OS.VAR.OS_USETICKHOOK.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL0_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL21_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL13_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL63_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL55_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL47_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL39_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL3_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL41_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL33_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL25_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL17_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL9_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL50_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL42_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL34_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL26_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL18_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL57_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL49_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL2_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL11_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL50_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL42_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL34_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL26_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL18_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL8_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL5_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL11_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL63_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL55_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL47_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL39_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL11_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL62_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL54_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL46_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL38_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL1_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL7_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL40_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL32_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL24_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL16_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL63_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL55_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL47_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL39_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL0_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL40_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL32_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL24_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL16_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL40_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL32_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL24_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL16_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL10_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL6_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL4_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL61_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL53_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL45_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL37_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL29_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL59_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL61_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL53_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL45_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL37_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL29_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL5_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL61_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL53_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL45_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL37_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL29_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL58_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_LOW_TIME.VALUE=204.800 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL30_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL22_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL14_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL31_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL23_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL15_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL9_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL30_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL22_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL14_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL4_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL3_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL51_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL43_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL35_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL27_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL19_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL58_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL58_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL3_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL9_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL51_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL43_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL35_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL27_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL19_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL60_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL52_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL44_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL36_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL28_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL20_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL12_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL56_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL48_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_VCLK_FREQ.VALUE=80 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL30_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL22_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL14_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL8_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL20_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL12_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL2_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL2_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL8_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL56_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL48_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL1_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL41_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL33_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL25_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL17_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL57_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL49_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL41_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL33_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL25_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL17_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL10_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL7_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL51_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL43_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL35_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL27_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL19_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL62_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL54_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL46_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL38_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL21_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL13_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL7_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL10_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL6_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL59_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL0_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL1_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL62_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL54_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL46_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL38_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL31_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL23_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL15_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL31_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL23_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL15_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL56_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL48_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL5_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL50_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL42_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL34_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL26_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL18_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL60_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL52_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL44_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL36_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL28_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL20_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL12_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL6_INT_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL59_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL4_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL60_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL52_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL44_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL36_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL28_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_LPC.VALUE=16384 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL21_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL13_ENABLE.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL57_INT_LEVEL.VALUE=0 +DRIVER.ESM.VAR.ESM_GROUP0_CHANNEL49_INT_LEVEL.VALUE=0 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_SOURCE.VALUE=0x00000100 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_FREQ.VALUE=0.000100000 +DRIVER.RTI.VAR.RTI_1_FREQ.VALUE=80.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_ACTUALTIME.VALUE=5.000 +DRIVER.RTI.VAR.RTI_1_COUNTER_1_UC_COMPARE.VALUE=7 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_TIME.VALUE=5.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_UPDATE.VALUE=100000 +DRIVER.RTI.VAR.RTI_1_CONTINUE_ON_SUSPEND_ENABLE.VALUE=0x00000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_INPUT_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_SOURCE.VALUE=0x00000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_TIME.VALUE=8.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_ACTUALTIME.VALUE=1.000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_UC_COMPARE.VALUE=7 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_UPDATE.VALUE=50000 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_TIME.VALUE=10.000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_NTU_SOURCE.VALUE=0 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_INPUT_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_RTI_FREQ.VALUE=0.0 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COUNTER_1_FREQUENCY.VALUE=10.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_SOURCE.VALUE=0x00001000 +DRIVER.RTI.VAR.RTI_1_COUNTER_1_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_NTU_SOURCE_REG.VALUE=0x0 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_SOURCE.VALUE=0x00000000 +DRIVER.RTI.VAR.RTI_1_NTU_1_FREQ.VALUE=0.0 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_ACTUALTIME.VALUE=10.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_FREQ.VALUE=0.001000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_UPDATE.VALUE=80000 +DRIVER.RTI.VAR.RTI_1_BASE.VALUE=0xFFFFFC00 +DRIVER.RTI.VAR.RTI_1_NTU_2_FREQ.VALUE=0.0 +DRIVER.RTI.VAR.RTI_1_COMPARE_3_INPUT_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COMPARE_1_FREQ.VALUE=0.000200000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_CAPTURE_SOURCE_ENABLE.VALUE=0 +DRIVER.RTI.VAR.RTI_1_COUNTER_1_CAPTURE_SOURCE_ENABLE.VALUE=0 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_UPDATE.VALUE=10000 +DRIVER.RTI.VAR.RTI_1_NTU_3_FREQ.VALUE=160.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0.VALUE=10000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_ACTUALTIME.VALUE=8.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_1.VALUE=50000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2.VALUE=80000 +DRIVER.RTI.VAR.RTI_1_COMPARE_3.VALUE=100000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_NTU_FREQ.VALUE=0.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_FREQ.VALUE=0.000125000 +DRIVER.RTI.VAR.RTI_1_COMPARE_0_TIME.VALUE=1.000 +DRIVER.RTI.VAR.RTI_1_NTU_4_FREQ.VALUE=0.000 +DRIVER.RTI.VAR.RTI_1_COMPARE_2_INPUT_FREQ.VALUE=10.000000000 +DRIVER.RTI.VAR.RTI_1_COUNTER_0_FREQUENCY.VALUE=10.000 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_BASE_PORTA.VALUE=0xFFF7BC34 +DRIVER.GIO.VAR.GIO_BASE_PORTB.VALUE=0xFFF7BC54 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT1_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_BASE.VALUE=0xFFF7BC00 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT2_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT6_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT4_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORTB_ENABLE.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT3_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT3_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT7_PULL.VALUE=1 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT5_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT0_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT4_DIR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT0_PULDIS.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_DOUT.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT6_PSL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT2_PDR.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_LVL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT5_ENA.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT1_BIT7_POL.VALUE=0 +DRIVER.GIO.VAR.GIO_PORT0_BIT1_PSL.VALUE=0 +DRIVER.SCI.VAR.SCILIN_TIMMINGMODE.VALUE=1 +DRIVER.SCI.VAR.SCILIN_PORT_BIT0_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI_TIMMINGMODE.VALUE=1 +DRIVER.SCI.VAR.SCILIN_WAKEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT2_PULL.VALUE=2 +DRIVER.SCI.VAR.SCILIN_PORT_BIT1_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT0_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI_ACTUALBAUDRATE.VALUE=9597 +DRIVER.SCI.VAR.SCI_EVENPARITY.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT0_FUN.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT2_DIR.VALUE=0 +DRIVER.SCI.VAR.SCILIN_RXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT1_DIR.VALUE=0 +DRIVER.SCI.VAR.SCI_BASE_PORT.VALUE=0xFFF7E540 +DRIVER.SCI.VAR.SCILIN_PRESCALE.VALUE=520 +DRIVER.SCI.VAR.SCILIN_PORT_BIT0_PDR.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT1_FUN.VALUE=1 +DRIVER.SCI.VAR.SCI_PORT_BIT0_FUN.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT2_DIR.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT1_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT0_PDR.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT2_FUN.VALUE=1 +DRIVER.SCI.VAR.SCILIN_PEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT1_FUN.VALUE=1 +DRIVER.SCI.VAR.SCILIN_PORT_BIT0_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI_OEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT2_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT1_PDR.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT2_FUN.VALUE=1 +DRIVER.SCI.VAR.SCILIN_PORT_BIT1_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI_PORT_BIT0_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI_PORT_BIT2_PDR.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT2_PSL.VALUE=1 +DRIVER.SCI.VAR.SCI_PORT_BIT1_PSL.VALUE=1 +DRIVER.SCI.VAR.SCILIN_BREAKINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI_WAKEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI_BREAKINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT2_PSL.VALUE=1 +DRIVER.SCI.VAR.SCILIN_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI_FEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT0_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI_OEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI_TXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PARITYENA.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT1_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT0_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI_BAUDRATE.VALUE=9600 +DRIVER.SCI.VAR.SCILIN_BREAKINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI_WAKEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI_BREAKINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCI_STOPBITS.VALUE=2 +DRIVER.SCI.VAR.SCI_RXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI_FEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCILIN_EVENPARITY.VALUE=0 +DRIVER.SCI.VAR.SCI_TXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCILIN_OEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT2_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT1_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCI_PEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI_CLKMODE.VALUE=1 +DRIVER.SCI.VAR.SCI_PARITYENA.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT0_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI_PORT_BIT2_DOUT.VALUE=0 +DRIVER.SCI.VAR.SCILIN_BASE.VALUE=0xFFF7E400 +DRIVER.SCI.VAR.SCI_RXINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCILIN_FEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI_PRESCALE.VALUE=520 +DRIVER.SCI.VAR.SCILIN_OEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCILIN_TXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCILIN_PORT_BIT1_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI_PORT_BIT0_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI_PEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCILIN_WAKEINTENA.VALUE=0 +DRIVER.SCI.VAR.SCI_LENGTH.VALUE=8 +DRIVER.SCI.VAR.SCILIN_CLKMODE.VALUE=1 +DRIVER.SCI.VAR.SCILIN_BASE_PORT.VALUE=0xFFF7E440 +DRIVER.SCI.VAR.SCILIN_BAUDRATE.VALUE=9600 +DRIVER.SCI.VAR.SCILIN_STOPBITS.VALUE=2 +DRIVER.SCI.VAR.SCILIN_PORT_BIT2_PULL.VALUE=2 +DRIVER.SCI.VAR.SCI_PORT_BIT1_PULL.VALUE=2 +DRIVER.SCI.VAR.SCILIN_RXINTENA.VALUE=0 +DRIVER.SCI.VAR.SCILIN_LENGTH.VALUE=8 +DRIVER.SCI.VAR.SCILIN_FEINTLVL.VALUE=0 +DRIVER.SCI.VAR.SCILIN_ACTUALBAUDRATE.VALUE=9597 +DRIVER.SCI.VAR.SCILIN_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SCI.VAR.SCI_BASE.VALUE=0xFFF7E500 +DRIVER.SCI.VAR.SCILIN_TXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_BITERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_CLKMOD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PHASE0.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_PHASE1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PHASE2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_PHASE3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_CSNR.VALUE=CS_2 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_C2TDELAYACTUAL.VALUE=37.500 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TIMEOUTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_CSHOLD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_LENGTH.VALUE=3 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_CSNR.VALUE=CS_5 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_T2CDELAYACTUAL.VALUE=12.500 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PARERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_OVRNINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_CSNR.VALUE=CS_3 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_C2TDELAY.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_RXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_DEYSNCENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_BASE.VALUE=0xFFF7FC00 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_DEYSNCLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_CSNR.VALUE=CS_5 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE0.VALUE=255 +DRIVER.MIBSPI.VAR.MIBSPI1_CLKMOD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE1.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE2.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TIMEOUTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PRESCALE3.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE0.VALUE=312.500 +DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_DLENERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARITYENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_BITERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_T2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_BITERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_T2CDELAYACTUAL.VALUE=12.500 +DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_WDELAY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_ENABLEHIGHZ.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_CSNR.VALUE=CS_4 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_CSNR.VALUE=CS_6 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_BASE_PORT.VALUE=0xFFF7FC18 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_WAITENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARPOL3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PARERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_OVRNINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_DEYSNCENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_RXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_RXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_DEYSNCLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_CSNR.VALUE=CS_1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_CSNR.VALUE=CS_7 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_BAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_DLENERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_C2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TIMEOUTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BITERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_BITERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_POLARITY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_CSNR.VALUE=CS_1 +DRIVER.MIBSPI.VAR.MIBSPI5_T2CDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_LENGTH.VALUE=8 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_BASE_RAM.VALUE=0xFF0A0000 +DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN0.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_CSDEF.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN1.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN2.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_CSNR.VALUE=CS_2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CHARLEN3.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_BASE_PORT.VALUE=0xFFF7F818 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WAITENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_CSNR.VALUE=CS_4 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_PARERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_OVRNINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PARERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_DEYSNCLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_RXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_C2TDELAYACTUAL.VALUE=25.000 +DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_WDELAY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSNR.VALUE=CS_3 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_LENGTH.VALUE=3 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_BAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_TIMEOUTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_ENABLEHIGHZ.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_C2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_DLENERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_PARITYENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSNR.VALUE=CS_5 +DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_C2TDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BITERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_POLARITY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSNR.VALUE=CS_7 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_T2CDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_BASE_RAM.VALUE=0xFF0E0000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN0.VALUE=8 +DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN1.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN2.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_PARPOL3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_CHARLEN3.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_BASE_PORT.VALUE=0xFFF7F418 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_T2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSNR.VALUE=CS_0 +DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_SHIFTDIR3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSNR.VALUE=CS_6 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_MASTER.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PARERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_OVRNINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_DLENERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_T2CDELAYACTUAL.VALUE=12.500 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT9_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE0.VALUE=200 +DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TIMEOUTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT11_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_CSNR.VALUE=CS_1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_BASE.VALUE=0xFFF7F400 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_CSHOLD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_RXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_POLARITY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PHASE0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PHASE1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PHASE2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT9_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PHASE3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSNR.VALUE=CS_3 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_LENGTH.VALUE=8 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT5_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_TXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_ENABLE.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT10_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT0_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_OVRNINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_T2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT1_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT11_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_MASTER.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_SHIFTDIR3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_CSNR.VALUE=CS_2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG4_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE0.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE1.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE2.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PRESCALE3.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI3_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_CSNR.VALUE=CS_4 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_DLENERRLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CSDEF.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_PARITYENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG7_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_WAITENA3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_CSNR.VALUE=CS_6 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI1_TIMEOUTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG1_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_CLKMOD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT9_DOUT.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PHASE0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_PHASE1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PHASE2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT11_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT1_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI3_PHASE3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT2_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_BUF_CSHOLD.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG4_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG6_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_RXINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_ENABLEHIGHZ.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG5_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT17_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT25_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_WDELAY3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG5_BUF_CSNR.VALUE=CS_5 +DRIVER.MIBSPI.VAR.MIBSPI3_BASE.VALUE=0xFFF7F800 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT27_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT19_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT3_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_MASTER.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG0_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG4_TRGSRC.VALUE=TRG_DISABLED +DRIVER.MIBSPI.VAR.MIBSPI3_C2EDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_TG2_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_LOCK.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT25_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT17_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_ONESHOT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_C2TDELAYACTUAL.VALUE=25.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT1_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG7_BUF_CSNR.VALUE=CS_7 +DRIVER.MIBSPI.VAR.MIBSPI1_TG3_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_C2TDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_LENGTH.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_OVRNINTLVL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG6_BUF_MODE.VALUE=4 +DRIVER.MIBSPI.VAR.MIBSPI5_DEYSNCENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG1_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT4_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_SHIFTDIR3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_FUN.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_TG0_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_FUN.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT8_DIR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT0_PSL.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_T2CDELAY.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT4_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG2_TRGEVT.VALUE=TRG_ALWAYS +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSHOLD_LASTBUF.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT2_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI1_CSDEF.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_CS_ENCODE.VALUE=0xFF +DRIVER.MIBSPI.VAR.MIBSPI5_TG7_USE_CS_ENCODE.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TXINTENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG3_BUF_WDEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_TG2_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_TG6_PRST.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE0.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI1_PORT_BIT5_DOUT.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE1.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI3_BASE_RAM.VALUE=0xFF0C0000 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT3_PULL.VALUE=2 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT0_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL0.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT10_DIR.VALUE=1 +DRIVER.MIBSPI.VAR.MIBSPI3_TG3_BUF_CSHOLD.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE2.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN0.VALUE=14 +DRIVER.MIBSPI.VAR.MIBSPI5_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL1.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PRESCALE3.VALUE=79 +DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN1.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI3_DLENERRENA.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT26_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PORT_BIT18_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL2.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_PORT_BIT2_PDR.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG5_BUF_DFSEL.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_TG0_BUF_CSNR.VALUE=CS_0 +DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN2.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI5_PARPOL3.VALUE=0 +DRIVER.MIBSPI.VAR.MIBSPI3_CHARLEN3.VALUE=16 +DRIVER.MIBSPI.VAR.MIBSPI1_TG1_TRGSRC.VALUE=TRG_DISABLED +DRIVER.SPI.VAR.SPI5_PORT_BIT26_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI2_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_T2CDELAYACTUAL.VALUE=12.500 +DRIVER.SPI.VAR.SPI4_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI2_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI1_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI1_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI1_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PRESCALE0.VALUE=79 +DRIVER.SPI.VAR.SPI3_PRESCALE1.VALUE=79 +DRIVER.SPI.VAR.SPI1_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PRESCALE2.VALUE=79 +DRIVER.SPI.VAR.SPI1_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI3_PRESCALE3.VALUE=79 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI2_BASE_PORT.VALUE=0xFFF7F618 +DRIVER.SPI.VAR.SPI5_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_C2TDELAYACTUAL.VALUE=25.000 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI4_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_BASE_RAM.VALUE=0xFF0E0000 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI1_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI1_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI4_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI4_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI1_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PHASE1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI1_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_C2TDELAYACTUAL.VALUE=25.000 +DRIVER.SPI.VAR.SPI1_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI5_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI4_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI2_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI3_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI1_PRESCALE0.VALUE=79 +DRIVER.SPI.VAR.SPI4_BASE_RAM.VALUE=0xFF0E0000 +DRIVER.SPI.VAR.SPI1_PRESCALE1.VALUE=79 +DRIVER.SPI.VAR.SPI4_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PRESCALE2.VALUE=79 +DRIVER.SPI.VAR.SPI4_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PRESCALE3.VALUE=79 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_T2CDELAYACTUAL.VALUE=12.500 +DRIVER.SPI.VAR.SPI4_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI1_BASE.VALUE=0xFFF7F400 +DRIVER.SPI.VAR.SPI3_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI5_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI4_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI4_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI4_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI5_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI1_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_BASE_PORT.VALUE=0xFFF7FC18 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI3_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI4_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI4_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_T2CDELAYACTUAL.VALUE=12.500 +DRIVER.SPI.VAR.SPI4_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_BASE.VALUE=0xFFF7F600 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI3_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI3_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI2_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI3_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI3_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI3_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_C2TDELAYACTUAL.VALUE=25.000 +DRIVER.SPI.VAR.SPI5_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI4_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI4_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI4_PHASE1.VALUE=0 +DRIVER.SPI.VAR.SPI5_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI3_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI4_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI2_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI2_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI4_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_BASE.VALUE=0xFFF7F800 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PRESCALE0.VALUE=79 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI4_PRESCALE1.VALUE=79 +DRIVER.SPI.VAR.SPI3_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI3_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI4_PRESCALE2.VALUE=79 +DRIVER.SPI.VAR.SPI3_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PRESCALE3.VALUE=79 +DRIVER.SPI.VAR.SPI4_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI1_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI5_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI2_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_BASE_PORT.VALUE=0xFFF7F818 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI2_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI2_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_BASE_RAM.VALUE=0xFF0C0000 +DRIVER.SPI.VAR.SPI3_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI3_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI1_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI1_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI2_T2CDELAYACTUAL.VALUE=12.500 +DRIVER.SPI.VAR.SPI4_BASE.VALUE=0xFFF7FA00 +DRIVER.SPI.VAR.SPI3_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI3_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PHASE1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI2_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT3_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI3_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI3_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI3_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI2_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI2_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI2_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_C2TDELAYACTUAL.VALUE=25.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_PRESCALE0.VALUE=79 +DRIVER.SPI.VAR.SPI2_PRESCALE1.VALUE=79 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI2_PRESCALE2.VALUE=79 +DRIVER.SPI.VAR.SPI3_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_PRESCALE3.VALUE=79 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI1_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI1_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_BASE_PORT.VALUE=0xFFF7F418 +DRIVER.SPI.VAR.SPI5_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI4_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI5_BASE.VALUE=0xFFF7FC00 +DRIVER.SPI.VAR.SPI2_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI2_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI5_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI5_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI5_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI1_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT26_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT18_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI2_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI2_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_T2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI2_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_WDELAY0.VALUE=0 +DRIVER.SPI.VAR.SPI2_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI1_WDELAY1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_WDELAY2.VALUE=0 +DRIVER.SPI.VAR.SPI4_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_WDELAY3.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI1_POLARITY0.VALUE=0 +DRIVER.SPI.VAR.SPI4_C2TDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI1_POLARITY1.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT4_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT25_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT17_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_POLARITY2.VALUE=0 +DRIVER.SPI.VAR.SPI1_OVRNINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_DEYSNCENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_POLARITY3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI5_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI3_T2CDELAYACTUAL.VALUE=12.500 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI4_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_TXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT3_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT0_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI2_BASE_RAM.VALUE=0xFF0E0000 +DRIVER.SPI.VAR.SPI2_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI2_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI2_ENABLEHIGHZ.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_TIMEOUTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_BITERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_RXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_BITERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_SHIFTDIR0.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARPOL0.VALUE=0 +DRIVER.SPI.VAR.SPI3_SHIFTDIR1.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARPOL1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI4_C2TDELAYACTUAL.VALUE=25.000 +DRIVER.SPI.VAR.SPI3_SHIFTDIR2.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARPOL2.VALUE=0 +DRIVER.SPI.VAR.SPI5_PHASE1.VALUE=0 +DRIVER.SPI.VAR.SPI3_SHIFTDIR3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PARPOL3.VALUE=0 +DRIVER.SPI.VAR.SPI5_PHASE2.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT9_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT27_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT19_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_PHASE3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT1_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI1_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI5_PRESCALE0.VALUE=79 +DRIVER.SPI.VAR.SPI1_PORT_BIT10_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_C2EDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI5_PRESCALE1.VALUE=79 +DRIVER.SPI.VAR.SPI5_PRESCALE2.VALUE=79 +DRIVER.SPI.VAR.SPI3_PORT_BIT5_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_PRESCALE3.VALUE=79 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI3_PORT_BIT8_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_BASE_PORT.VALUE=0xFFF7FA18 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT0_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI5_OVRNINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI2_ACTUALBAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI5_PORT_BIT1_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_MASTER.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT1_DOUT.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT2_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_T2CDELAY.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT9_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_PORT_BIT11_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI5_BASE_RAM.VALUE=0xFF0A0000 +DRIVER.SPI.VAR.SPI5_CHARLEN0.VALUE=16 +DRIVER.SPI.VAR.SPI3_PORT_BIT10_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI3_PORT_BIT2_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI5_CHARLEN1.VALUE=16 +DRIVER.SPI.VAR.SPI2_PARERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI5_CHARLEN2.VALUE=16 +DRIVER.SPI.VAR.SPI1_PORT_BIT4_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI5_CHARLEN3.VALUE=16 +DRIVER.SPI.VAR.SPI5_PORT_BIT25_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT17_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI5_PORT_BIT11_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI4_PARERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI2_PORT_BIT11_DIR.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_DLENERRENA.VALUE=0 +DRIVER.SPI.VAR.SPI4_RXINTENA.VALUE=0 +DRIVER.SPI.VAR.SPI3_RAM_PARITY_ENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARITYENA0.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT0_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI1_WAITENA0.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARITYENA1.VALUE=0 +DRIVER.SPI.VAR.SPI1_WAITENA1.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARITYENA2.VALUE=0 +DRIVER.SPI.VAR.SPI5_DLENERRLVL.VALUE=0 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_DEYSNCLVL.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI1_WAITENA2.VALUE=0 +DRIVER.SPI.VAR.SPI5_PARITYENA3.VALUE=0 +DRIVER.SPI.VAR.SPI1_WAITENA3.VALUE=0 +DRIVER.SPI.VAR.SPI1_PORT_BIT3_PSL.VALUE=1 +DRIVER.SPI.VAR.SPI3_PORT_BIT1_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT8_PULL.VALUE=2 +DRIVER.SPI.VAR.SPI2_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI4_BAUDRATE0.VALUE=1000.000 +DRIVER.SPI.VAR.SPI1_T2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI4_BAUDRATE1.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_BAUDRATE2.VALUE=1000.000 +DRIVER.SPI.VAR.SPI4_TXINTLVL.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT3_DIR.VALUE=1 +DRIVER.SPI.VAR.SPI2_PORT_BIT10_FUN.VALUE=1 +DRIVER.SPI.VAR.SPI4_BAUDRATE3.VALUE=1000.000 +DRIVER.SPI.VAR.SPI2_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.SPI.VAR.SPI1_TIMEOUTENA.VALUE=0 +DRIVER.SPI.VAR.SPI5_CLKMOD.VALUE=1 +DRIVER.SPI.VAR.SPI4_PORT_BIT8_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PORT_BIT9_DOUT.VALUE=0 +DRIVER.SPI.VAR.SPI3_PHASE0.VALUE=0 +DRIVER.SPI.VAR.SPI2_C2EDELAYACTUAL.VALUE=0.000 +DRIVER.SPI.VAR.SPI1_PORT_BIT5_PDR.VALUE=0 +DRIVER.SPI.VAR.SPI3_PHASE1.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_SYNC.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_BAUDRATE.VALUE=500 +DRIVER.CAN.VAR.CAN_2_PORT_RX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_ID.VALUE=30 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_ID.VALUE=22 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_ID.VALUE=14 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_ID.VALUE=9 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_RAMBASE.VALUE=0xFF1C0000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_NOMINAL_BIT_RATE.VALUE=500.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_PIN_MODE.VALUE=1 +DRIVER.CAN.VAR.CAN_2_PHASE_SEG.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_ID.VALUE=31 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_ID.VALUE=23 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_ID.VALUE=15 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_BASE.VALUE=0xFFF7DC00 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_ID.VALUE=40 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_ID.VALUE=32 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_ID.VALUE=24 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_ID.VALUE=16 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_ID.VALUE=41 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_ID.VALUE=33 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_ID.VALUE=25 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_ID.VALUE=17 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_BRP_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_DIR.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PROP_SEG.VALUE=3 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_ID.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_NOMINAL_BIT_RATE.VALUE=500.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_ID.VALUE=50 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_ID.VALUE=42 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_ID.VALUE=34 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_ID.VALUE=26 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_ID.VALUE=18 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PROPAGATION_DELAY.VALUE=700 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_ID.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_NOMINAL_BIT_TIME.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_SAMPLE_POINT.VALUE=75.000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_ID.VALUE=51 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_ID.VALUE=43 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_ID.VALUE=35 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_ID.VALUE=27 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_ID.VALUE=19 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_ID.VALUE=3 +DRIVER.CAN.VAR.CAN_2_PORT_RX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_BASE.VALUE=0xFFF7DE00 +DRIVER.CAN.VAR.CAN_1_RAMBASE.VALUE=0xFF1E0000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_IDENTIFIER_MODE.VALUE=0x40000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_ID.VALUE=60 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_ID.VALUE=52 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_ID.VALUE=44 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_ID.VALUE=36 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_ID.VALUE=28 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_ID.VALUE=4 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_AUTO_RETRANSMISSION.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_ID.VALUE=61 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_ID.VALUE=53 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_ID.VALUE=45 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_ID.VALUE=37 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_ID.VALUE=29 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_TX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_NOMINAL_BIT_RATE.VALUE=500.000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_ID.VALUE=5 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_BRPE_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_ID.VALUE=62 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_ID.VALUE=54 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_ID.VALUE=46 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_ID.VALUE=38 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_NOMINAL_BIT_TIME.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_PORT_RX_DIR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_TQ.VALUE=250.000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_ID.VALUE=6 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_ID.VALUE=63 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_ID.VALUE=55 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_ID.VALUE=47 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_ID.VALUE=39 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_TQ.VALUE=250.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_BRPE.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_ID.VALUE=7 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_BASE.VALUE=0xFFF7E000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_PORT_TX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_ID.VALUE=64 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_ID.VALUE=56 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_ID.VALUE=48 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_DOUT.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_TQ.VALUE=250.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_ID.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_ID.VALUE=10 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_ID.VALUE=57 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_ID.VALUE=49 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_SAMPLE_POINT_REFERENCE.VALUE=75 +DRIVER.CAN.VAR.CAN_1_PROPAGATION_DELAY.VALUE=700 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_ID.VALUE=9 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_ID.VALUE=11 +DRIVER.CAN.VAR.CAN_1_NOMINAL_BIT_TIME.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_ENABLE.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PIN_MODE.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_ID.VALUE=58 +DRIVER.CAN.VAR.CAN_2_SAMPLE_POINT_REFERENCE.VALUE=75 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_ID.VALUE=20 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_ID.VALUE=12 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_AUTO_BUS_ON.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_ID.VALUE=59 +DRIVER.CAN.VAR.CAN_1_PORT_RX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_SAMPLE_POINT_REFERENCE.VALUE=75 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_SHIFT.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_BRPE.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MASK.VALUE=0x1FFFFFFF +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_ID.VALUE=21 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ID.VALUE=13 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_BRPE_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_1_BRP_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_ID.VALUE=30 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_ID.VALUE=22 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ID.VALUE=14 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_BAUDRATE.VALUE=500 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_ID.VALUE=31 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_ID.VALUE=23 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_ID.VALUE=15 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_RX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_SAMPLE_POINT.VALUE=75.000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_DIR.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.CAN.VAR.CAN_3_PHASE_SEG.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_ID.VALUE=40 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_ID.VALUE=32 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_ID.VALUE=24 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_ID.VALUE=16 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_PORT_RX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_BRPE.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MASK.VALUE=0x1FFFFFFF +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_ID.VALUE=41 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_ID.VALUE=33 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_ID.VALUE=25 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_ID.VALUE=17 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_ID.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_ID.VALUE=50 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_ID.VALUE=42 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_ID.VALUE=34 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_ID.VALUE=26 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_ID.VALUE=18 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_BRP.VALUE=19 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_PROP_SEG.VALUE=3 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_ID.VALUE=10 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_ID.VALUE=2 +DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON_TR.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_RX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_ID.VALUE=51 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_ID.VALUE=43 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_ID.VALUE=35 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_ID.VALUE=27 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_ID.VALUE=19 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_AUTO_BUS_ON_TIME.VALUE=0 +DRIVER.CAN.VAR.CAN_3_PORT_RX_DIR.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_ID.VALUE=11 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_ID.VALUE=3 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_ID.VALUE=60 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_ID.VALUE=52 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_ID.VALUE=44 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_ID.VALUE=36 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_ID.VALUE=28 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_BRP.VALUE=19 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_PORT_RX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_ID.VALUE=20 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_ID.VALUE=12 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_ID.VALUE=4 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 +DRIVER.CAN.VAR.CAN_2_SHIFT.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MASK.VALUE=0x1FFFFFFF +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_TX_DOUT.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_31_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_23_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_15_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_ID.VALUE=61 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_ID.VALUE=53 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_ID.VALUE=45 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_ID.VALUE=37 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_ID.VALUE=29 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_ID.VALUE=21 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_ID.VALUE=13 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_ID.VALUE=5 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_ID.VALUE=62 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_ID.VALUE=54 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_ID.VALUE=46 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_ID.VALUE=38 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_BRP.VALUE=19 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_IDENTIFIER_MODE.VALUE=0x40000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PHASE_SEG.VALUE=2 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_ID.VALUE=30 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_ID.VALUE=22 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_ID.VALUE=14 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_ID.VALUE=6 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_AUTO_BUS_ON_TIME.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_RX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_ID.VALUE=63 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_ID.VALUE=55 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_ID.VALUE=47 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_ID.VALUE=39 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_ID.VALUE=31 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_ID.VALUE=23 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_20_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_ID.VALUE=15 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_PORT_TX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_ID.VALUE=7 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_PORT_RX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_ID.VALUE=64 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_ID.VALUE=56 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_ID.VALUE=48 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_ID.VALUE=40 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_ID.VALUE=32 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_ID.VALUE=24 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_ID.VALUE=16 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_ID.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_AUTO_RETRANSMISSION.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_ID.VALUE=57 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_ID.VALUE=49 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_AUTO_BUS_ON.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_40_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_32_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_24_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_16_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_ID.VALUE=41 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_ID.VALUE=33 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_ID.VALUE=25 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_ID.VALUE=17 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_ID.VALUE=9 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_SJW.VALUE=2 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_BAUDRATE.VALUE=500 +DRIVER.CAN.VAR.CAN_1_MESSAGE_61_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_53_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_45_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_37_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_29_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_IDENTIFIER_MODE.VALUE=0x40000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_ID.VALUE=58 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON_TIME.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_ID.VALUE=50 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_ID.VALUE=42 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_ID.VALUE=34 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_ID.VALUE=26 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_ID.VALUE=18 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_TX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_PIN_MODE.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_30_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_22_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_14_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_RX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_AUTO_BUS_ON_TR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_ID.VALUE=59 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_TX_DIR.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_ID.VALUE=51 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_ID.VALUE=43 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_ID.VALUE=35 +DRIVER.CAN.VAR.CAN_3_MESSAGE_30_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_ID.VALUE=27 +DRIVER.CAN.VAR.CAN_3_MESSAGE_22_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_ID.VALUE=19 +DRIVER.CAN.VAR.CAN_3_MESSAGE_14_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_6_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_SJW.VALUE=2 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_RX_PULL.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_50_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_42_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_34_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_26_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_18_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_ID.VALUE=60 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_ID.VALUE=52 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_ID.VALUE=44 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_ID.VALUE=36 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_ID.VALUE=28 +DRIVER.CAN.VAR.CAN_1_MESSAGE_63_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_55_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_47_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_39_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_NOMINAL_AUTO_BUS_ON_TIME.VALUE=0.000 +DRIVER.CAN.VAR.CAN_1_SYNC.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_SHIFT.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_RX_PULDIS.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_40_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_32_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_24_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_16_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_ID.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_BRP_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_2_BRPE_FREQ.VALUE=4.000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PROP_SEG.VALUE=3 +DRIVER.CAN.VAR.CAN_1_MESSAGE_41_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_33_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_25_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_17_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_ID.VALUE=61 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_ID.VALUE=53 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_ID.VALUE=45 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_ID.VALUE=37 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_ID.VALUE=29 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_SJW.VALUE=2 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_3_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_ID.VALUE=2 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_8_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_10_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_SAMPLE_POINT.VALUE=75.000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_51_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_43_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_35_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_27_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_19_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_ID.VALUE=62 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_ID.VALUE=54 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_ID.VALUE=46 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_ID.VALUE=38 +DRIVER.CAN.VAR.CAN_1_MESSAGE_64_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_56_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_48_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_PORT_TX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_1_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_21_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_13_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_7_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_5_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_60_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_52_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_44_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_36_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_28_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_ID.VALUE=3 +DRIVER.CAN.VAR.CAN_1_PORT_RX_DOUT.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_ID.VALUE=63 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_ID.VALUE=55 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_ID.VALUE=47 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_ID.VALUE=39 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_RAMBASE.VALUE=0xFF1A0000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_DIN.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_59_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_PDR.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_ID.VALUE=4 +DRIVER.CAN.VAR.CAN_1_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_DIR.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_DOUT.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_64_ID.VALUE=64 +DRIVER.CAN.VAR.CAN_3_MESSAGE_56_ID.VALUE=56 +DRIVER.CAN.VAR.CAN_3_MESSAGE_48_ID.VALUE=48 +DRIVER.CAN.VAR.CAN_3_MESSAGE_31_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_23_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_15_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_57_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_49_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_3_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_SYNC.VALUE=1 +DRIVER.CAN.VAR.CAN_2_PORT_TX_PULL.VALUE=2 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_2_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_64_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_63_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_56_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_55_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_48_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_47_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_39_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_61_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_53_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_45_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_37_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_29_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_ID.VALUE=10 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_ID.VALUE=5 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_57_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_49_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_4_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_50_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_42_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_34_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_26_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_18_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_ID.VALUE=57 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_ID.VALUE=49 +DRIVER.CAN.VAR.CAN_3_MESSAGE_41_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_33_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_25_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_17_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_9_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_62_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_54_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_46_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_38_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_51_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_43_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_35_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_27_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_19_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_9_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_41_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_33_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_25_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_17_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_11_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_5_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_58_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_11_ID.VALUE=11 +DRIVER.CAN.VAR.CAN_2_MESSAGE_6_ID.VALUE=6 +DRIVER.CAN.VAR.CAN_3_PROPAGATION_DELAY.VALUE=700 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_57_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_49_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_AUTO_RETRANSMISSION.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_20_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_12_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_9_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_58_ID.VALUE=58 +DRIVER.CAN.VAR.CAN_1_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_3_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_7_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_PORT_TX_PSL.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_60_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_52_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_44_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_36_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_28_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_62_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_54_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_46_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_38_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_20_ID.VALUE=20 +DRIVER.CAN.VAR.CAN_2_MESSAGE_12_ID.VALUE=12 +DRIVER.CAN.VAR.CAN_2_MESSAGE_7_ID.VALUE=7 +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_59_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_51_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_43_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_35_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_27_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_19_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_45_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_40_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_37_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_32_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_29_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_24_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_16_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_3_MESSAGE_10_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_1_MESSAGE_8_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_MASK.VALUE=0x000007FF +DRIVER.CAN.VAR.CAN_3_MESSAGE_59_ID.VALUE=59 +DRIVER.CAN.VAR.CAN_3_MESSAGE_50_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_42_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_34_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_26_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_18_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_AUTO_BUS_ON_TR.VALUE=0 +DRIVER.CAN.VAR.CAN_2_MESSAGE_30_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_22_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_14_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_5_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_4_DLC.VALUE=8 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_63_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_62_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_55_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_54_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_47_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_46_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_EOB.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_39_DIR.VALUE=0x20000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_38_INT_ENA_REF.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_PORT_RX_FUN.VALUE=1 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_BOOL_ENA.VALUE=0 +DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_21_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ENA.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_6_RTR.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_LEVEL.VALUE=0x00000000 +DRIVER.CAN.VAR.CAN_2_MESSAGE_21_ID.VALUE=21 +DRIVER.CAN.VAR.CAN_2_MESSAGE_13_ID.VALUE=13 +DRIVER.CAN.VAR.CAN_2_MESSAGE_8_ID.VALUE=8 +DRIVER.ADC.VAR.ADC2_GROUP1_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN21_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP1_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC2_GROUP0_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PARITY_ENABLE.VALUE=0x00000005 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC1_GROUP2_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC2_GROUP2_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC1_GROUP1_FIFO_SIZE.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP1_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC2_GROUP1_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_DIR.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_ALT_TRIG.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC2_GROUP2_LENGTH.VALUE=32 +DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN22_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP2_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_BND.VALUE=2 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN23_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP0_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC2_GROUP0_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC1_GROUP1_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC2_GROUP1_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC2_BND.VALUE=2 +DRIVER.ADC.VAR.ADC2_GROUP1_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_PDR.VALUE=0 +DRIVER.ADC.VAR.ADC2_ACTUAL_CYCLE_TIME.VALUE=100.00 +DRIVER.ADC.VAR.ADC2_GROUP1_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_TRIGGER_MODE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.ADC.VAR.ADC2_GROUP1_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC2_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP0_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP0_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN20_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN24_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN16_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_TRIGGER_MODE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_PSL.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_LENGTH.VALUE=64 +DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN21_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP0_SAMPLE_PRESCALER.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_RAMBASE.VALUE=0xFF3A0000 +DRIVER.ADC.VAR.ADC2_GROUP0_BND.VALUE=8 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_DOUT.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC1_GROUP0_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC2_GROUP2_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP1_BND.VALUE=8 +DRIVER.ADC.VAR.ADC2_GROUP0_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP1_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_ALT_TRIG_COMP.VALUE=1 +DRIVER.ADC.VAR.ADC2_GROUP1_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP1_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_PARITY_ENABLE.VALUE=0x00000005 +DRIVER.ADC.VAR.ADC1_ACTUAL_CYCLE_TIME.VALUE=100.00 +DRIVER.ADC.VAR.ADC2_GROUP2_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP2_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN22_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_RAMBASE.VALUE=0xFF3E0000 +DRIVER.ADC.VAR.ADC1_BASE.VALUE=0xFFF7C000 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_DIR.VALUE=0 +DRIVER.ADC.VAR.ADC2_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.ADC.VAR.ADC2_GROUP2_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP2_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP2_LENGTH.VALUE=32 +DRIVER.ADC.VAR.ADC1_GROUP0_BND.VALUE=8 +DRIVER.ADC.VAR.ADC2_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC2_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP0_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP2_TRIGGER_MODE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN23_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_BND.VALUE=8 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_DOUT.VALUE=0 +DRIVER.ADC.VAR.ADC2_CYCLE_TIME.VALUE=100.00 +DRIVER.ADC.VAR.ADC1_GROUP1_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC1_GROUP1_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_PRESCALE.VALUE=7 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN20_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP0_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_BASE.VALUE=0xFFF7C200 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN24_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN16_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_PDR.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC1_GROUP0_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_PULL.VALUE=2 +DRIVER.ADC.VAR.ADC1_GROUP0_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC2_GROUP1_CONVERSION_TIME.VALUE=1.300 +DRIVER.ADC.VAR.ADC1_GROUP0_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC2_GROUP1_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC1_GROUP1_CHANNEL_TOTAL_TIME.VALUE=1.600000 +DRIVER.ADC.VAR.ADC1_GROUP0_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP1_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_PORT_BIT0_PSL.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP2_EXTENDED_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_LENGTH.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP1_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC1_GROUP2_PIN3_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN21_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC1_GROUP2_HW_TRIGGER_SOURCE_ALT.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP2_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN17_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN22_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_CYCLE_TIME.VALUE=100.00 +DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN7_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC1_GROUP0_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC1_GROUP1_PIN0_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_ID_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_TIME.VALUE=0.00 +DRIVER.ADC.VAR.ADC1_GROUP2_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC1_GROUP1_PINS.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP1_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_ALT_TRIG_COMP.VALUE=1 +DRIVER.ADC.VAR.ADC1_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN15_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_ALT_TRIG.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP1_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_RAM_PARITY_ENA.VALUE=0 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN4_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_PRESCALER.VALUE=0 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN8_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN18_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_RESOLUTION.VALUE=12_BIT +DRIVER.ADC.VAR.ADC1_GROUP2_PIN1_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN11_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN23_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN15_ENABLE.VALUE=0x00008000 +DRIVER.ADC.VAR.ADC2_GROUP0_HW_TRIGGER_SOURCE.VALUE=EVENT +DRIVER.ADC.VAR.ADC2_GROUP0_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN19_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_PRESCALE.VALUE=7 +DRIVER.ADC.VAR.ADC2_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP2_PINS.VALUE=0 +DRIVER.ADC.VAR.ADC2_PORT_BIT0_PULL.VALUE=2 +DRIVER.ADC.VAR.ADC1_LENGTH.VALUE=64 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN20_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN12_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_CHANNEL_TOTAL_TIME.VALUE=0.000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_PIN5_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC1_GROUP0_SCAN_TIME.VALUE=0.000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_PIN13_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP0_TRIGGER_EDGE_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN9_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_SAMPLE_TIME.VALUE=300.00 +DRIVER.ADC.VAR.ADC2_GROUP1_FIFO_SIZE.VALUE=16 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN2_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP1_PIN10_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP2_PIN6_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN24_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_PIN16_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC2_GROUP2_PIN14_ENABLE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP1_TRIGGER_MODE.VALUE=0x00000000 +DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_DISCHARGE_TIME.VALUE=0.00 +DRIVER.LIN.VAR.LIN_PORT_BIT0_DOUT.VALUE=0 +DRIVER.LIN.VAR.LIN_PEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_TOAWUSINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_BEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_TOA3WUSINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT1_DOUT.VALUE=0 +DRIVER.LIN.VAR.LIN_MAXPRESCALE.VALUE=3600 +DRIVER.LIN.VAR.LIN_LENGTH.VALUE=8 +DRIVER.LIN.VAR.LIN_PARITYENA.VALUE=0 +DRIVER.LIN.VAR.LIN_BREAKINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_TX_MASK.VALUE=0xFF +DRIVER.LIN.VAR.LIN_MSTMOD.VALUE=1 +DRIVER.LIN.VAR.LIN_SDEL.VALUE=1 +DRIVER.LIN.VAR.LIN_PORT_BIT2_DOUT.VALUE=0 +DRIVER.LIN.VAR.LIN_TOAWUSINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_WAKEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_HGENCTRL.VALUE=1 +DRIVER.LIN.VAR.LIN_TOA3WUSINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT0_DIR.VALUE=0 +DRIVER.LIN.VAR.LIN_PORT_BIT0_PULL.VALUE=2 +DRIVER.LIN.VAR.LIN_CEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_BREAKINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PBEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT1_DIR.VALUE=0 +DRIVER.LIN.VAR.LIN_PORT_BIT0_FUN.VALUE=0 +DRIVER.LIN.VAR.LIN_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.LIN.VAR.LIN_PORT_BIT2_DIR.VALUE=0 +DRIVER.LIN.VAR.LIN_PORT_BIT1_PULL.VALUE=2 +DRIVER.LIN.VAR.LIN_WAKEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT0_PDR.VALUE=0 +DRIVER.LIN.VAR.LIN_OEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT1_FUN.VALUE=2 +DRIVER.LIN.VAR.LIN_NREINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT1_PDR.VALUE=0 +DRIVER.LIN.VAR.LIN_PORT_BIT2_FUN.VALUE=4 +DRIVER.LIN.VAR.LIN_CEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT0_PSL.VALUE=1 +DRIVER.LIN.VAR.LIN_PORT_BIT2_PULL.VALUE=2 +DRIVER.LIN.VAR.LIN_PBEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT2_PDR.VALUE=0 +DRIVER.LIN.VAR.LIN_BASE_PORT.VALUE=0xFFF7E440 +DRIVER.LIN.VAR.LIN_ACTUALBAUDRATE.VALUE=20.000 +DRIVER.LIN.VAR.LIN_PORT_BIT1_PSL.VALUE=2 +DRIVER.LIN.VAR.LIN_ISFEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_FEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT2_PSL.VALUE=4 +DRIVER.LIN.VAR.LIN_OEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_TXINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_NREINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_IDINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_SBREAK.VALUE=13 +DRIVER.LIN.VAR.LIN_TOINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_BAUDRATE.VALUE=20.000 +DRIVER.LIN.VAR.LIN_RX_MASK.VALUE=0xFF +DRIVER.LIN.VAR.LIN_ISFEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_RXINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_BASE.VALUE=0xFFF7E400 +DRIVER.LIN.VAR.LIN_FEINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_TXINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.LIN.VAR.LIN_IDINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_TOINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_MAXBAUDRATE.VALUE=22.222 +DRIVER.LIN.VAR.LIN_BEINTENA.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_RXINTLVL.VALUE=0x00000000 +DRIVER.LIN.VAR.LIN_PRESCALE.VALUE=249 +DRIVER.LIN.VAR.LIN_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE5_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET2_PWM0_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_INT_X0.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE4_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_BIT1_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_HRSHARE.VALUE=0x00000008 +DRIVER.HET.VAR.HET2_INT_X1.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT29_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_IGNORE_SUSPEND_ENABLE.VALUE=0x00020000 +DRIVER.HET.VAR.HET2_PWM3_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_PWM1_PIN_SELECT.VALUE=2 +DRIVER.HET.VAR.HET2_BIT12_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT3_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_INT_X2.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X3.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_INT_X4.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_PWM0_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM3_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT4_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X5.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_IGNORE_SUSPEND_ENABLE.VALUE=0x00020000 +DRIVER.HET.VAR.HET1_BIT30_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT26_HRSHARE.VALUE=0x00002000 +DRIVER.HET.VAR.HET1_BIT22_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM4_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT3_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X6.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE0_PIN_SELECT.VALUE=15 +DRIVER.HET.VAR.HET1_BIT28_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT7_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_INT_X7.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT7_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X8.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT18_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT10_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X9.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM4_PIN_SELECT.VALUE=16 +DRIVER.HET.VAR.HET2_PWM4_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET1_RAM_BASE.VALUE=0xFF460000 +DRIVER.HET.VAR.HET2_EDGE6_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_PWM2_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT15_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE2_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_BIT11_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PIN_ENABLE.VALUE=0 +DRIVER.HET.VAR.HET1_CAP3_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT24_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT5_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT27_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT19_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE6_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT16_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT2_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE3_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE5_PIN_SELECT.VALUE=10 +DRIVER.HET.VAR.HET2_BIT13_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT27_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT19_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_CAP5_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_PWM4_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT8_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_CAP2_PIN_SELECT.VALUE=4 +DRIVER.HET.VAR.HET2_BIT4_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT29_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT8_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET2_BIT1_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_PWM4_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET2_BIT18_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT16_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_BIT0_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT6_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP5_PIN_SELECT.VALUE=26 +DRIVER.HET.VAR.HET1_BIT28_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE7_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT1_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE7_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE5_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM5_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_BIT3_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE7_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE1_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_PWM1_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT4_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE4_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_BIT5_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_MASTER.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE5_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_PWM0_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT5_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT8_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT1_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_LR_ACTUALTIME.VALUE=800.000 +DRIVER.HET.VAR.HET1_PWM5_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_PWM5_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM4_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET2_BIT9_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT5_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_PIN_SELECT.VALUE=18 +DRIVER.HET.VAR.HET2_BIT13_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE7_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_BIT17_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_BIT30_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT27_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT19_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT7_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE5_PIN_SELECT.VALUE=21 +DRIVER.HET.VAR.HET1_BIT29_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET_DIS_BLACKBOX.VALUE=0 +DRIVER.HET.VAR.HET2_PWM7_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_HR_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.HET.VAR.HET2_PWM5_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_BIT25_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT17_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT4_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE0_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_CAP6_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT20_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT15_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X10.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_INT_X11.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X20.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X12.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET2_PWM6_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT16_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X21.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X13.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_HR_PRESCALE.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE6_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_LR_PRESCALE.VALUE=6 +DRIVER.HET.VAR.HET2_PWM0_PIN_SELECT.VALUE=8 +DRIVER.HET.VAR.HET2_BIT6_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X30.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X22.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X14.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X31.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X23.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X15.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET2_INT_X24.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X16.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BASE_PORT.VALUE=0xFFF7B84C +DRIVER.HET.VAR.HET2_PWM5_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X25.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X17.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_PWM3_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X26.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X18.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X27.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X19.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT18_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X28.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET2_PWM0_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_BIT18_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_INT_X29.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_CAP7_PIN_SELECT.VALUE=6 +DRIVER.HET.VAR.HET2_BIT8_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_PWM4_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_PWM3_PIN_SELECT.VALUE=14 +DRIVER.HET.VAR.HET1_BIT11_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT1_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_BIT2_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE6_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_BIT5_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT14_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT20_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PIN_ENABLE.VALUE=0 +DRIVER.HET.VAR.HET2_BIT16_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT5_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM0_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_BIT6_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM7_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_PWM0_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT8_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE4_PIN_SELECT.VALUE=8 +DRIVER.HET.VAR.HET2_BIT7_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT9_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT3_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT10_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_CAP1_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE6_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP1_PIN_SELECT.VALUE=2 +DRIVER.HET.VAR.HET2_BIT15_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT13_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE3_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_PWM6_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT9_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE0_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_PWM2_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET1_BIT26_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT18_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT6_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE3_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT17_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP4_PIN_SELECT.VALUE=24 +DRIVER.HET.VAR.HET1_BIT29_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT0_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM2_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET2_EDGE3_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT3_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_HRSHARE.VALUE=0x00000002 +DRIVER.HET.VAR.HET2_PWM6_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT8_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT4_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT4_HRSHARE.VALUE=0x00000004 +DRIVER.HET.VAR.HET1_BIT25_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT17_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_PWM4_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_PWM1_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_PWM7_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_PWM3_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_BIT24_HRSHARE.VALUE=0x00001000 +DRIVER.HET.VAR.HET1_BIT16_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_PIN_SELECT.VALUE=17 +DRIVER.HET.VAR.HET1_BIT20_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT12_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT3_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X10.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X11.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT3_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE7_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE0_LVL.VALUE=0x00020000 +DRIVER.HET.VAR.HET1_BIT7_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X20.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X12.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT10_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X21.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X13.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT18_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE4_PIN_SELECT.VALUE=20 +DRIVER.HET.VAR.HET1_INT_X30.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X22.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X14.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET1_INT_X31.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X23.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X15.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE5_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_PWM1_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_BIT7_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_INT_X24.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X16.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP2_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM3_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X25.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X17.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT9_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT5_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X26.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X18.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X27.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X19.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_INT_X28.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_RAM_SIZE.VALUE=160 +DRIVER.HET.VAR.HET1_EDGE2_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_INT_X29.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT17_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM3_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_PWM5_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_PWM1_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET1_BIT10_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP4_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_BIT8_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT4_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_PWM0_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_BIT4_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET1_EDGE1_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM1_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT27_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT19_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT8_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT14_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP6_PIN_SELECT.VALUE=4 +DRIVER.HET.VAR.HET1_PWM2_PIN_SELECT.VALUE=12 +DRIVER.HET.VAR.HET1_BIT1_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM3_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_PWM2_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_EDGE4_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE0_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE6_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_PWM5_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT8_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE3_PIN_SELECT.VALUE=6 +DRIVER.HET.VAR.HET2_PWM2_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT18_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT11_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE1_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_PWM5_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_BIT8_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP0_PIN_SELECT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT21_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT13_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT5_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_BIT4_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE2_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_BIT9_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT1_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM4_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT7_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM7_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_BIT8_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM2_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT31_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT15_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP3_PIN_SELECT.VALUE=6 +DRIVER.HET.VAR.HET1_BIT7_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_PWM4_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET2_BIT12_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_PWM0_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET1_PWM0_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_CAP5_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT26_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT15_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM0_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET1_EDGE4_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_BIT20_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT12_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE5_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_BIT6_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE1_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_PWM3_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE3_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_CAP7_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM3_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_PWM4_PIN_SELECT.VALUE=16 +DRIVER.HET.VAR.HET1_BIT10_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT9_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE3_PIN_SELECT.VALUE=10 +DRIVER.HET.VAR.HET1_PWM1_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT8_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BASE.VALUE=0xFFF7B800 +DRIVER.HET.VAR.HET2_EDGE1_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT12_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_PIN_SELECT.VALUE=19 +DRIVER.HET.VAR.HET1_PWM5_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_LR_ACTUALTIME.VALUE=800.000 +DRIVER.HET.VAR.HET1_BIT21_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT11_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM3_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_PWM7_ENA.VALUE=0 +DRIVER.HET.VAR.HET1_HR_PRESCALE.VALUE=0 +DRIVER.HET.VAR.HET1_BIT30_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT22_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT14_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT7_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_HR_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.HET.VAR.HET2_PWM1_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT5_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE4_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP0_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_BIT4_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE2_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_PWM2_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT8_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT11_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_EDGE6_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_MASTER.VALUE=1 +DRIVER.HET.VAR.HET1_PWM5_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT9_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE6_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT10_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP5_PIN_SELECT.VALUE=2 +DRIVER.HET.VAR.HET1_PWM1_PIN_SELECT.VALUE=10 +DRIVER.HET.VAR.HET1_BIT9_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT13_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_PWM7_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_PWM5_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.HET.VAR.HET2_BIT16_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT10_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE0_BOTH.VALUE=1 +DRIVER.HET.VAR.HET1_BIT30_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X0.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE2_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_PWM4_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT0_HRSHARE.VALUE=0x00000001 +DRIVER.HET.VAR.HET1_INT_X1.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE2_PIN_SELECT.VALUE=4 +DRIVER.HET.VAR.HET2_PWM2_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT8_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X2.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_DIS_BLACKBOX.VALUE=0 +DRIVER.HET.VAR.HET2_LR_TIME.VALUE=800.000 +DRIVER.HET.VAR.HET1_INT_X3.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_EDGE5_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_BIT29_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT0_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_INT_X4.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_HRSHARE.VALUE=0x00000002 +DRIVER.HET.VAR.HET1_BIT21_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X5.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT20_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT3_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_INT_X6.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET1_INT_X7.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BASE_PORT.VALUE=0xFFF7B94C +DRIVER.HET.VAR.HET1_INT_X8.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT17_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_BIT30_HRSHARE.VALUE=0x00008000 +DRIVER.HET.VAR.HET1_BIT22_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_INT_X9.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BASE.VALUE=0xFFF7B900 +DRIVER.HET.VAR.HET2_EDGE2_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE0_EVENT.VALUE=3 +DRIVER.HET.VAR.HET2_BIT10_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP2_PIN_SELECT.VALUE=4 +DRIVER.HET.VAR.HET1_BIT11_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_PWM0_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT31_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT20_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT15_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM4_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_BIT18_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP1_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT30_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_PWM6_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT31_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT23_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT15_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT9_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE6_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT7_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE1_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_RAM_SIZE.VALUE=160 +DRIVER.HET.VAR.HET2_BIT9_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT21_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET2_CAP3_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_BIT0_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_PIN_SELECT.VALUE=6 +DRIVER.HET.VAR.HET2_PWM6_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT14_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE7_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT17_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_EDGE2_PIN_SELECT.VALUE=13 +DRIVER.HET.VAR.HET1_BIT20_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_HR_FREQUENCY.VALUE=80.000 +DRIVER.HET.VAR.HET2_PWM2_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_EDGE5_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE1_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM5_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT18_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE0_INTENA.VALUE=0x00020000 +DRIVER.HET.VAR.HET2_BIT0_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_PIN_SELECT.VALUE=18 +DRIVER.HET.VAR.HET2_EDGE2_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE7_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT1_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE5_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE4_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_HRSHARE.VALUE=0x00000008 +DRIVER.HET.VAR.HET1_BIT30_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT1_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT8_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT0_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE7_PIN_SELECT.VALUE=14 +DRIVER.HET.VAR.HET2_PWM7_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_PWM3_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_PWM3_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_EDGE3_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM1_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM2_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT28_HRSHARE.VALUE=0x00004000 +DRIVER.HET.VAR.HET1_BIT26_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP4_PIN_SELECT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM0_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_PWM0_PIN_SELECT.VALUE=8 +DRIVER.HET.VAR.HET1_BIT21_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_LR_TIME.VALUE=800 +DRIVER.HET.VAR.HET2_EDGE0_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM3_ACTION.VALUE=3 +DRIVER.HET.VAR.HET1_BIT25_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT21_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT17_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT13_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM5_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_PWM1_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT20_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT11_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT16_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM5_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_RAM_BASE.VALUE=0xFF440000 +DRIVER.HET.VAR.HET2_PWM3_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT7_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM4_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT15_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP4_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT8_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE1_PIN_SELECT.VALUE=2 +DRIVER.HET.VAR.HET1_CAP7_PIN_SELECT.VALUE=30 +DRIVER.HET.VAR.HET1_BIT31_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT15_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE7_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_BIT2_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE4_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_BIT15_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT10_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP6_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM2_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT18_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT0_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET1_BIT30_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE1_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE2_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_BIT26_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM1_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT5_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_RAM_PARITY_ENA.VALUE=0x00000005 +DRIVER.HET.VAR.HET1_PWM7_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_PWM0_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT1_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_CAP1_PIN_SELECT.VALUE=2 +DRIVER.HET.VAR.HET1_PWM7_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET1_BIT2_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM6_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM4_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT10_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM7_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT10_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE7_PIN_SELECT.VALUE=23 +DRIVER.HET.VAR.HET1_BIT24_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT5_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM7_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET2_PWM7_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET2_PWM4_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT3_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE5_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM6_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_EDGE4_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_PWM1_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE1_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_LR_PRESCALE.VALUE=6 +DRIVER.HET.VAR.HET2_PWM2_PIN_SELECT.VALUE=12 +DRIVER.HET.VAR.HET2_BIT1_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT31_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT15_PSL.VALUE=0x00008000 +DRIVER.HET.VAR.HET1_PWM6_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_EDGE2_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT30_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT27_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT22_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT19_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT14_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_EDGE2_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_BIT8_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT9_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE1_PIN_SELECT.VALUE=11 +DRIVER.HET.VAR.HET1_BIT25_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT17_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT8_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_PWM4_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT14_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT2_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM5_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT0_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_PIN_SELECT.VALUE=17 +DRIVER.HET.VAR.HET1_BIT25_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT17_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM6_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT4_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE1_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_CAP7_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT28_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT24_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT16_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT12_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_PWM1_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT0_HRSHARE.VALUE=0x00000001 +DRIVER.HET.VAR.HET1_EDGE7_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_PWM1_DUTY_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE6_PIN_SELECT.VALUE=12 +DRIVER.HET.VAR.HET2_BIT2_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_DIS_BLACKBOX.VALUE=0 +DRIVER.HET.VAR.HET1_BIT24_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT16_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE3_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE6_EVENT.VALUE=1 +DRIVER.HET.VAR.HET1_EDGE3_BOTH.VALUE=0 +DRIVER.HET.VAR.HET1_PWM6_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET1_BIT28_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT13_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_PWM1_DUTY.VALUE=50 +DRIVER.HET.VAR.HET1_BIT20_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT12_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP3_PIN_SELECT.VALUE=6 +DRIVER.HET.VAR.HET2_BIT10_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT2_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_PWM3_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_EDGE3_EVENT.VALUE=1 +DRIVER.HET.VAR.HET2_PWM6_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET2_PWM3_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET1_BIT3_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_PWM1_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT1_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT26_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT6_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM1_DUTYTIME.VALUE=500.000 +DRIVER.HET.VAR.HET2_BIT5_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET2_BIT16_HRSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP0_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET1_BIT4_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE0_PIN_SELECT.VALUE=0 +DRIVER.HET.VAR.HET2_BIT10_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_CAP6_PIN_SELECT.VALUE=28 +DRIVER.HET.VAR.HET1_PWM2_PERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_EDGE5_BOTH.VALUE=0 +DRIVER.HET.VAR.HET2_BIT13_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT3_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE0_POLARITY.VALUE=1 +DRIVER.HET.VAR.HET2_PWM7_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_BIT3_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT25_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT17_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_EDGE4_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT31_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT29_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT23_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_BIT15_PULL.VALUE=2 +DRIVER.HET.VAR.HET1_BIT0_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_CAP2_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_PWM7_DUTY.VALUE=50 +DRIVER.HET.VAR.HET2_BIT6_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM4_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT11_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT26_DOUT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT18_DOUT.VALUE=0 +DRIVER.HET.VAR.HET2_PWM6_PERIOD_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_ACTION.VALUE=3 +DRIVER.HET.VAR.HET2_BIT9_PULL.VALUE=1 +DRIVER.HET.VAR.HET1_PWM7_DUTY_LVL.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM3_PERIOD_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM2_ENA.VALUE=0 +DRIVER.HET.VAR.HET2_BIT12_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE3_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM7_PIN_SELECT.VALUE=19 +DRIVER.HET.VAR.HET2_BIT2_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_CAP0_PIN_SELECT.VALUE=0 +DRIVER.HET.VAR.HET1_BIT27_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT19_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT6_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM0_DUTY_PRESCALER.VALUE=80128 +DRIVER.HET.VAR.HET2_EDGE7_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_PWM0_POLARITY.VALUE=3 +DRIVER.HET.VAR.HET1_BIT26_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_XORSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT10_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_EDGE6_PIN_SELECT.VALUE=22 +DRIVER.HET.VAR.HET1_PWM0_ACTUALPERIOD.VALUE=1000.000 +DRIVER.HET.VAR.HET2_HR_FREQUENCY.VALUE=80.000 +DRIVER.HET.VAR.HET2_BIT17_PULL.VALUE=1 +DRIVER.HET.VAR.HET2_BIT14_DIR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_PWM5_PERIOD_PRESCALER.VALUE=159872 +DRIVER.HET.VAR.HET2_EDGE4_POLARITY.VALUE=0 +DRIVER.HET.VAR.HET2_EDGE0_INTENA.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT7_PULDIS.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT4_HRSHARE.VALUE=0x00000004 +DRIVER.HET.VAR.HET1_BIT2_ANDSHARE.VALUE=0x00000000 +DRIVER.HET.VAR.HET2_BIT4_PDR.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT26_PSL.VALUE=0x00000000 +DRIVER.HET.VAR.HET1_BIT18_PSL.VALUE=0x00000000 +DRIVER.RTP.VAR.RTP_PORT_BIT1_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT3_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT1_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT5_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT14_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT11_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT3_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT4_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT6_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT2_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT10_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT6_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT14_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT12_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT4_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT10_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT2_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT5_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT3_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT11_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT7_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT13_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT5_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT11_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT9_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT6_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT4_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT8_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT10_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT15_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT14_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT18_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT6_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT0_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT12_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT3_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT5_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT13_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT9_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT11_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT15_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT13_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT6_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT14_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT16_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT16_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT14_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT4_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT9_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT7_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT15_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT13_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT10_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT9_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT15_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT16_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT14_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT18_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT17_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_BASE_PORT.VALUE=0xFFFFFA38 +DRIVER.RTP.VAR.RTP_PORT_BIT2_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT16_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT5_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT9_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT17_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT15_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT15_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT11_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT18_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT16_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT18_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT3_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT18_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT6_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT17_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT13_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT18_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT4_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT10_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT13_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT18_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT5_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT8_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT0_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT11_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT14_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT6_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT0_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT9_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT2_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT12_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT16_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT15_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT0_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT0_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_BASE.VALUE=0xFFFFFA00 +DRIVER.RTP.VAR.RTP_PORT_BIT3_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT1_PDR.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT7_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT2_FUN.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT0_PSL.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT4_DIR.VALUE=0 +DRIVER.RTP.VAR.RTP_BASE_RAM.VALUE=0xFFF83000 +DRIVER.RTP.VAR.RTP_PORT_BIT13_PULL.VALUE=2 +DRIVER.RTP.VAR.RTP_PORT_BIT10_DIR.VALUE=1 +DRIVER.RTP.VAR.RTP_PORT_BIT16_DOUT.VALUE=0 +DRIVER.RTP.VAR.RTP_PORT_BIT2_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT14_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT17_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT17_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT4_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT1_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT18_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT0_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT15_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT4_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT2_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT7_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT15_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT18_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT0_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_BASE.VALUE=0xFFFFF700 +DRIVER.DMM.VAR.DMM_PORT_BIT1_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT9_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT1_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT2_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT2_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT0_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT5_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT4_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT8_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT16_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT2_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT3_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_BASE_PORT.VALUE=0xFFFFF770 +DRIVER.DMM.VAR.DMM_PORT_BIT1_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT5_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT10_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT3_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT4_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT2_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT6_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT6_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT7_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT9_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT17_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT4_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT5_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT0_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT7_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT18_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT5_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT6_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT4_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT8_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT7_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT18_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT6_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT10_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT7_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT5_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT5_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT1_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT9_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT12_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT7_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT8_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT16_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT6_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT8_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT10_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT8_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT12_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT9_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT10_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT7_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT2_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT10_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT13_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT9_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT8_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT9_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT12_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT10_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT14_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT14_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT0_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT12_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT9_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT11_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT14_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT11_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT15_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT8_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT14_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT12_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT16_DIR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT1_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT14_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT4_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT12_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT15_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT15_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT12_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT17_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT15_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT16_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT14_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT18_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT2_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT6_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT16_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT5_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT13_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT16_DOUT.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT17_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT15_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT17_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT17_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT10_PULDIS.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT18_FUN.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT16_PSL.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT3_PULL.VALUE=2 +DRIVER.DMM.VAR.DMM_PORT_BIT0_DIR.VALUE=1 +DRIVER.DMM.VAR.DMM_PORT_BIT18_PDR.VALUE=0 +DRIVER.DMM.VAR.DMM_PORT_BIT6_DOUT.VALUE=0 +DRIVER.I2C.VAR.I2C_PORT_BIT0_DIR.VALUE=0 +DRIVER.I2C.VAR.I2C_STOPBITS.VALUE=2 +DRIVER.I2C.VAR.I2C_PORT_BIT1_DIR.VALUE=0 +DRIVER.I2C.VAR.I2C_ICXRDYINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C_BASE_PORT.VALUE=0xFFF7D44C +DRIVER.I2C.VAR.I2C_DATACOUNT.VALUE=8 +DRIVER.I2C.VAR.I2C_ADDRMODE.VALUE=7BIT_AMODE +DRIVER.I2C.VAR.I2C_PORT_BIT0_FUN.VALUE=0 +DRIVER.I2C.VAR.I2C_PORT_BIT0_PDR.VALUE=0 +DRIVER.I2C.VAR.I2C_BC_VALUE.VALUE=0x0003 +DRIVER.I2C.VAR.I2C_PORT_BIT1_FUN.VALUE=0 +DRIVER.I2C.VAR.I2C_RM_ENA.VALUE=0 +DRIVER.I2C.VAR.I2C_BC.VALUE=8_BIT +DRIVER.I2C.VAR.I2C_PORT_BIT1_PDR.VALUE=0 +DRIVER.I2C.VAR.I2C_TXRX_VALUE.VALUE=0 +DRIVER.I2C.VAR.I2C_SCDLVL.VALUE=0 +DRIVER.I2C.VAR.I2C_PORT_BIT0_PSL.VALUE=1 +DRIVER.I2C.VAR.I2C_STPCND.VALUE=1 +DRIVER.I2C.VAR.I2C_ALINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C_PRESCALE.VALUE=9 +DRIVER.I2C.VAR.I2C_PORT_BIT1_PSL.VALUE=1 +DRIVER.I2C.VAR.I2C_TXRX.VALUE=TRANSMITTER +DRIVER.I2C.VAR.I2C_PORT_BIT0_DOUT.VALUE=0 +DRIVER.I2C.VAR.I2C_ALINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C_RXDMA.VALUE=0 +DRIVER.I2C.VAR.I2C_PORT_BIT0_PULDIS.VALUE=0 +DRIVER.I2C.VAR.I2C_BASE.VALUE=0xFFF7D400 +DRIVER.I2C.VAR.I2C_ARDYINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C_PORT_BIT1_DOUT.VALUE=0 +DRIVER.I2C.VAR.I2C_TXDMA.VALUE=0 +DRIVER.I2C.VAR.I2C_MSMODE.VALUE=1 +DRIVER.I2C.VAR.I2C_ICCH.VALUE=35 +DRIVER.I2C.VAR.I2C_AASLVL.VALUE=0 +DRIVER.I2C.VAR.I2C_ICCL.VALUE=35 +DRIVER.I2C.VAR.I2C_AAS.VALUE=0 +DRIVER.I2C.VAR.I2C_BCM.VALUE=0 +DRIVER.I2C.VAR.I2C_ADDRMODE_VALUE.VALUE=0x0001 +DRIVER.I2C.VAR.I2C_ICRRDYINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C_FDF.VALUE=0 +DRIVER.I2C.VAR.I2C_ARDYINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C_PARITYENA.VALUE=0 +DRIVER.I2C.VAR.I2C_PORT_BIT0_PULL.VALUE=2 +DRIVER.I2C.VAR.I2C_LENGTH.VALUE=8 +DRIVER.I2C.VAR.I2C_NACKINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C_SCD.VALUE=0 +DRIVER.I2C.VAR.I2C_PORT_BIT1_PULL.VALUE=2 +DRIVER.I2C.VAR.I2C_ICRRDYINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C_STACND.VALUE=1 +DRIVER.I2C.VAR.I2C_PORT_BIT1_PULDIS.VALUE=0 +DRIVER.I2C.VAR.I2C_ICXRDYINTENA.VALUE=0 +DRIVER.I2C.VAR.I2C_NACKINTLVL.VALUE=0 +DRIVER.I2C.VAR.I2C_EVENPARITY.VALUE=0 +DRIVER.I2C.VAR.I2C_BAUDRATE.VALUE=100 +DRIVER.I2C.VAR.I2C_MODCLK.VALUE=8 +DRIVER.DCC.VAR.DCC1_ENABLE_KEY.VALUE=10 +DRIVER.DCC.VAR.PINMUX_BASE.VALUE=0xFFFFEA00 +DRIVER.DCC.VAR.DCC1_DETECTION_TIME.VALUE=5000.00 +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE1_VALUE.VALUE=0x0002 +DRIVER.DCC.VAR.DCC1_ENABLE_ERROR_INTERRUPT.VALUE=0xA +DRIVER.DCC.VAR.DCC2_ENABLE.VALUE=0xA +DRIVER.DCC.VAR.PINMUX_BASE_PORT.VALUE=0xFFFFEA40 +DRIVER.DCC.VAR.DCC2_ENABLE_ERROR_INTERRUPT.VALUE=0xA +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE0_VALUE.VALUE=0x0001 +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE0_FREQ.VALUE=0 +DRIVER.DCC.VAR.DCC2_VALID0_SEED.VALUE=0 +DRIVER.DCC.VAR.DCC2_CLKT_N2HET2_0_FREQ.VALUE=1 +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE1_FREQ.VALUE=0 +DRIVER.DCC.VAR.DCC2_DETECTION_TIME.VALUE=5000.00 +DRIVER.DCC.VAR.DCC2_CLOCK_DRIFT.VALUE=1.0 +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE1_VALUE.VALUE=0x0002 +DRIVER.DCC.VAR.DCC1_CLKT_N2HET1_31_FREQ.VALUE=1 +DRIVER.DCC.VAR.DCC2_COUNT0_SEED.VALUE=0 +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE0.VALUE=OSCIN +DRIVER.DCC.VAR.DCC2_CLOCK_SOURCE1.VALUE=VCLK +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE0_FREQ.VALUE=16.0 +DRIVER.DCC.VAR.DCC1_VALID0_SEED.VALUE=1584 +DRIVER.DCC.VAR.DCC1_BASE.VALUE=0xFFFFEC00 +DRIVER.DCC.VAR.DCC2_COUNT1_SEED.VALUE=0 +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE1_FREQ.VALUE=160.00 +DRIVER.DCC.VAR.DCC1_CLOCK_DRIFT.VALUE=1.0 +DRIVER.DCC.VAR.DCC1_ENABLE.VALUE=0xA +DRIVER.DCC.VAR.DCC1_ENABLE_SINGLESHOT_MODE.VALUE=0x5 +DRIVER.DCC.VAR.DCC2_ENABLE_SINGLESHOT_MODE.VALUE=0x5 +DRIVER.DCC.VAR.DCC2_BASE.VALUE=0xFFFFF400 +DRIVER.DCC.VAR.DCC1_DONE_INTERRUPT_ENABLE.VALUE=0xA +DRIVER.DCC.VAR.DCC2_DONE_INTERRUPT_ENABLE.VALUE=0xA +DRIVER.DCC.VAR.DCC2_ENABLE_KEY.VALUE=0xA +DRIVER.DCC.VAR.DCC1_COUNT0_SEED.VALUE=78408 +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE0_VALUE.VALUE=0x0001 +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE0.VALUE=OSCIN +DRIVER.DCC.VAR.DCC1_CLOCK_SOURCE1.VALUE=PLL1 +DRIVER.DCC.VAR.CLKT_TCK_FREQ.VALUE=12.0 +DRIVER.DCC.VAR.DCC1_COUNT1_SEED.VALUE=792000 +DRIVER.PINMUX.VAR.DMA_EIDXS_28.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_20.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_12.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_2.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_2.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX29_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX7_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_29.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_21.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_13.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_3.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_3.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_30.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_22.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_14.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_10.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_4.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_4.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_TIME_BASE_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX61_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX50_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_31.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_29_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_27_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXD_23.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_19_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXD_15.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_11.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_5.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_5.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_24.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_20.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_16.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_12.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_6.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_6.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_25.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_21.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_17.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_13.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_7.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_7.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_30.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_26.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_22.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_18.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_14.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_8.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_8.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_10.VALUE=1 +DRIVER.PINMUX.VAR.MUX99_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_96_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_88_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_5_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_31.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_27.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_23.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_21_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXD_19.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_15.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_9.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_9.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_11.VALUE=1 +DRIVER.PINMUX.VAR.DMA_FIDXD_28.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_24.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_16.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_12.VALUE=1 +DRIVER.PINMUX.VAR.MUX30_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX22_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX14_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.DMA_FIDXD_29.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_25.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_17.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_13.VALUE=1 +DRIVER.PINMUX.VAR.MUX30_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_26.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_18.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_14.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_10.VALUE=1 +DRIVER.PINMUX.VAR.MUX30_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_81_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_73_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_65_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_57_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_49_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_27.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_19.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_15.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTMP_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_11.VALUE=1 +DRIVER.PINMUX.VAR.DMA_CHPR_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX30_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_28.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_16.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_12.VALUE=1 +DRIVER.PINMUX.VAR.MUX30_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_29.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_13.VALUE=1 +DRIVER.PINMUX.VAR.MUX30_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_14.VALUE=1 +DRIVER.PINMUX.VAR.MUX101_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_50_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_42_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_34_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_26_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_18_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.DMA_ADDMW_28_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_15.VALUE=1 +DRIVER.PINMUX.VAR.DMA_ENABLEINT_1.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_16.VALUE=1 +DRIVER.PINMUX.VAR.DMA_ENABLEINT_2.VALUE=1 +DRIVER.PINMUX.VAR.DMA_ENABLEINT_3.VALUE=1 +DRIVER.PINMUX.VAR.DMA_PRITY_10.VALUE=FIXED +DRIVER.PINMUX.VAR.DMA_ENABLEINT_4.VALUE=1 +DRIVER.PINMUX.VAR.PINMUX10.VALUE=PINMUX_PIN_86_AD1EVT +DRIVER.PINMUX.VAR.MUX11_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_11_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_PRITY_11.VALUE=FIXED +DRIVER.PINMUX.VAR.DMA_CHPR_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.PINMUX11.VALUE=PINMUX_PIN_91_HET1_24 +DRIVER.PINMUX.VAR.DMA_PRITY_12.VALUE=FIXED +DRIVER.PINMUX.VAR.PINMUX20.VALUE=PINMUX_PIN_130_MIBSPI1NCS_1 +DRIVER.PINMUX.VAR.PINMUX12.VALUE="PINMUX_PIN_92_HET1_26 | PINMUX_PIN_96_MIBSPI1NENA | PINMUX_PIN_97_MIBSPI5NENA" +DRIVER.PINMUX.VAR.DMA_PRITY_13.VALUE=FIXED +DRIVER.PINMUX.VAR.PINMUX21.VALUE=PINMUX_PIN_133_GIOB_1 +DRIVER.PINMUX.VAR.PINMUX13.VALUE="PINMUX_PIN_98_MIBSPI5SOMI_0 | PINMUX_PIN_99_MIBSPI5SIMO_0 | PINMUX_PIN_100_MIBSPI5CLK | PINMUX_PIN_105_MIBSPI1SOMI_1" +DRIVER.PINMUX.VAR.DMA_PRITY_14.VALUE=FIXED +DRIVER.PINMUX.VAR.PINMUX14.VALUE="PINMUX_PIN_106_HET1_08 | PINMUX_PIN_107_HET1_28" +DRIVER.PINMUX.VAR.MUX92_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_21_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_15.VALUE=FIXED +DRIVER.PINMUX.VAR.DMA_PRITY_16.VALUE=FIXED +DRIVER.PINMUX.VAR.PINMUX33.VALUE="PINMUX_PIN_36_HET1_04 | PINMUX_PIN_51_MIBSPI3SOMI | PINMUX_PIN_52_MIBSPI3SIMO | PINMUX_PIN_53_MIBSPI3CLK" +DRIVER.PINMUX.VAR.PINMUX17.VALUE="PINMUX_PIN_118_HET1_10 | PINMUX_PIN_124_HET1_12" +DRIVER.PINMUX.VAR.PINMUX34.VALUE="PINMUX_PIN_139_HET1_16 | PINMUX_PIN_140_HET1_18 | PINMUX_PIN_141_HET1_20" +DRIVER.PINMUX.VAR.PINMUX18.VALUE="PINMUX_PIN_125_HET1_14 | PINMUX_PIN_126_GIOB_0" +DRIVER.PINMUX.VAR.DMA_ADDMR_26_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_20_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_18_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.PINMUX35.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX27.VALUE=PINMUX_PIN_32_MIBSPI5NCS_0 +DRIVER.PINMUX.VAR.PINMUX19.VALUE=PINMUX_PIN_127_HET1_30 +DRIVER.PINMUX.VAR.MUX98_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX98_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_10.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.MUX98_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_11.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_PRITY_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX98_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_20.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_12.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.MUX100_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX98_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_21.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_13.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.MUX100_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_30.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_22.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_14.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_FIDXS_0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_0.VALUE=ENABLED +DRIVER.PINMUX.VAR.MUX100_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_109_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_31.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_23.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_15.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_TTYPE_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXS_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_1.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_ENABLEREG_1.VALUE=1 +DRIVER.PINMUX.VAR.MUX100_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_24.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_16.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_FIDXS_2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_2.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_ENABLEREG_2.VALUE=1 +DRIVER.PINMUX.VAR.MUX100_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX91_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_25.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_17.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_FIDXS_3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_3.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_ENABLEREG_3.VALUE=1 +DRIVER.PINMUX.VAR.MUX91_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_26.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_18.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_FIDXS_4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_4.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_ENABLEREG_4.VALUE=1 +DRIVER.PINMUX.VAR.MUX91_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX61_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX53_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX45_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX37_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX29_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_102_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_30_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_27.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_22_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_19.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXS_5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_5.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_ADDMR_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_0_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX91_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_28.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_FIDXS_6.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_6.VALUE=ENABLED +DRIVER.PINMUX.VAR.ETPWM2_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.MUX91_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX6_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.DMA_CHANNEL_29.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_FIDXS_7.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_7.VALUE=ENABLED +DRIVER.PINMUX.VAR.MUX6_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_8.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_8.VALUE=ENABLED +DRIVER.PINMUX.VAR.MUX6_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_31_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_26_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_23_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_18_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXS_9.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_9.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX6_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX36_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX6_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.MUX28_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.MUX6_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_10.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_10.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_31_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_25_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_23_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_17_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_11.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_11.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTASS_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX60_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_20.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_20.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_12.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_12.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_21.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_21.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_13.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_13.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_30.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_30.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_22.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_22.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_14.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_14.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_94_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_86_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_78_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_3_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.DMA_TTYPE_31.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_31.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_23.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_23.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_15.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_15.VALUE=0 +DRIVER.PINMUX.VAR.DMA_PRITY_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ACC_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_STADD_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_24.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_24.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_16.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_16.VALUE=0 +DRIVER.PINMUX.VAR.DMA_STADD_2.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX13_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_25.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_25.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_17.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_17.VALUE=0 +DRIVER.PINMUX.VAR.DMA_STADD_3.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_26.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_26.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_18.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_18.VALUE=0 +DRIVER.PINMUX.VAR.DMA_STADD_4.VALUE=0 +DRIVER.PINMUX.VAR.MUX30_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX22_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX14_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_71_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_63_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_55_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_47_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_39_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_27.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_27.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_19.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_19.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX21_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_28.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_28.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_29.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_29.VALUE=0 +DRIVER.PINMUX.VAR.MUX21_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_0.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_40_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_32_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_24_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_16_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_27_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_24_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_19_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TRIG_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_2.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM7_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_0.VALUE=CONSTANT +DRIVER.PINMUX.VAR.ETPWM_TBCLK_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.DMA_TTYPE_28_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_1.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_6.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_2.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_7.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_3.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_8.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_4.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_0.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_28_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_9.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_5.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_1.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_ADDMR_6.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_2.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_ADDMR_7.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_3.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_ADDMR_8.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_4.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_ADDMR_30_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_22_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_9.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_5.VALUE=8BIT +DRIVER.PINMUX.VAR.GATE_EMIF_CLK.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_6.VALUE=8BIT +DRIVER.PINMUX.VAR.MUX97_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_7.VALUE=8BIT +DRIVER.PINMUX.VAR.MUX97_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_8.VALUE=8BIT +DRIVER.PINMUX.VAR.MUX97_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX80_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_9.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_ADDMW_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX97_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX97_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_107_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_29_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX90_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_DEBUGMODE.VALUE=IGNORE_SUSPEND +DRIVER.PINMUX.VAR.MUX90_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_0.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ERRACT.VALUE=IGNORE +DRIVER.PINMUX.VAR.MUX90_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_100_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_1.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_CHPR_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX90_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_2.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_BASE_PORT.VALUE=0xFFFFF040 +DRIVER.PINMUX.VAR.MUX90_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.DMA_ADDMW_3.VALUE=CONSTANT +DRIVER.PINMUX.VAR.MUX5_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_4.VALUE=CONSTANT +DRIVER.PINMUX.VAR.MUX5_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_30_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_22_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_5.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_1.VALUE=1 +DRIVER.PINMUX.VAR.MUX5_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_6.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_INTFTCEN_2.VALUE=1 +DRIVER.PINMUX.VAR.MUX51_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX35_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_7.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_INTFTCEN_3.VALUE=1 +DRIVER.PINMUX.VAR.MUX51_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.MUX27_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.MUX5_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_8.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_INTEN_10.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_4.VALUE=1 +DRIVER.PINMUX.VAR.MUX51_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX41_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_99_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_8_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_27_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_21_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_19_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_9.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_INTEN_11.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_5.VALUE=1 +DRIVER.PINMUX.VAR.MUX51_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTEN_12.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_6.VALUE=1 +DRIVER.PINMUX.VAR.MUX51_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTEN_13.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_7.VALUE=1 +DRIVER.PINMUX.VAR.MUX51_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTEN_14.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_8.VALUE=1 +DRIVER.PINMUX.VAR.ALT_ADC_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.MUX98_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_92_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_84_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_76_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_68_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_1_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTEN_15.VALUE=1 +DRIVER.PINMUX.VAR.DMA_PRITY_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_9.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTMP_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTEN_16.VALUE=1 +DRIVER.PINMUX.VAR.MUX20_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX12_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX20_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX20_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_61_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_53_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_45_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_37_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_29_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX20_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX20_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX20_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX100_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_30_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_22_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_14_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_31_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_23_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_20_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_0_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX10_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_27_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_24_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_19_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ENDADD_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ENDADD_2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ENDADD_3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ENDADD_4.VALUE=0 +DRIVER.PINMUX.VAR.MUX91_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX83_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX75_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX67_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX59_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_26_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_24_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_18_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTASS_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTASS_1.VALUE=TO_VIM +DRIVER.PINMUX.VAR.DMA_INTASS_2.VALUE=TO_VIM +DRIVER.PINMUX.VAR.ETPWM5_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.CONCOUNT.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTASS_3.VALUE=TO_VIM +DRIVER.PINMUX.VAR.DMA_INTASS_4.VALUE=TO_VIM +DRIVER.PINMUX.VAR.DMA_ADDMR_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHAS_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ACC_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHAS_2.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHAS_3.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_10.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_10.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_0.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_CHAS_4.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX6_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_11.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_11.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_ADDMW_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_1.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_INTMP_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHAS_5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHPR_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX96_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_20.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_20.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_FIDXS_12.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_12.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_2.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_CHAS_6.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_21.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_21.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_FIDXS_13.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_13.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_3.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_CHAS_7.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_30.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_30.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_FIDXS_22.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_22.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_FIDXS_14.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_14.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_4.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_CHAS_8.VALUE=0 +DRIVER.PINMUX.VAR.GIOB_DISABLE_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.PIN_MUX_105_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_31.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_31.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_28_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_25_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXS_23.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_23.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_ADDMW_17_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXS_15.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_15.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_ADDMR_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_5.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_TRIG_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHAS_9.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_24.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_24.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_FIDXS_16.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_16.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_6.VALUE=8BIT +DRIVER.PINMUX.VAR.MUX81_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.DMA_FIDXS_25.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_25.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_FIDXS_17.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_17.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_7.VALUE=8BIT +DRIVER.PINMUX.VAR.MUX81_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_26.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_26.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_FIDXS_18.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_18.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_8.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_0.VALUE=0 +DRIVER.PINMUX.VAR.MUX81_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX60_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX52_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX44_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX36_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX28_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_29_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXS_27.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_27.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_FIDXS_19.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_19.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_9.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ENABLE1.VALUE=1 +DRIVER.PINMUX.VAR.MUX81_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXS_28.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_28.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_2.VALUE=0 +DRIVER.PINMUX.VAR.MUX81_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.DMA_FIDXS_29.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_29.VALUE=ENABLED +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_3.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_BYP_10.VALUE=1 +DRIVER.PINMUX.VAR.ECAP.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_29_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_0_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_BYP_11.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_1.VALUE=1 +DRIVER.PINMUX.VAR.MUX4_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_6.VALUE=0 +DRIVER.PINMUX.VAR.DMA_BYP_12.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_2.VALUE=1 +DRIVER.PINMUX.VAR.MUX50_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX34_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX18_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_7.VALUE=0 +DRIVER.PINMUX.VAR.DMA_BYP_13.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_3.VALUE=1 +DRIVER.PINMUX.VAR.MUX50_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.MUX4_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_8.VALUE=0 +DRIVER.PINMUX.VAR.DMA_BYP_14.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_4.VALUE=1 +DRIVER.PINMUX.VAR.MUX50_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_97_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_89_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_6_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_31_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_23_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_IFT_COUNT_9.VALUE=0 +DRIVER.PINMUX.VAR.DMA_BYP_15.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_5.VALUE=1 +DRIVER.PINMUX.VAR.DMA_PRITY_1.VALUE=FIXED +DRIVER.PINMUX.VAR.MUX50_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_BYP_16.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_6.VALUE=1 +DRIVER.PINMUX.VAR.DMA_PRITY_2.VALUE=FIXED +DRIVER.PINMUX.VAR.MUX50_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_7.VALUE=1 +DRIVER.PINMUX.VAR.DMA_PRITY_3.VALUE=FIXED +DRIVER.PINMUX.VAR.MUX50_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX42_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX34_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX26_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX18_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_8.VALUE=1 +DRIVER.PINMUX.VAR.DMA_PRITY_4.VALUE=FIXED +DRIVER.PINMUX.VAR.MUX103_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_90_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_82_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_74_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_66_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_58_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTBTCEN_9.VALUE=1 +DRIVER.PINMUX.VAR.DMA_TRIG_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_5.VALUE=FIXED +DRIVER.PINMUX.VAR.DMA_PRITY_6.VALUE=FIXED +DRIVER.PINMUX.VAR.MUX11_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.DMA_PRITY_7.VALUE=FIXED +DRIVER.PINMUX.VAR.MUX11_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_PRITY_8.VALUE=FIXED +DRIVER.PINMUX.VAR.MUX21_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX13_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX11_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_51_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_43_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_35_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.PIN_MUX_27_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_19_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.DMA_TTYPE_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_9.VALUE=FIXED +DRIVER.PINMUX.VAR.MUX11_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX11_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM_TBCLK_SYNC_ENABLE.VALUE=0 +DRIVER.PINMUX.VAR.AD1.VALUE=0 +DRIVER.PINMUX.VAR.MUX11_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.AD2.VALUE=0 +DRIVER.PINMUX.VAR.MUX94_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_20_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_12_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_0_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_31_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_23_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_20_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX9_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_30_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_28_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_22_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_20_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_0_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX104_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_PRITY_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.ALT_ADC.VALUE=0 +DRIVER.PINMUX.VAR.I2C.VALUE=1 +DRIVER.PINMUX.VAR.MUX104_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX104_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX95_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX71_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_DEBUGMODE_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX95_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.ETPWM3_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.MUX95_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX87_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX79_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_10.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_103_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_24_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_21_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_11.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_20.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_12.VALUE=0 +DRIVER.PINMUX.VAR.MUX80_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_21.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_13.VALUE=0 +DRIVER.PINMUX.VAR.HET1.VALUE=1 +DRIVER.PINMUX.VAR.MUX80_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_30.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_22.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_14.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_10.VALUE=0 +DRIVER.PINMUX.VAR.HET2.VALUE=0 +DRIVER.PINMUX.VAR.MUX80_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_31.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_28_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_25_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_23.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_17_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_15.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_11.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTEN_1.VALUE=1 +DRIVER.PINMUX.VAR.MUX80_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_24.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_20.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_16.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_12.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTEN_2.VALUE=1 +DRIVER.PINMUX.VAR.MUX80_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX72_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX64_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX56_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_25.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_21.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_17.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_13.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTEN_3.VALUE=1 +DRIVER.PINMUX.VAR.MUX56_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX48_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.DMA_EIDXD_30.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_26.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_22.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_18.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_14.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_10.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_INTEN_4.VALUE=1 +DRIVER.PINMUX.VAR.MUX3_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_31.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_27_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_27.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_25_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXD_23.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_19_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_19.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_17_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXD_15.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_11.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_AIM_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTEN_5.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTASS_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX3_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_28.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_24.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_20.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_16.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_12.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_INTEN_6.VALUE=1 +DRIVER.PINMUX.VAR.EMIF.VALUE=0 +DRIVER.PINMUX.VAR.MUX41_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX33_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX3_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CP0_ISADDR_29.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_25.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_21.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_17.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_13.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_INTEN_7.VALUE=1 +DRIVER.PINMUX.VAR.ETPWM_TZ1.VALUE=ASYNC +DRIVER.PINMUX.VAR.MUX41_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION1.VALUE=1 +DRIVER.PINMUX.VAR.MUX17_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX3_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_30.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_26.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_22.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_18.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_14.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_10.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTEN_8.VALUE=1 +DRIVER.PINMUX.VAR.ETPWM_TZ2.VALUE=ASYNC +DRIVER.PINMUX.VAR.MUX41_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX40_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_95_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_87_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_79_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_4_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_31.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_27.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_23.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_19.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_15.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ADDMR_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_11.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTEN_9.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTMP_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ACC_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.ETPWM_TZ3.VALUE=ASYNC +DRIVER.PINMUX.VAR.MUX41_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_28.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_24.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_20.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_16.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_12.VALUE=0 +DRIVER.PINMUX.VAR.MUX41_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_29.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_25.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_21.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_17.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_13.VALUE=0 +DRIVER.PINMUX.VAR.MUX41_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX33_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX25_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX17_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_30.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_26.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_22.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_18.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_14.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_10.VALUE=8BIT +DRIVER.PINMUX.VAR.MUX97_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX89_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_80_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_72_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_64_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_56_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_48_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_31.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_27.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_23.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_19.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_15.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_11.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_ADDMW_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.GIOA.VALUE=1 +DRIVER.PINMUX.VAR.DMA_ADDMR_28.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_24.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_20.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_16.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_12.VALUE=8BIT +DRIVER.PINMUX.VAR.GIOB.VALUE=0 +DRIVER.PINMUX.VAR.MUX10_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.DMA_ADDMR_29.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_25.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_21.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_17.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_13.VALUE=8BIT +DRIVER.PINMUX.VAR.GIOB_DISABLE.VALUE=0 +DRIVER.PINMUX.VAR.MUX10_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_30.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_26.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_22.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_18.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_14.VALUE=8BIT +DRIVER.PINMUX.VAR.MUX10_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_41_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_33_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_25_SELECT.VALUE=1 +DRIVER.PINMUX.VAR.PIN_MUX_17_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_31.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_29_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_27.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_26_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_23.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_19.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_18_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_15.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_CHANNEL_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX10_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_28.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_24.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_16.VALUE=8BIT +DRIVER.PINMUX.VAR.MUX10_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_29.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_25.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_17.VALUE=8BIT +DRIVER.PINMUX.VAR.MUX10_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_26.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_18.VALUE=8BIT +DRIVER.PINMUX.VAR.PIN_MUX_10_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_27.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_19.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_BYP_1.VALUE=1 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_28.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_BYP_2.VALUE=1 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_29.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_BYP_3.VALUE=1 +DRIVER.PINMUX.VAR.DMA_BYP_4.VALUE=1 +DRIVER.PINMUX.VAR.EQEP.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_BYP_5.VALUE=1 +DRIVER.PINMUX.VAR.DMA_BYP_6.VALUE=1 +DRIVER.PINMUX.VAR.DMA_BYP_7.VALUE=1 +DRIVER.PINMUX.VAR.DMA_BYP_8.VALUE=1 +DRIVER.PINMUX.VAR.MUX90_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX82_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX74_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX66_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX58_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_24_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_BYP_9.VALUE=1 +DRIVER.PINMUX.VAR.MIBSPI1.VALUE=1 +DRIVER.PINMUX.VAR.MUX103_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MIBSPI3.VALUE=1 +DRIVER.PINMUX.VAR.MUX103_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.OHCI0.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MIBSPI5.VALUE=0 +DRIVER.PINMUX.VAR.W2FC.VALUE=0 +DRIVER.PINMUX.VAR.OHCI1.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX103_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX94_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX94_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX94_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX5_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_108_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX94_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX94_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX86_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX78_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION0.VALUE=1 +DRIVER.PINMUX.VAR.MUX9_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHPR_10.VALUE=HIGH +DRIVER.PINMUX.VAR.MUX9_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_101_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_20_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXD_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_11.VALUE=HIGH +DRIVER.PINMUX.VAR.DMA_PRITY_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX9_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHPR_12.VALUE=HIGH +DRIVER.PINMUX.VAR.MUX71_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXD_3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHPR_13.VALUE=HIGH +DRIVER.PINMUX.VAR.MUX71_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX9_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_10.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHPR_14.VALUE=HIGH +DRIVER.PINMUX.VAR.MUX71_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX51_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX43_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX35_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX27_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX19_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_24_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_21_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_11.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXD_5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHPR_15.VALUE=HIGH +DRIVER.PINMUX.VAR.MUX71_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_20.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ADDMW_12.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_6.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHPR_16.VALUE=HIGH +DRIVER.PINMUX.VAR.ETPWM1_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.MUX71_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX63_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_21.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ADDMW_13.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_7.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_3.VALUE=0 +DRIVER.PINMUX.VAR.MUX55_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX47_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX39_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_30.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ADDMW_22.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ADDMW_14.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_EIDXD_8.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TRIG_10.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.MUX2_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_9_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_31.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_CHANNEL_31_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_29_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_23.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_CHANNEL_23_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_21_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_15.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_CHANNEL_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXD_9.VALUE=0 +DRIVER.PINMUX.VAR.DMA_IET_COUNT_5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_11.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.MUX2_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_24.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ADDMW_16.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_6.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TRIG_12.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.MUX40_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_25.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ADDMW_17.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_7.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TRIG_13.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.MUX40_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX2_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_26.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ADDMW_18.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_8.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TRIG_14.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_INTFTCEN_10.VALUE=1 +DRIVER.PINMUX.VAR.MUX40_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_93_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_85_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_77_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_69_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_2_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_27.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_ADDMW_19.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_IET_COUNT_9.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TRIG_15.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_PRITY_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_11.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTMP_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX40_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_28.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_TRIG_16.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_INTFTCEN_12.VALUE=1 +DRIVER.PINMUX.VAR.MUX40_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_29.VALUE=CONSTANT +DRIVER.PINMUX.VAR.DMA_INTFTCEN_13.VALUE=1 +DRIVER.PINMUX.VAR.MUX40_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX32_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX24_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX16_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_14.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTHBCEN_10.VALUE=1 +DRIVER.PINMUX.VAR.MUX102_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_70_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_62_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_54_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_46_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_38_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_0_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_15.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTHBCEN_11.VALUE=1 +DRIVER.PINMUX.VAR.DMA_CHPR_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ERRACT_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MII.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTFTCEN_16.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTHBCEN_12.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTHBCEN_13.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTHBCEN_14.VALUE=1 +DRIVER.PINMUX.VAR.GATE_EMIF_CLK_SELECT.VALUE=OFF +DRIVER.PINMUX.VAR.MUX20_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX12_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_31_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_23_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_15_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_30_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_25_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_22_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_17_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTHBCEN_15.VALUE=1 +DRIVER.PINMUX.VAR.DMA_TRIG_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHPR_1.VALUE=HIGH +DRIVER.PINMUX.VAR.DMA_INTHBCEN_16.VALUE=1 +DRIVER.PINMUX.VAR.DMA_CHPR_2.VALUE=HIGH +DRIVER.PINMUX.VAR.DMA_CHPR_3.VALUE=HIGH +DRIVER.PINMUX.VAR.ETPWM_TIME_BASE_SYNC_ENABLE.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTMP_10.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_CHPR_4.VALUE=HIGH +DRIVER.PINMUX.VAR.MUX93_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_29_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_26_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_18_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_11.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_CHPR_5.VALUE=HIGH +DRIVER.PINMUX.VAR.DMA_TRIG_1.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.ETPWM_EPWM1SYNCI.VALUE=ASYNC +DRIVER.PINMUX.VAR.DMA_INTMP_12.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_CHPR_6.VALUE=HIGH +DRIVER.PINMUX.VAR.DMA_TRIG_2.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.ETPWM6_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.DMA_INTMP_13.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_CHPR_7.VALUE=HIGH +DRIVER.PINMUX.VAR.DMA_TRIG_3.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_INTMP_14.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_CHPR_8.VALUE=HIGH +DRIVER.PINMUX.VAR.DMA_TRIG_4.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_CHANNEL_28_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_26_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_18_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_6_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_15.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_CHPR_9.VALUE=HIGH +DRIVER.PINMUX.VAR.DMA_TRIG_5.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_INTHBCEN_1.VALUE=1 +DRIVER.PINMUX.VAR.SCI.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTMP_16.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_TRIG_6.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_INTHBCEN_2.VALUE=1 +DRIVER.PINMUX.VAR.DMA_TRIG_7.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_INTHBCEN_3.VALUE=1 +DRIVER.PINMUX.VAR.DMA_TRIG_8.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_INTHBCEN_4.VALUE=1 +DRIVER.PINMUX.VAR.MUX8_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_20_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_9_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_9.VALUE=HARDWARE_TRIGGER +DRIVER.PINMUX.VAR.DMA_INTHBCEN_5.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTMP_1.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_INTHBCEN_6.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTMP_2.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_ENABLEPAR.VALUE=1 +DRIVER.PINMUX.VAR.MUX102_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTHBCEN_7.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTMP_3.VALUE=GROUP_A +DRIVER.PINMUX.VAR.MUX102_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTHBCEN_8.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTMP_4.VALUE=GROUP_A +DRIVER.PINMUX.VAR.MUX102_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTHBCEN_9.VALUE=1 +DRIVER.PINMUX.VAR.DMA_CHPR_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_5.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_TRIG_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ACC_1.VALUE=ALL +DRIVER.PINMUX.VAR.ETPWM.VALUE=0 +DRIVER.PINMUX.VAR.MUX102_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTMP_6.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_ACC_2.VALUE=ALL +DRIVER.PINMUX.VAR.MUX102_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX93_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTMP_7.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_ACC_3.VALUE=ALL +DRIVER.PINMUX.VAR.MUX93_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTMP_8.VALUE=GROUP_A +DRIVER.PINMUX.VAR.DMA_ACC_4.VALUE=ALL +DRIVER.PINMUX.VAR.MUX93_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_106_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_27_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_19_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_0_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTMP_9.VALUE=GROUP_A +DRIVER.PINMUX.VAR.MUX93_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX93_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX85_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX77_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX69_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_BASE.VALUE=0xFFFFF000 +DRIVER.PINMUX.VAR.MUX8_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX8_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_20_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_12_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX70_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX70_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX62_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX54_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX46_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX38_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_98_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_7_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_25_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_17_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX1_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX1_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_91_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_83_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_75_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_67_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_59_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TRIG_8_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX31_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX31_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX23_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.MUX15_OPTION5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_0.VALUE=0 +DRIVER.PINMUX.VAR.MUX96_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX88_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_60_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_52_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_44_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_36_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_28_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXS_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_0.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_21_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_13_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_21_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_13_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMW_10_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXS_5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMR_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXD_1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHPR_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_PRITY_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_BASE_RAM.VALUE=0xFFF80000 +DRIVER.PINMUX.VAR.DMA_EIDXS_6.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_7.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_8.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHAS_10.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_30_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_25_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_22_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_AIM_17_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TTYPE_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXS_9.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXD_5.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHAS_11.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_1.VALUE=1 +DRIVER.PINMUX.VAR.DMA_FIDXD_6.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHAS_12.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_2.VALUE=1 +DRIVER.PINMUX.VAR.SPI2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_7.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHAS_13.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_3.VALUE=1 +DRIVER.PINMUX.VAR.DMA_FIDXD_8.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHAS_14.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_4.VALUE=1 +DRIVER.PINMUX.VAR.SPI4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_30_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_24_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_22_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_16_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXD_9.VALUE=0 +DRIVER.PINMUX.VAR.DMA_AIM_2_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHAS_15.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_5.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTASS_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.RMII.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHAS_16.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_6.VALUE=1 +DRIVER.PINMUX.VAR.PINMUX0.VALUE="PINMUX_PIN_1_GIOB_3 | PINMUX_PIN_2_GIOA_0 | PINMUX_PIN_3_I2C_SCL | PINMUX_PIN_4_MIBSPI3NCS_2" +DRIVER.PINMUX.VAR.MUX99_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_7.VALUE=1 +DRIVER.PINMUX.VAR.PINMUX1.VALUE="PINMUX_PIN_5_GIOA_1 | PINMUX_PIN_6_MIBSPI3NCS_4" +DRIVER.PINMUX.VAR.MUX99_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_10.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_INTLFSEN_8.VALUE=1 +DRIVER.PINMUX.VAR.PINMUX2.VALUE="PINMUX_PIN_9_GIOA_2 | PINMUX_PIN_14_GIOA_5" +DRIVER.PINMUX.VAR.MUX99_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX81_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX73_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX65_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX57_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.MUX49_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_11.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_PRITY_14_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_INTLFSEN_9.VALUE=1 +DRIVER.PINMUX.VAR.DMA_INTMP_5_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ACC_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.PINMUX3.VALUE="PINMUX_PIN_15_HET1_22 | PINMUX_PIN_16_GIOA_6" +DRIVER.PINMUX.VAR.MUX99_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_20.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_12.VALUE=8BIT +DRIVER.PINMUX.VAR.ETPWM4_EQEPERR12.VALUE=EQEPERR12 +DRIVER.PINMUX.VAR.PINMUX4.VALUE="PINMUX_PIN_22_GIOA_7 | PINMUX_PIN_23_HET1_01 | PINMUX_PIN_24_HET1_03" +DRIVER.PINMUX.VAR.MUX101_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX99_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_21.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_13.VALUE=8BIT +DRIVER.PINMUX.VAR.PINMUX5.VALUE="PINMUX_PIN_25_HET1_0 | PINMUX_PIN_30_HET1_02 | PINMUX_PIN_31_HET1_05" +DRIVER.PINMUX.VAR.MUX101_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_30.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_22.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_14.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_10.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_0.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.PINMUX6.VALUE="PINMUX_PIN_33_HET1_07 | PINMUX_PIN_35_HET1_09" +DRIVER.PINMUX.VAR.MUX101_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_31.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_23.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_15.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_11.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_1_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_1.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHPR_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.ALT_ADC_A.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX7.VALUE="PINMUX_PIN_37_MIBSPI3NCS_1 | PINMUX_PIN_38_SCIRX" +DRIVER.PINMUX.VAR.MUX101_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_24.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_20.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_16.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_12.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_2.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.ALT_ADC_B.VALUE=0 +DRIVER.PINMUX.VAR.PINMUX8.VALUE="PINMUX_PIN_39_SCITX | PINMUX_PIN_40_MIBSPI1NCS_2 | PINMUX_PIN_41_HET1_15" +DRIVER.PINMUX.VAR.MUX101_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX92_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_25.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_21.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_17.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_13.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_3.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.PINMUX9.VALUE="PINMUX_PIN_54_MIBSPI3NCS_5 | PINMUX_PIN_55_MIBSPI3NCS_0" +DRIVER.PINMUX.VAR.MUX92_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_30.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_26.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_22.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_18.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_14.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_4.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.MUX92_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.MUX4_CONFLICT.VALUE=0 +DRIVER.PINMUX.VAR.PIN_MUX_104_SELECT.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_31.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_31_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_27.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_26_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXS_23.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_23_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_19.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_18_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXS_15.VALUE=0 +DRIVER.PINMUX.VAR.DMA_ADDMW_15_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_ADDMR_7_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_CHANNEL_5.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_4_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_WRITE_ELSIZE_3_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_TRIG_11_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.MUX92_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION3.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_28.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_24.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_16.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_6.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.MUX92_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX84_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX76_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX68_OPTION4.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION0.VALUE=0 +DRIVER.PINMUX.VAR.DMA_READ_ELSIZE_29.VALUE=8BIT +DRIVER.PINMUX.VAR.DMA_EIDXS_25.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_17.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_7.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.MUX7_OPTION1.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_26.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_18.VALUE=0 +DRIVER.PINMUX.VAR.DMA_FIDXD_10.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_8.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_TTYPE_0.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_0.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION2.VALUE=0 +DRIVER.PINMUX.VAR.DMA_EIDXS_27.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_27_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_EIDXS_19.VALUE=0 +DRIVER.PINMUX.VAR.DMA_TTYPE_19_VALUE.VALUE=0x0001 +DRIVER.PINMUX.VAR.DMA_FIDXD_11.VALUE=0 +DRIVER.PINMUX.VAR.DMA_CHANNEL_9.VALUE=CHANNEL0 +DRIVER.PINMUX.VAR.DMA_TTYPE_1.VALUE=FRAME_TRANSFER +DRIVER.PINMUX.VAR.DMA_CP0_IDADDR_1.VALUE=0 +DRIVER.PINMUX.VAR.MUX7_OPTION3.VALUE=0 +DRIVER.CRC.VAR.CRC_CH2_PSIH.VALUE=0 +DRIVER.CRC.VAR.HTU_CPB_7_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_CH2_PSIL.VALUE=0 +DRIVER.CRC.VAR.HTU_DCP0_TRDIR_1.VALUE=HET_TO_MAIN_MEM +DRIVER.CRC.VAR.CRC_CH1_CCI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPBL_7_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_5_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPB_1_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_DEBMOD_1.VALUE=0 +DRIVER.CRC.VAR.CRC_CH1_CFI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPAL_1_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ENABUS_1.VALUE=0 +DRIVER.CRC.VAR.HTU_CPA_2_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_CH2_WDTO.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC_CH2_CCI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_MP1_ACC_1.VALUE=READ_ONLY +DRIVER.CRC.VAR.HTU_CONTPAR_1.VALUE=0 +DRIVER.CRC.VAR.CRC_CH2_CFI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPB_6_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_DCP0_EC_1.VALUE=0 +DRIVER.CRC.VAR.HTU_DCP0_CPBFULADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPAL_6_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_CPA_7_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_CPB_3_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_CH1_DTE.VALUE=0 +DRIVER.CRC.VAR.HTU_DCP0_FC_1.VALUE=0 +DRIVER.CRC.VAR.CRC_CH1_CVH.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC_CH1_PSSIH.VALUE=0 +DRIVER.CRC.VAR.HTU_BASE.VALUE=0xFFF7A400 +DRIVER.CRC.VAR.CRC_CH1_CVL.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC_CH1_PSSIL.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPBL_3_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_1_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_CH2_DTE.VALUE=1 +DRIVER.CRC.VAR.CRC_CH2_CVH.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC_CH2_CVL.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC_CH1_PCP.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPA_6_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPB_2_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_CH1_SCP.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_DCP0_CPAFULADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPAL_2_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.CRC_CH2_PCP.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_CPA_3_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_CH1_PSA.VALUE=1 +DRIVER.CRC.VAR.CRC_CH1_ORI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC_CH2_SCP.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_MP1_STADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPB_7_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_CH1_TOE.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPAL_7_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.CRC_CH2_PSA.VALUE=1 +DRIVER.CRC.VAR.CRC_CH2_ORI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_CPB_4_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_MP0_ENA_1.VALUE=0 +DRIVER.CRC.VAR.CRC_CH2_MODE_VALUE.VALUE=0x0001 +DRIVER.CRC.VAR.CRC_CH1_URI.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC_CH2_PSSIH.VALUE=0 +DRIVER.CRC.VAR.CRC_CH2_TOE.VALUE=0x00000000 +DRIVER.CRC.VAR.CRC_CH2_PSSIL.VALUE=0 +DRIVER.CRC.VAR.CRC_CH1_BCTO.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_ICPBL_4_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_2_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_PAR_1.VALUE=0 +DRIVER.CRC.VAR.CRC_CH2_URI.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_CONT_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ENAREQ_1.VALUE=0 +DRIVER.CRC.VAR.HTU_MP1_ERRENA_1.VALUE=0 +DRIVER.CRC.VAR.HTU_MP0_STADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPA_7_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPB_3_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPAL_3_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_CPA_4_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_CPB_0_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_CH2_BCTO.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_DCP0_MMADD_1.VALUE=POST_INCREMENT +DRIVER.CRC.VAR.HTU_ENAINTMAP_1.VALUE=0 +DRIVER.CRC.VAR.CRC_CH1_MODE_VALUE.VALUE=0x0001 +DRIVER.CRC.VAR.HTU_ICPBL_0_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_CPB_5_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_MP1_ENA_1.VALUE=0 +DRIVER.CRC.VAR.HTU_DCP0_HETADD.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPBL_5_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_3_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_CPA_0_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_RES_1.VALUE=0 +DRIVER.CRC.VAR.HTU_DCP0_CPATMOD_1.VALUE=POST_INCREMENT +DRIVER.CRC.VAR.HTU_MP1_ENDADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPB_4_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_BASE.VALUE=0xFE000000 +DRIVER.CRC.VAR.HTU_ICPAL_4_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.CRC_CH1_MODE.VALUE=FULL_CPU +DRIVER.CRC.VAR.HTU_CPA_5_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_CPB_1_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_VBHOLD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_MP0_ERRENA_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPBL_1_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_CPB_6_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.CRC_CH2_MODE.VALUE=FULL_CPU +DRIVER.CRC.VAR.HTU_DCP0_TRDAT_1.VALUE=32BIT +DRIVER.CRC.VAR.HTU_ICPBL_6_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_4_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPB_0_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPAL_0_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_CPA_1_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_DCP0_CPBTMOD_1.VALUE=POST_INCREMENT +DRIVER.CRC.VAR.CRC_CH1_PSIH.VALUE=0 +DRIVER.CRC.VAR.HTU_MP0_ACC_1.VALUE=READ_ONLY +DRIVER.CRC.VAR.CRC_CH1_PSIL.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPB_5_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ICPAL_5_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_DCP0_ADMOD_1.VALUE=INCREMENT_16BIT +DRIVER.CRC.VAR.HTU_CPA_6_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_CPB_2_SEL_1.VALUE=ENABLE +DRIVER.CRC.VAR.HTU_ENA_1.VALUE=0 +DRIVER.CRC.VAR.CRC_CH1_WDTO.VALUE=0x00000000 +DRIVER.CRC.VAR.HTU_MP0_ENDADD_1.VALUE=0 +DRIVER.CRC.VAR.HTU_ICPBL_2_SEL_1.VALUE=HIGH +DRIVER.CRC.VAR.HTU_ICPA_0_SEL_1.VALUE=ENABLE +DRIVER.EMAC.VAR.EMAC_ADD1.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD2.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD3.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD4.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD5.VALUE=FF +DRIVER.EMAC.VAR.EMAC_ADD6.VALUE=FF +DRIVER.EMAC.VAR.EMAC_CTRL_BASE.VALUE=0xFCF78800 +DRIVER.EMAC.VAR.EMAC_LOOPBACK_ENA.VALUE=0 +DRIVER.EMAC.VAR.MDIO_BASE.VALUE=0xFCF78900 +DRIVER.EMAC.VAR.EMAC_BASE.VALUE=0xFCF78000 +DRIVER.EMAC.VAR.EMAC_BASE_PORT.VALUE=0xFFFFFFFF +DRIVER.EMAC.VAR.EMAC_TRANSMIT_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_CHANNELNUMBER.VALUE=0 +DRIVER.EMAC.VAR.EMAC_RX_PBUF_ALLOC.VALUE=10 +DRIVER.EMAC.VAR.EMAC_UNICAST_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_FULL_DUPLEX_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_PHYADDRESS.VALUE=0 +DRIVER.EMAC.VAR.EMAC_MII_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_CTRL_RAM_BASE.VALUE=0xFC520000 +DRIVER.EMAC.VAR.EMAC_BROADCAST_ENA.VALUE=1 +DRIVER.EMAC.VAR.EMAC_RECEIVE_ENA.VALUE=1 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TAVAV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_EXTENDED_WAIT.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TA.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_WAIT.VALUE=pin0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_NOR_FLASH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TEHQZ.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TA.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ENA_SDRAM.VALUE=1 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TELQV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_ENA.VALUE=1 +DRIVER.EMIF.VAR.EMIF_SDRAM_REFRESH_CYCLES.VALUE=0 +DRIVER.EMIF.VAR.EMIF_AVAILABLE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TEHEL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_ENA.VALUE=1 +DRIVER.EMIF.VAR.EMIF_ASYNC1_R_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TELEH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_STROBE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_ENA.VALUE=1 +DRIVER.EMIF.VAR.EMIF_ASYNC1_ASIZE.VALUE=8_bit +DRIVER.EMIF.VAR.EMIF_SDRAM_TRC_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TAVAV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_BANKS.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_DELAY_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRAS_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRRD_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_BASE.VALUE=0xFCFFE800 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TEHQZ.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_W_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TELQV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_SIZE.VALUE=4_words +DRIVER.EMIF.VAR.EMIF_CLKFRQ.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_W_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_ASYNC2_R_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_SDRAM_TREFRESH_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_R_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_SDRAM_TXSR_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TSU.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_EXTENDED_WAIT.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_ASIZE.VALUE=8_bit +DRIVER.EMIF.VAR.EMIF_ASYNC2_TSU.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_W_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_ASYNC3_NOR_FLASH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_DELAY_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_W_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_SDRAM_INIT_TIME.VALUE=200 +DRIVER.EMIF.VAR.EMIF_SDRAM_TREFRESH_DEFAULT.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_TSU.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_STROBE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_R_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_SDRAM_TWR_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_R_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_CLK.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRCD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_W_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRFC.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_ASIZE.VALUE=8_bit +DRIVER.EMIF.VAR.EMIF_SDRAM_TRAS.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_NOR_FLASH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_DELAY.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_CAS_LATENCY.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC_WAIT_POLARITY0.VALUE=pin_low +DRIVER.EMIF.VAR.EMIF_SDRAM_TRCD_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC_WAIT_POLARITY1.VALUE=pin_high +DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_R_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRC.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRRD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_DELAY_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_W_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TEHEL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC_MAX_EXT_WAIT.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRP.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_PAGE_SIZE.VALUE=4_words +DRIVER.EMIF.VAR.EMIF_ASYNC1_W_SETUP.VALUE=15 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TELEH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_MS.VALUE=0.001 +DRIVER.EMIF.VAR.EMIF_NS.VALUE=0.000000001 +DRIVER.EMIF.VAR.EMIF_SDRAM_TWR.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_EXTENDED_WAIT.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_REFRESH_PERIOD.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC3_R_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TAVAV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_PAGE_DELAY.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_WAIT.VALUE=pin0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TXSR.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TEHQZ.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_R_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TELQV.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_STROBE_MODE.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRP_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_W_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_SIZE.VALUE=4_words +DRIVER.EMIF.VAR.EMIF_ASYNC2_WAIT.VALUE=pin0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TEHEL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_SDRAM_TRFC_VAL.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_R_HOLD.VALUE=7 +DRIVER.EMIF.VAR.EMIF_SDRAM_PAGE_SIZE.VALUE=elements_256 +DRIVER.EMIF.VAR.EMIF_ASYNC2_TELEH.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC1_PAGE_DELAY.VALUE=0 +DRIVER.EMIF.VAR.EMIF_IBANK.VALUE=0 +DRIVER.EMIF.VAR.EMIF_ASYNC2_W_STROBE.VALUE=63 +DRIVER.EMIF.VAR.EMIF_ASYNC1_TA.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD28.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD29.VALUE=0 +DRIVER.POM.VAR.POM_REGION_10_ENA.VALUE=1 +DRIVER.POM.VAR.POM_TIMEOUT_ENABLE.VALUE=0 +DRIVER.POM.VAR.POM_REGION_11_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_20_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_12_ENA.VALUE=1 +DRIVER.POM.VAR.POM_NO_OF_REGION.VALUE=1 +DRIVER.POM.VAR.POM_REGION_21_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_13_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_30_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_22_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_14_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_31_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_23_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_15_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_1_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_32_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_24_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_16_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_2_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_25_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_17_ENA.VALUE=1 +DRIVER.POM.VAR.POM_OVRLY_START_ADD1.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD2.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD3.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD4.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD5.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD6.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD7.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD8.VALUE=0 +DRIVER.POM.VAR.POM_OVLY_TRG_REGION.VALUE=INTERNAL_RAM +DRIVER.POM.VAR.POM_OVRLY_START_ADD9.VALUE=0 +DRIVER.POM.VAR.POM_REGION_3_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_26_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_18_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_4_ENA.VALUE=0 +DRIVER.POM.VAR.POM_REGION_27_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_19_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_5_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_28_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_6_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_SIZE10.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE11.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE20.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE12.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_29_ENA.VALUE=1 +DRIVER.POM.VAR.POM_REGION_SIZE21.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE13.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE30.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE22.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE14.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE31.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE23.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE15.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE32.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE24.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE16.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE25.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE17.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE26.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE18.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE27.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE19.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE28.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE29.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_7_ENA.VALUE=1 +DRIVER.POM.VAR.POM_BASE.VALUE=0xFFA04000 +DRIVER.POM.VAR.POM_PROG_START_ADD10.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD11.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD20.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD12.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD21.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD13.VALUE=0 +DRIVER.POM.VAR.POM_REGION_8_ENA.VALUE=1 +DRIVER.POM.VAR.POM_PROG_START_ADD30.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD22.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD14.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD31.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD23.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD15.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD32.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD24.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD16.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD25.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD17.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD26.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD18.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD27.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD19.VALUE=0 +DRIVER.POM.VAR.POM_REGION_SIZE1.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_PROG_START_ADD28.VALUE=0 +DRIVER.POM.VAR.POM_REGION_SIZE2.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_PROG_START_ADD29.VALUE=0 +DRIVER.POM.VAR.POM_REGION_SIZE3.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE4.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE5.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE6.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE7.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE8.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_SIZE9.VALUE=SIZE_64BYTES +DRIVER.POM.VAR.POM_REGION_9_ENA.VALUE=1 +DRIVER.POM.VAR.POM_PROG_START_ADD1.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD2.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD3.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD4.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD5.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD6.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD7.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD8.VALUE=0 +DRIVER.POM.VAR.POM_PROG_START_ADD9.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD10.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD11.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD20.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD12.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD21.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD13.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD30.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD22.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD14.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD31.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD23.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD15.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD32.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD24.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD16.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD25.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD17.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD26.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD18.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD27.VALUE=0 +DRIVER.POM.VAR.POM_OVRLY_START_ADD19.VALUE=0 +DRIVER.PMM.VAR.PMM_RAM_PWR_DOMAIN2_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_PWR_DOMAIN5_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_PWR_DOMAIN3_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_RAM_PWR_DOMAIN3_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_RAM_PWR_DOMAIN1_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_PWR_DOMAIN4_ENABLE.VALUE=0 +DRIVER.PMM.VAR.PMM_PWR_DOMAIN2_ENABLE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM7_BASE.VALUE=0xFCF79200 +DRIVER.ETPWM.VAR.ETPWM5_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM6_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM6_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM7_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM4_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM1_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM6_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM3_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM1_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM6_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM6_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM6_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM5_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_TB_FREQUENCY.VALUE=90.000 +DRIVER.ETPWM.VAR.ETPWM4_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM6_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM3_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM2_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM5_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM3_TB_FREQUENCY.VALUE=90.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM2_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM1_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM3_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM6_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM4_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM4_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM6_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_CBC.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM3_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM6_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM1_BASE.VALUE=0xFCF78C00 +DRIVER.ETPWM.VAR.ETPWM6_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM1_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM4_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM6_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM3_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM3_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM3_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM2_BASE.VALUE=0xFCF78D00 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM7_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_TB_FREQUENCY.VALUE=90.000 +DRIVER.ETPWM.VAR.ETPWM5_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM3_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM5_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM4_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM3_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM5_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM4_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM7_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM1_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM2_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM4_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM2_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM4_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_TB_FREQUENCY.VALUE=90.000 +DRIVER.ETPWM.VAR.ETPWM4_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_BASE.VALUE=0xFCF78E00 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM2_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM4_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM7_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM7_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_FALLING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM3_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM1_TB_FREQUENCY.VALUE=90.000 +DRIVER.ETPWM.VAR.ETPWM3_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM5_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM5_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_OST.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_DUTYTIME.VALUE=50.000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_DEADBAND_INVERT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM3_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM4_BASE.VALUE=0xFCF78F00 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM4_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM5_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM2_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM2_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM7_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM1_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_PERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM1_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_TB_ACTUALFREQUENCY.VALUE=80.000 +DRIVER.ETPWM.VAR.ETPWM2_ENABLE_SOCA.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_ENABLE_SOCB.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM6_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM6_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTYTIME_REG.VALUE=3 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_SOCB_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM5_BASE.VALUE=0xFCF79000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM7_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM7_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM1_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM4_PWMB_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM7_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM7_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_PWMA_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM7_HSPCLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_CLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_PWMB_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_DEADBAND_OUTPUT.VALUE=PWMA_PWMB_NIL +DRIVER.ETPWM.VAR.ETPWM1_INTERRUPT_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM4_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM5_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM4_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM1_OSHT_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM4_OSHT_WIDTH_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM2_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM7_DCBEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_MODE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_DCBEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM2_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_CBC1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM5_TB_FREQUENCY.VALUE=90.000 +DRIVER.ETPWM.VAR.ETPWM1_SELECT_SOCA.VALUE=DCAEVT1 +DRIVER.ETPWM.VAR.ETPWM7_CBC2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM1_SELECT_SOCB.VALUE=DCBEVT1 +DRIVER.ETPWM.VAR.ETPWM7_CBC3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_PERIOD_REG.VALUE=1000 +DRIVER.ETPWM.VAR.ETPWM3_CHOPPER_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM2_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_CBC4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM6_CHOPPER_ACTUALPERIOD.VALUE=100.000 +DRIVER.ETPWM.VAR.ETPWM7_CBC5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_CBC6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM5_PWMA_COMPARE.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM1_CHOPPER_PERIOD_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMB_PERIOD_REG.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_FALLING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_RISING_EDGE_DELAY.VALUE=11.111 +DRIVER.ETPWM.VAR.ETPWM6_BASE.VALUE=0xFCF79100 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_DUTYTIME.VALUE=500.000 +DRIVER.ETPWM.VAR.ETPWM6_PWMB_ENA.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM5_OSHT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMB_RISING_EDGE_DELAY_REG.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_DEADBAND_INPUT.VALUE=PWMA_RED_FED +DRIVER.ETPWM.VAR.ETPWM5_PWMB_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT3.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_OSHT4.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM2_SELECT_EVENT.VALUE=NO_EVENT +DRIVER.ETPWM.VAR.ETPWM5_OSHT5.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM5_PWMB_DUTY.VALUE=50 +DRIVER.ETPWM.VAR.ETPWM5_OSHT6.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM7_OSHT_ACTUAL_WIDTH.VALUE=100 +DRIVER.ETPWM.VAR.ETPWM6_CLKDIV.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_PWMA_DEADBAND_OUT.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM7_HSPCLKDIV_REG.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM2_CHOPPER_DUTY_NEW.VALUE=50.0 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_PERIOD.VALUE=1000.000 +DRIVER.ETPWM.VAR.ETPWM2_TB_FREQUENCY.VALUE=90.000 +DRIVER.ETPWM.VAR.ETPWM6_DCAEVT1.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM3_PWMA_POLARITY.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM6_SOCA_PERIOD.VALUE=1 +DRIVER.ETPWM.VAR.ETPWM6_DCAEVT2.VALUE=0x0000 +DRIVER.ETPWM.VAR.ETPWM4_FDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_RDELAY_SOURCE.VALUE=0 +DRIVER.ETPWM.VAR.ETPWM1_PWMA_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP1_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP4_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP5_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP4_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP5_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP5_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP5_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP3_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP2_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP6_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP2_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP5_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP1_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP1_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP5_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP1_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP2_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP4_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP6_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP4_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP1_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP6_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP5_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP6_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP5_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP1_BASE.VALUE=0xFCF79300 +DRIVER.ECAP.VAR.ECAP4_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP2_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP4_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP5_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP1_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP4_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP2_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP2_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP6_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_BASE.VALUE=0xFCF79400 +DRIVER.ECAP.VAR.ECAP2_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP2_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP6_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP5_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP3_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP3_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP3_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP1_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_BASE.VALUE=0xFCF79500 +DRIVER.ECAP.VAR.ECAP5_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP3_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP4_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP2_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP4_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_BASE.VALUE=0xFCF79600 +DRIVER.ECAP.VAR.ECAP6_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP4_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP3_CEVT4.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP6_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP5_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP4_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_PWM_ACTUALPERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP6_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP1_PWM_COMPARE.VALUE=50 +DRIVER.ECAP.VAR.ECAP2_CAP2_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP3_PWM_DUTYTIME.VALUE=500.000 +DRIVER.ECAP.VAR.ECAP3_CAP4_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP1_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_PWM_PERIOD.VALUE=1000.000 +DRIVER.ECAP.VAR.ECAP5_BASE.VALUE=0xFCF79700 +DRIVER.ECAP.VAR.ECAP3_ENA_PWM.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_WRAP_COUNTER.VALUE=CAPTURE_EVENT1 +DRIVER.ECAP.VAR.ECAP3_CAPTURE_MODE.VALUE=ONE_SHOT +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP1.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP2.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP3.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP1_RESET_COUNTER_CAP4.VALUE=RESET_DISABLE +DRIVER.ECAP.VAR.ECAP5_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_PWM_DUTY.VALUE=50 +DRIVER.ECAP.VAR.ECAP1_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_PRESCALE_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_PRESCALE.VALUE=0 +DRIVER.ECAP.VAR.ECAP2_CNTOVF.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP5_CAP1_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP1_PWM_PERIOD_REG.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_CMP.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP2_ENA_LOAD.VALUE=0 +DRIVER.ECAP.VAR.ECAP3_PRD.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP3_RESET_COUNTER.VALUE=0 +DRIVER.ECAP.VAR.ECAP6_BASE.VALUE=0xFCF79800 +DRIVER.ECAP.VAR.ECAP6_CAP3_POLARITY.VALUE=RISING_EDGE +DRIVER.ECAP.VAR.ECAP4_CEVT1.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_CEVT2.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_CEVT3.VALUE=0x0000 +DRIVER.ECAP.VAR.ECAP4_CEVT4.VALUE=0x0000 +DRIVER.EQEP.VAR.EQEP2_QUPRD.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_INDEX_EVT_INIT_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_IGATE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_QPE_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PC_RST_MODE.VALUE=MAX_POSITION +DRIVER.EQEP.VAR.EQEP1_UTO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SEL_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_INDEX_EVT_SELECT.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP2_PCE_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PCU_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_BASE.VALUE=0xFCF79900 +DRIVER.EQEP.VAR.EQEP1_INV_QEPS_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_INV_QEPA_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PCSHDW.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PC_INIT_VALUE.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP2_PCR_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_BASE.VALUE=0xFCF79A00 +DRIVER.EQEP.VAR.EQEP1_ENABLE_CAPTURE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_INV_QEPB_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_MAXPC_VALUE.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP1_PCM_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PCPOL.VALUE=ACTIVE_HIGH +DRIVER.EQEP.VAR.EQEP2_UNIT_POS_PRESCALER.VALUE=PS_512 +DRIVER.EQEP.VAR.EQEP2_CAP_CLK_PRESCALER.VALUE=PS_8 +DRIVER.EQEP.VAR.EQEP1_PCSPW.VALUE=0x000 +DRIVER.EQEP.VAR.EQEP1_POSCMP.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP2_PC_MODE.VALUE=DIRECTION_COUNT +DRIVER.EQEP.VAR.EQEP1_PCE_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_INV_QEPS_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SET_INIT_AT_STARTUP.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_ENABLE_CAPTURE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_STROBE_EVT_SELECT.VALUE=DIRECTON_DEPENDENT +DRIVER.EQEP.VAR.EQEP2_PCPOL.VALUE=ACTIVE_HIGH +DRIVER.EQEP.VAR.EQEP2_INV_QEPA_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_CAP_CLK_PRESCALER.VALUE=PS_8 +DRIVER.EQEP.VAR.EQEP2_QDC_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_QCLM.VALUE=ON_POSITION_COUNTER_READ +DRIVER.EQEP.VAR.EQEP1_PC_MODE.VALUE=DIRECTION_COUNT +DRIVER.EQEP.VAR.EQEP2_WTO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SWI_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PCR_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_INV_QEPB_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_IEL.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP2_PCSPW.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_PC_INIT_VALUE.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP1_PCLOAD.VALUE=QPOSCNT_EQ_QPSCMP +DRIVER.EQEP.VAR.EQEP2_IEL_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_IEL.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP1_MAXPC_VALUE.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP1_INV_QEPI_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_QCLM.VALUE=ON_POSITION_COUNTER_READ +DRIVER.EQEP.VAR.EQEP1_STROBE_EVT_INIT_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PCO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_STROBE_EVT_INIT_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_EXT_CLK_RATE.VALUE=RESOLUTION_1x +DRIVER.EQEP.VAR.EQEP1_STROBE_EVT_SELECT.VALUE=DIRECTON_DEPENDENT +DRIVER.EQEP.VAR.EQEP1_UNIT_POS_PRESCALER.VALUE=PS_512 +DRIVER.EQEP.VAR.EQEP1_WDPRD.VALUE=0x0000 +DRIVER.EQEP.VAR.EQEP1_SEL.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP1_SOEN.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_QPE_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PC_RST_MODE.VALUE=MAX_POSITION +DRIVER.EQEP.VAR.EQEP1_WDE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SET_INIT_AT_STARTUP.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_UTO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SWI_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_POSITIVE_ROTATION.VALUE=CLOCKWISE +DRIVER.EQEP.VAR.EQEP2_SEL_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SEL.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP2_PCU_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_WDE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SPSEL.VALUE=INDEX_PIN +DRIVER.EQEP.VAR.EQEP1_PCSHDW.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_SWAP.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SOEN.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_POSCMP.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_QUPRD.VALUE=0x00000000 +DRIVER.EQEP.VAR.EQEP1_IGATE.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_QDC_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_SWAP.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_WDPRD.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_WTO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_POSITIVE_ROTATION.VALUE=CLOCKWISE +DRIVER.EQEP.VAR.EQEP2_INV_QEPI_POL.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PCM_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP1_IEL_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_EXT_CLK_RATE.VALUE=RESOLUTION_1x +DRIVER.EQEP.VAR.EQEP2_SPSEL.VALUE=INDEX_PIN +DRIVER.EQEP.VAR.EQEP1_PCO_INT_ENA.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_INDEX_EVT_SELECT.VALUE=RISING_EDGE +DRIVER.EQEP.VAR.EQEP1_INDEX_EVT_INIT_ENABLE.VALUE=0 +DRIVER.EQEP.VAR.EQEP2_PCLOAD.VALUE=QPOSCNT_EQ_QPSCMP +DRIVER.FEE.VAR.FEE_START_SECTOR.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_READ_CYCLE_COUNT.VALUE=10 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_NUMBER_OF_VIRTUAL_SECTORS.VALUE=4 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX15_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX4_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_FLASH_CRC_ENABLE.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_NUMBER.VALUE=12 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_BANK.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_NUMBER.VALUE=3 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_NUMBER.VALUE=5 +DRIVER.FEE.VAR.FEE_SECTORS_EEP1.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_START.VALUE=4 +DRIVER.FEE.VAR.FEE_BLOCK_NUMBER.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_DRIVER_INDEX.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS5_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX9_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX13_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX2_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_NUMBER.VALUE=10 +DRIVER.FEE.VAR.FEE_NUMBER_OF_EEPS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_NUMBER.VALUE=8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_NUMBER.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_DEVICE_INDEX.VALUE=0 +DRIVER.FEE.VAR.FEE_PAGE_OVERHEAD.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_NUMBER.VALUE=3 +DRIVER.FEE.VAR.FEE_TI_FEE_SW_MAJOR_VERSION.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_END.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_START.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_SECTOR_NUMBER.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUALPAGE_SIZE.VALUE=8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_VS3_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX7_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_END.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX11_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_FLASH_WRITECOUNTER_SAVE.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VS_INDEX.VALUE=2 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_NUMBER.VALUE=15 +DRIVER.FEE.VAR.FEE_TI_FEE_SW_PATCH_VERSION.VALUE=0 +DRIVER.FEE.VAR.FEE_JOBERROR_NOTIFICATION.VALUE=JobErrorNotification +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_NUMBER.VALUE=6 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_END.VALUE=2 +DRIVER.FEE.VAR.FEE_BLOCK_SIZE.VALUE=0x10 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_TOTAL_BLOCKS_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_NUMBER.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_SIZE.VALUE=8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_END.VALUE=3 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_MAXIMUM_BLOCKING_TIME.VALUE=600 +DRIVER.FEE.VAR.FEE_VS1_ENABLE.VALUE=1 +DRIVER.FEE.VAR.FEE_NO_OF_UNCONFIGURED_BLOCKS_TO_COPY.VALUE=0 +DRIVER.FEE.VAR.FEE_FLASH_BANK_NUM.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX16_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX5_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_NUMBER.VALUE=13 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_5_END.VALUE=4 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_START.VALUE=1 +DRIVER.FEE.VAR.FEE_SECTOR_OVERHEAD.VALUE=16 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_NUMBER.VALUE=4 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_TI_FEE_SW_MINOR_VERSION.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_VERSIONINFO_API.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_DATASETS.VALUE=1 +DRIVER.FEE.VAR.MAX_BLOCK_TIME.VALUE=600 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_WRITE_CYCLES.VALUE=10 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_OFFSET.VALUE=16 +DRIVER.FEE.VAR.FEE_NUMBER_OF_BLOCKS.VALUE=1 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_BANK.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX14_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX3_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_NUMBER_OF_EIGHTBYTEWRITES.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_3_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_11_NUMBER.VALUE=11 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_NUMBER.VALUE=9 +DRIVER.FEE.VAR.FEE_END_SECTOR.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_1_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_NUMBER.VALUE=2 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_FLASH_ERROR_CORRECTION_HANDLING.VALUE=TI_Fee_None +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_NUMBER.VALUE=4 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_DEVERROR_DETECT.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_START.VALUE=2 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_1_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_VS4_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX8_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_MAX_NUMBER_OF_LINKS.VALUE=256 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_EEP.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX12_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX1_ENABLE.VALUE=1 +DRIVER.FEE.VAR.FEE_FLASH_ERROR_CORRECTION_ENABLE.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_DATASELECT_BITS.VALUE=0 +DRIVER.FEE.VAR.FEE_OPERATING_FREQ.VALUE=160.000 +DRIVER.FEE.VAR.FEE_TOTAL_SECTORS.VALUE=4 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_16_NUMBER.VALUE=16 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_2_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_NUMBER.VALUE=7 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_9_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_2_NUMBER.VALUE=2 +DRIVER.FEE.VAR.FEE_JOBEND_NOTIFICATION.VALUE=JobEndNotification +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_13_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_12_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_8_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_ENABLE_ECC.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_OVERHEAD.VALUE=24 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_7_DATASETS.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_4_OFFSET.VALUE=0 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_3_BANK.VALUE=7 +DRIVER.FEE.VAR.FEE_VS2_ENABLE.VALUE=1 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX6_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_DEVICE_INDEX.VALUE=0x00000000 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_10_SIZE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX10_ENABLE.VALUE=0 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_14_NUMBER.VALUE=14 +DRIVER.FEE.VAR.FEE_VIRTUAL_SECTOR_4_START.VALUE=3 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_15_IMED_DATA.VALUE=TRUE +DRIVER.FEE.VAR.FEE_CHECK_BANK7_ACCESS.VALUE=STD_OFF +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_WRITE_CYCLES.VALUE=0x8 +DRIVER.FEE.VAR.FEE_POLLING_MODE.VALUE=STD_ON +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_5_NUMBER.VALUE=5 +DRIVER.FEE.VAR.FEE_BLOCK_INDEX_6_SIZE.VALUE=0 +DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_2.VALUE=0xFFFDFFFE +DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_3.VALUE=0xFFEFFFFF +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_0.VALUE=0xEFFDFFFF +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_1.VALUE=0xFFFFFFFF +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_2.VALUE=0xFFFDFFFE +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_WORD_3.VALUE=0xFFEFFFFF +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_0.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_ECC_BYTE_0.VALUE=0xFF +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_1.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_VISIBLE_KEY_ECC_BYTE_1.VALUE=0xFF +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_2.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN_WORD_3.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_NEW_KEY_ECC_BYTE_0.VALUE=0xFF +DRIVER.AJSM.VAR.AJSM_NEW_KEY_ECC_BYTE_1.VALUE=0xFF +DRIVER.AJSM.VAR.AJSM_SCAN_PATTERN.VALUE=PATTERN_NOT_REQUIRED +DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_0.VALUE=0xEFFDFFFF +DRIVER.AJSM.VAR.AJSM_NEW_KEY_WORD_1.VALUE=0xFFFFFFFF diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/Device_TMS570LS12.h b/TestBoardFirmware/Testboard_HAL_drivers/include/Device_TMS570LS12.h index 0fdd0936..636ca470 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/Device_TMS570LS12.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/Device_TMS570LS12.h @@ -1,111 +1,111 @@ -/********************************************************************************************************************** - * FILE DESCRIPTION - * ------------------------------------------------------------------------------------------------------------------- - * File: Device_TMS570LS12.h - * Project: Tms570_TIFEEDriver - * Module: TIFEEDriver - * Generator: None - * - * Description: This file defines the number of sectors. - *--------------------------------------------------------------------------------------------------------------------- - * Author: Vishwanath Reddy - *--------------------------------------------------------------------------------------------------------------------- - * Revision History - *--------------------------------------------------------------------------------------------------------------------- - * Version Date Author Change ID Description - *--------------------------------------------------------------------------------------------------------------------- - * 01.15.00 06Jun2014 Vishwanath Reddy History Added. - *********************************************************************************************************************/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - /********************************************************************************************************************* - * INCLUDES - *********************************************************************************************************************/ - -#ifndef DEVICE_TMS570LS12x_H -#define DEVICE_TMS570LS12x_H - - -/** @def DEVICE_CONFIGURATION_VERSION -* @brief Device Configuration Version -* -* @note Indicates the current version of the device files -*/ -#define DEVICE_CONFIGURATION_VERSION 0U /* Indicates the current version of the device files */ - -/** @def DEVICE_NUMBER_OF_FLASH_BANKS -* @brief Number of Flash Banks -* -* @note Defines the number of Flash Banks on the device -*/ -#define DEVICE_NUMBER_OF_FLASH_BANKS 1U /* Defines the number of Flash Banks on the device */ - - -/** @def DEVICE_BANK_MAX_NUMBER_OF_SECTORS -* @brief Maximum number of Sectors -* -* @note Defines the maxium number of sectors in all banks -*/ -#define DEVICE_BANK_MAX_NUMBER_OF_SECTORS 4U /* Defines the maxium number of sectors in all banks */ - -/** @def DEVICE_BANK1_NUMBER_OF_SECTORS -* @brief Number of Sectors -* -* @note Defines the number of sectors in bank1 -*/ -#define DEVICE_BANK1_NUMBER_OF_SECTORS 4U /* Defines the number of sectors in bank1 */ - - -/** @def DEVICE_NUMBER_OF_READ_CYCLE_THRESHOLDS -* @brief Number of Sectors -* -* @note Defines the number of Read Cycle Thresholds -*/ -#define DEVICE_NUMBER_OF_READ_CYCLE_THRESHOLDS 4U /* Defines the number of Read Cycle Thresholds */ - - -/* Include Files */ -#ifndef _PLATFORM_TYPES_H_ -#define _PLATFORM_TYPES_H_ -#endif -#include "F021.h" -#include "hal_stdtypes.h" -#include "Device_types.h" - -#endif /* DEVICE_TMS570LS12x_H */ - -/* End of File */ +/********************************************************************************************************************** + * FILE DESCRIPTION + * ------------------------------------------------------------------------------------------------------------------- + * File: Device_TMS570LS12.h + * Project: Tms570_TIFEEDriver + * Module: TIFEEDriver + * Generator: None + * + * Description: This file defines the number of sectors. + *--------------------------------------------------------------------------------------------------------------------- + * Author: Vishwanath Reddy + *--------------------------------------------------------------------------------------------------------------------- + * Revision History + *--------------------------------------------------------------------------------------------------------------------- + * Version Date Author Change ID Description + *--------------------------------------------------------------------------------------------------------------------- + * 01.15.00 06Jun2014 Vishwanath Reddy History Added. + *********************************************************************************************************************/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + /********************************************************************************************************************* + * INCLUDES + *********************************************************************************************************************/ + +#ifndef DEVICE_TMS570LS12x_H +#define DEVICE_TMS570LS12x_H + + +/** @def DEVICE_CONFIGURATION_VERSION +* @brief Device Configuration Version +* +* @note Indicates the current version of the device files +*/ +#define DEVICE_CONFIGURATION_VERSION 0U /* Indicates the current version of the device files */ + +/** @def DEVICE_NUMBER_OF_FLASH_BANKS +* @brief Number of Flash Banks +* +* @note Defines the number of Flash Banks on the device +*/ +#define DEVICE_NUMBER_OF_FLASH_BANKS 1U /* Defines the number of Flash Banks on the device */ + + +/** @def DEVICE_BANK_MAX_NUMBER_OF_SECTORS +* @brief Maximum number of Sectors +* +* @note Defines the maxium number of sectors in all banks +*/ +#define DEVICE_BANK_MAX_NUMBER_OF_SECTORS 4U /* Defines the maxium number of sectors in all banks */ + +/** @def DEVICE_BANK1_NUMBER_OF_SECTORS +* @brief Number of Sectors +* +* @note Defines the number of sectors in bank1 +*/ +#define DEVICE_BANK1_NUMBER_OF_SECTORS 4U /* Defines the number of sectors in bank1 */ + + +/** @def DEVICE_NUMBER_OF_READ_CYCLE_THRESHOLDS +* @brief Number of Sectors +* +* @note Defines the number of Read Cycle Thresholds +*/ +#define DEVICE_NUMBER_OF_READ_CYCLE_THRESHOLDS 4U /* Defines the number of Read Cycle Thresholds */ + + +/* Include Files */ +#ifndef _PLATFORM_TYPES_H_ +#define _PLATFORM_TYPES_H_ +#endif +#include "F021.h" +#include "hal_stdtypes.h" +#include "Device_types.h" + +#endif /* DEVICE_TMS570LS12x_H */ + +/* End of File */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/Device_header.h b/TestBoardFirmware/Testboard_HAL_drivers/include/Device_header.h index e9adfa4a..05b74152 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/Device_header.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/Device_header.h @@ -1,67 +1,67 @@ -/********************************************************************************************************************** - * FILE DESCRIPTION - * ------------------------------------------------------------------------------------------------------------------- - * File: Device_header.h - * Project: Tms570_TIFEEDriver - * Module: TIFEEDriver - * Generator: None - * - * Description: This file includes the header file. - *--------------------------------------------------------------------------------------------------------------------- - * Author: Vishwanath Reddy - *--------------------------------------------------------------------------------------------------------------------- - * Revision History - *--------------------------------------------------------------------------------------------------------------------- - * Version Date Author Change ID Description - *--------------------------------------------------------------------------------------------------------------------- - * 01.15.00 06Jun2014 Vishwanath Reddy History Added. - *********************************************************************************************************************/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - /********************************************************************************************************************* - * INCLUDES - *********************************************************************************************************************/ - -#ifndef TI_FEE_DEVICEHEADER_H -#define TI_FEE_DEVICEHEADER_H - -/* Uncomment the appropriate include file depending on the device you are using */ -#include "Device_TMS570LS12.h" - -/* End of file */ -#endif - +/********************************************************************************************************************** + * FILE DESCRIPTION + * ------------------------------------------------------------------------------------------------------------------- + * File: Device_header.h + * Project: Tms570_TIFEEDriver + * Module: TIFEEDriver + * Generator: None + * + * Description: This file includes the header file. + *--------------------------------------------------------------------------------------------------------------------- + * Author: Vishwanath Reddy + *--------------------------------------------------------------------------------------------------------------------- + * Revision History + *--------------------------------------------------------------------------------------------------------------------- + * Version Date Author Change ID Description + *--------------------------------------------------------------------------------------------------------------------- + * 01.15.00 06Jun2014 Vishwanath Reddy History Added. + *********************************************************************************************************************/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + /********************************************************************************************************************* + * INCLUDES + *********************************************************************************************************************/ + +#ifndef TI_FEE_DEVICEHEADER_H +#define TI_FEE_DEVICEHEADER_H + +/* Uncomment the appropriate include file depending on the device you are using */ +#include "Device_TMS570LS12.h" + +/* End of file */ +#endif + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/Device_types.h b/TestBoardFirmware/Testboard_HAL_drivers/include/Device_types.h index b4dc05ca..49326c40 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/Device_types.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/Device_types.h @@ -1,116 +1,116 @@ -/********************************************************************************************************************** - * FILE DESCRIPTION - * ------------------------------------------------------------------------------------------------------------------- - * File: Device_types.h - * Project: Tms570_TIFEEDriver - * Module: TIFEEDriver - * Generator: None - * - * Description: This file defines the structures. - *--------------------------------------------------------------------------------------------------------------------- - * Author: Vishwanath Reddy - *--------------------------------------------------------------------------------------------------------------------- - * Revision History - *--------------------------------------------------------------------------------------------------------------------- - * Version Date Author Change ID Description - *--------------------------------------------------------------------------------------------------------------------- - * 01.15.00 06Jun2014 Vishwanath Reddy History Added. - *********************************************************************************************************************/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - /********************************************************************************************************************* - * INCLUDES - *********************************************************************************************************************/ - - -#ifndef DEVICE_TYPES_H -#define DEVICE_TYPES_H - -#include "hal_stdtypes.h" - -/* Enum to describe the type of error handling on the device */ -typedef enum -{ - Device_ErrorHandlingNone, /* Device has no error handling */ - Device_ErrorHandlingParity, /* Device has parity error handling */ - Device_ErrorHandlingEcc /* Device has ECC error handling */ -} Device_FlashErrorCorrectionProcessType; - -/* Enum to describe the ARM core on the device*/ -typedef enum -{ - Device_CoreNone, /* To indicate that the device has a single core */ - Device_Arm7, /* To indicate that the device has a ARM7 core */ - Device_CortexR4, /* To indicate that the device has a CortexR4 core */ - Device_CortexM3 /* To indicate that the device has a CortexM3 core */ -}Device_ArmCoreType; - -/* Structure defines an individual sector within a bank */ -typedef struct -{ - Fapi_FlashSectorType Device_Sector; /* Sector number */ - uint32 Device_SectorStartAddress; /* Starting address of the sector */ - uint32 Device_SectorLength; /* Length of the sector */ - uint32 Device_MaxWriteCycles; /* Number of cycles the sector is rated for */ - uint32 Device_EccAddress; - uint32 Device_EccLength; -} Device_SectorType; - -/* Structure defines an individual bank */ -typedef struct -{ - Fapi_FmcRegistersType * Device_ControlRegister; - Fapi_FlashBankType Device_Core; /* Core number for this bank */ - Device_SectorType Device_SectorInfo[DEVICE_BANK_MAX_NUMBER_OF_SECTORS]; /* Array of the Sectors within a bank */ -} Device_BankType; - -/* Structure defines the Flash structure of the device */ -typedef struct -{ - uint8 Device_DeviceName[12]; /* Device name */ - uint32 Device_EngineeringId; /* Device Engineering ID */ - Device_FlashErrorCorrectionProcessType Device_FlashErrorHandlingProcessInfo; /* Indicates which type of bit Error handling is on the device */ - Device_ArmCoreType Device_MasterCore; /* Indicates the Master core type on the device */ - boolean Device_SupportsInterrupts; /* Indicates if the device supports Flash interrupts for processing Flash */ - uint32 Device_NominalWriteTime; /* Nominal time for one write command operation in uS */ - uint32 Device_MaximumWriteTime; /* Maximum time for one write command operation in uS */ - Device_BankType Device_BankInfo[DEVICE_NUMBER_OF_FLASH_BANKS]; /* Array of Banks on the device */ -} Device_FlashType; - -#endif /* DEVICE_TYPES_H */ - -/* End of File */ +/********************************************************************************************************************** + * FILE DESCRIPTION + * ------------------------------------------------------------------------------------------------------------------- + * File: Device_types.h + * Project: Tms570_TIFEEDriver + * Module: TIFEEDriver + * Generator: None + * + * Description: This file defines the structures. + *--------------------------------------------------------------------------------------------------------------------- + * Author: Vishwanath Reddy + *--------------------------------------------------------------------------------------------------------------------- + * Revision History + *--------------------------------------------------------------------------------------------------------------------- + * Version Date Author Change ID Description + *--------------------------------------------------------------------------------------------------------------------- + * 01.15.00 06Jun2014 Vishwanath Reddy History Added. + *********************************************************************************************************************/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + /********************************************************************************************************************* + * INCLUDES + *********************************************************************************************************************/ + + +#ifndef DEVICE_TYPES_H +#define DEVICE_TYPES_H + +#include "hal_stdtypes.h" + +/* Enum to describe the type of error handling on the device */ +typedef enum +{ + Device_ErrorHandlingNone, /* Device has no error handling */ + Device_ErrorHandlingParity, /* Device has parity error handling */ + Device_ErrorHandlingEcc /* Device has ECC error handling */ +} Device_FlashErrorCorrectionProcessType; + +/* Enum to describe the ARM core on the device*/ +typedef enum +{ + Device_CoreNone, /* To indicate that the device has a single core */ + Device_Arm7, /* To indicate that the device has a ARM7 core */ + Device_CortexR4, /* To indicate that the device has a CortexR4 core */ + Device_CortexM3 /* To indicate that the device has a CortexM3 core */ +}Device_ArmCoreType; + +/* Structure defines an individual sector within a bank */ +typedef struct +{ + Fapi_FlashSectorType Device_Sector; /* Sector number */ + uint32 Device_SectorStartAddress; /* Starting address of the sector */ + uint32 Device_SectorLength; /* Length of the sector */ + uint32 Device_MaxWriteCycles; /* Number of cycles the sector is rated for */ + uint32 Device_EccAddress; + uint32 Device_EccLength; +} Device_SectorType; + +/* Structure defines an individual bank */ +typedef struct +{ + Fapi_FmcRegistersType * Device_ControlRegister; + Fapi_FlashBankType Device_Core; /* Core number for this bank */ + Device_SectorType Device_SectorInfo[DEVICE_BANK_MAX_NUMBER_OF_SECTORS]; /* Array of the Sectors within a bank */ +} Device_BankType; + +/* Structure defines the Flash structure of the device */ +typedef struct +{ + uint8 Device_DeviceName[12]; /* Device name */ + uint32 Device_EngineeringId; /* Device Engineering ID */ + Device_FlashErrorCorrectionProcessType Device_FlashErrorHandlingProcessInfo; /* Indicates which type of bit Error handling is on the device */ + Device_ArmCoreType Device_MasterCore; /* Indicates the Master core type on the device */ + boolean Device_SupportsInterrupts; /* Indicates if the device supports Flash interrupts for processing Flash */ + uint32 Device_NominalWriteTime; /* Nominal time for one write command operation in uS */ + uint32 Device_MaximumWriteTime; /* Maximum time for one write command operation in uS */ + Device_BankType Device_BankInfo[DEVICE_NUMBER_OF_FLASH_BANKS]; /* Array of Banks on the device */ +} Device_FlashType; + +#endif /* DEVICE_TYPES_H */ + +/* End of File */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/MemMap.h b/TestBoardFirmware/Testboard_HAL_drivers/include/MemMap.h index 5abae66d..8aeb0f1c 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/MemMap.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/MemMap.h @@ -1,70 +1,70 @@ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -#ifndef __MEM_MAP_H__ -#define __MEM_MAP_H__ -/*FEE*/ -#ifdef FEE_START_SEC_VAR_INIT_UNSPECIFIED -#pragma SET_DATA_SECTION("FEE_DATA_SECTION") -#undef FEE_START_SEC_VAR_INIT_UNSPECIFIED -#endif - -#ifdef FEE_STOP_SEC_VAR_INIT_UNSPECIFIED -#pragma SET_DATA_SECTION() -#undef FEE_STOP_SEC_VAR_INIT_UNSPECIFIED -#endif - -#ifdef FEE_START_SEC_CONST_UNSPECIFIED -#pragma SET_DATA_SECTION("FEE_CONST_SECTION") -#undef FEE_START_SEC_CONST_UNSPECIFIED -#endif - -#ifdef FEE_STOP_SEC_CONST_UNSPECIFIED -#pragma SET_DATA_SECTION() -#undef FEE_STOP_SEC_CONST_UNSPECIFIED -#endif - -#ifdef FEE_START_SEC_CODE -#pragma SET_CODE_SECTION("FEE_TEXT_SECTION") -#undef FEE_START_SEC_CODE -#endif - -#ifdef FEE_STOP_SEC_CODE -#pragma SET_CODE_SECTION() -#undef FEE_STOP_SEC_CODE -#endif - - -#endif /* __MEM_MAP_H__ */ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +#ifndef __MEM_MAP_H__ +#define __MEM_MAP_H__ +/*FEE*/ +#ifdef FEE_START_SEC_VAR_INIT_UNSPECIFIED +#pragma SET_DATA_SECTION("FEE_DATA_SECTION") +#undef FEE_START_SEC_VAR_INIT_UNSPECIFIED +#endif + +#ifdef FEE_STOP_SEC_VAR_INIT_UNSPECIFIED +#pragma SET_DATA_SECTION() +#undef FEE_STOP_SEC_VAR_INIT_UNSPECIFIED +#endif + +#ifdef FEE_START_SEC_CONST_UNSPECIFIED +#pragma SET_DATA_SECTION("FEE_CONST_SECTION") +#undef FEE_START_SEC_CONST_UNSPECIFIED +#endif + +#ifdef FEE_STOP_SEC_CONST_UNSPECIFIED +#pragma SET_DATA_SECTION() +#undef FEE_STOP_SEC_CONST_UNSPECIFIED +#endif + +#ifdef FEE_START_SEC_CODE +#pragma SET_CODE_SECTION("FEE_TEXT_SECTION") +#undef FEE_START_SEC_CODE +#endif + +#ifdef FEE_STOP_SEC_CODE +#pragma SET_CODE_SECTION() +#undef FEE_STOP_SEC_CODE +#endif + + +#endif /* __MEM_MAP_H__ */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/adc.h b/TestBoardFirmware/Testboard_HAL_drivers/include/adc.h index 7a72468f..948d3456 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/adc.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/adc.h @@ -1,311 +1,311 @@ -/** @file adc.h -* @brief ADC Driver Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the ADC driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __ADC_H__ -#define __ADC_H__ - -#include "reg_adc.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* ADC General Definitions */ - -/** @def adcGROUP0 -* @brief Alias name for ADC event group -* -* @note This value should be used for API argument @a group -*/ -#define adcGROUP0 0U - -/** @def adcGROUP1 -* @brief Alias name for ADC group 1 -* -* @note This value should be used for API argument @a group -*/ -#define adcGROUP1 1U - -/** @def adcGROUP2 -* @brief Alias name for ADC group 2 -* -* @note This value should be used for API argument @a group -*/ -#define adcGROUP2 2U - -/** @def ADC_12_BIT_MODE -* @brief Alias name for ADC 12-bit mode of operation -*/ -#define ADC_12_BIT_MODE 0x80000000U - -/** @enum adcResolution -* @brief Alias names for data resolution -* This enumeration is used to provide alias names for the data resolution: -* - 12 bit resolution -* - 10 bit resolution -* - 8 bit resolution -*/ -enum adcResolution -{ - ADC_12_BIT = 0x00000000U, /**< Alias for 12 bit data resolution */ - ADC_10_BIT = 0x00000100U, /**< Alias for 10 bit data resolution */ - ADC_8_BIT = 0x00000200U /**< Alias for 8 bit data resolution */ -}; - -/** @enum adcFiFoStatus -* @brief Alias names for FiFo status -* This enumeration is used to provide alias names for the current FiFo states: -* - FiFo is not full -* - FiFo is full -* - FiFo overflow occurred -*/ - -enum adcFiFoStatus -{ - ADC_FIFO_IS_NOT_FULL = 0U, /**< Alias for FiFo is not full */ - ADC_FIFO_IS_FULL = 1U, /**< Alias for FiFo is full */ - ADC_FIFO_OVERFLOW = 3U /**< Alias for FiFo overflow occurred */ -}; - -/** @enum adcConversionStatus -* @brief Alias names for conversion status -* This enumeration is used to provide alias names for the current conversion states: -* - Conversion is not finished -* - Conversion is finished -*/ - -enum adcConversionStatus -{ - ADC_CONVERSION_IS_NOT_FINISHED = 0U, /**< Alias for current conversion is not finished */ - ADC_CONVERSION_IS_FINISHED = 8U /**< Alias for current conversion is finished */ -}; - -/** @enum adc1HwTriggerSource -* @brief Alias names for hardware trigger source -* This enumeration is used to provide alias names for the hardware trigger sources: -*/ - -enum adc1HwTriggerSource -{ - ADC1_EVENT = 0U, /**< Alias for event pin */ - ADC1_HET1_8 = 1U, /**< Alias for HET1 pin 8 */ - ADC1_HET1_10 = 2U, /**< Alias for HET1 pin 10 */ - ADC1_RTI_COMP0 = 3U, /**< Alias for RTI compare 0 match */ - ADC1_HET1_12 = 4U, /**< Alias for HET1 pin 12 */ - ADC1_HET1_14 = 5U, /**< Alias for HET1 pin 14 */ - ADC1_GIOB0 = 6U, /**< Alias for GIO port b pin 0 */ - ADC1_GIOB1 = 7U, /**< Alias for GIO port b pin 1 */ - - ADC1_HET2_5 = 1U, /**< Alias for HET2 pin 5 */ - ADC1_HET1_27 = 2U, /**< Alias for HET1 pin 27 */ - ADC1_HET1_17 = 4U, /**< Alias for HET1 pin 17 */ - ADC1_HET1_19 = 5U, /**< Alias for HET1 pin 19 */ - ADC1_HET1_11 = 6U, /**< Alias for HET1 pin 11 */ - ADC1_HET2_13 = 7U, /**< Alias for HET2 pin 13 */ - - ADC1_EPWM_B = 1U, /**< Alias for B Signal EPWM */ - ADC1_EPWM_A1 = 3U, /**< Alias for A1 Signal EPWM */ - ADC1_HET2_1 = 5U, /**< Alias for HET2 pin 1 */ - ADC1_EPWM_A2 = 6U, /**< Alias for A2 Signal EPWM */ - ADC1_EPWM_AB = 7U /**< Alias for AB Signal EPWM */ - -}; - -/** @enum adc2HwTriggerSource -* @brief Alias names for hardware trigger source -* This enumeration is used to provide alias names for the hardware trigger sources: -*/ - -enum adc2HwTriggerSource -{ - ADC2_EVENT = 0U, /**< Alias for event pin */ - ADC2_HET1_8 = 1U, /**< Alias for HET1 pin 8 */ - ADC2_HET1_10 = 2U, /**< Alias for HET1 pin 10 */ - ADC2_RTI_COMP0 = 3U, /**< Alias for RTI compare 0 match */ - ADC2_HET1_12 = 4U, /**< Alias for HET1 pin 12 */ - ADC2_HET1_14 = 5U, /**< Alias for HET1 pin 14 */ - ADC2_GIOB0 = 6U, /**< Alias for GIO port b pin 0 */ - ADC2_GIOB1 = 7U, /**< Alias for GIO port b pin 1 */ - ADC2_HET2_5 = 1U, /**< Alias for HET2 pin 5 */ - ADC2_HET1_27 = 2U, /**< Alias for HET1 pin 27 */ - ADC2_HET1_17 = 4U, /**< Alias for HET1 pin 17 */ - ADC2_HET1_19 = 5U, /**< Alias for HET1 pin 19 */ - ADC2_HET1_11 = 6U, /**< Alias for HET1 pin 11 */ - ADC2_HET2_13 = 7U, /**< Alias for HET2 pin 13 */ - - ADC2_EPWM_B = 1U, /**< Alias for B Signal EPWM */ - ADC2_EPWM_A1 = 3U, /**< Alias for A1 Signal EPWM */ - ADC2_HET2_1 = 5U, /**< Alias for HET2 pin 1 */ - ADC2_EPWM_A2 = 6U, /**< Alias for A2 Signal EPWM */ - ADC2_EPWM_AB = 7U /**< Alias for AB Signal EPWM */ - -}; - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @struct adcData -* @brief ADC Conversion data structure -* -* This type is used to pass adc conversion data. -*/ -/** @typedef adcData_t -* @brief ADC Data Type Definition -*/ -typedef struct adcData -{ - uint32 id; /**< Channel/Pin Id */ - uint16 value; /**< Conversion data value */ -} adcData_t; - - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -typedef struct adc_config_reg -{ - uint32 CONFIG_OPMODECR; - uint32 CONFIG_CLOCKCR; - uint32 CONFIG_GxMODECR[3U]; - uint32 CONFIG_G0SRC; - uint32 CONFIG_G1SRC; - uint32 CONFIG_G2SRC; - uint32 CONFIG_BNDCR; - uint32 CONFIG_BNDEND; - uint32 CONFIG_G0SAMP; - uint32 CONFIG_G1SAMP; - uint32 CONFIG_G2SAMP; - uint32 CONFIG_G0SAMPDISEN; - uint32 CONFIG_G1SAMPDISEN; - uint32 CONFIG_G2SAMPDISEN; - uint32 CONFIG_PARCR; -}adc_config_reg_t; - -#define ADC1_OPMODECR_CONFIGVALUE 0x81140001U -#define ADC1_CLOCKCR_CONFIGVALUE (7U) - -#define ADC1_G0MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000000U | (uint32)0x00000000U) -#define ADC1_G1MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000000U) -#define ADC1_G2MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000000U) - -#define ADC1_G0SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) -#define ADC1_G1SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) -#define ADC1_G2SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) - -#define ADC1_BNDCR_CONFIGVALUE ((uint32)((uint32)8U << 16U)|(8U + 8U)) -#define ADC1_BNDEND_CONFIGVALUE (2U) - -#define ADC1_G0SAMP_CONFIGVALUE (1U) -#define ADC1_G1SAMP_CONFIGVALUE (1U) -#define ADC1_G2SAMP_CONFIGVALUE (1U) - -#define ADC1_G0SAMPDISEN_CONFIGVALUE ((uint32)((uint32)0U << 8U) | 0x00000000U) -#define ADC1_G1SAMPDISEN_CONFIGVALUE ((uint32)((uint32)0U << 8U) | 0x00000000U) -#define ADC1_G2SAMPDISEN_CONFIGVALUE ((uint32)((uint32)0U << 8U) | 0x00000000U) - -#define ADC1_PARCR_CONFIGVALUE (0x00000005U) - - -/** - * @defgroup ADC ADC - * @brief Analog To Digital Converter Module. - * - * The microcontroller includes two 12-bit ADC modules with selectable 10-bit or 12-bit resolution - * - * Related Files - * - reg_adc.h - * - adc.h - * - adc.c - * @addtogroup ADC - * @{ - */ - -/* ADC Interface Functions */ - -void adcInit(void); -void adcStartConversion(adcBASE_t *adc, uint32 group); -void adcStopConversion(adcBASE_t *adc, uint32 group); -void adcResetFiFo(adcBASE_t *adc, uint32 group); -uint32 adcGetData(adcBASE_t *adc, uint32 group, adcData_t *data); -uint32 adcIsFifoFull(adcBASE_t *adc, uint32 group); -uint32 adcIsConversionComplete(adcBASE_t *adc, uint32 group); -void adcEnableNotification(adcBASE_t *adc, uint32 group); -void adcDisableNotification(adcBASE_t *adc, uint32 group); -void adcCalibration(adcBASE_t *adc); -uint32 adcMidPointCalibration(adcBASE_t *adc); -void adcSetEVTPin(adcBASE_t *adc, uint32 value); -uint32 adcGetEVTPin(adcBASE_t *adc); - -void adc1GetConfigValue(adc_config_reg_t *config_reg, config_value_type_t type); -void adc2GetConfigValue(adc_config_reg_t *config_reg, config_value_type_t type); - -/** @fn void adcNotification(adcBASE_t *adc, uint32 group) -* @brief Group notification -* @param[in] adc Pointer to ADC node: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @param[in] group number of ADC node: -* - adcGROUP0: ADC event group -* - adcGROUP1: ADC group 1 -* - adcGROUP2: ADC group 2 -* -* @note This function has to be provide by the user. -*/ -void adcNotification(adcBASE_t *adc, uint32 group); - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif -#endif +/** @file adc.h +* @brief ADC Driver Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the ADC driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __ADC_H__ +#define __ADC_H__ + +#include "reg_adc.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* ADC General Definitions */ + +/** @def adcGROUP0 +* @brief Alias name for ADC event group +* +* @note This value should be used for API argument @a group +*/ +#define adcGROUP0 0U + +/** @def adcGROUP1 +* @brief Alias name for ADC group 1 +* +* @note This value should be used for API argument @a group +*/ +#define adcGROUP1 1U + +/** @def adcGROUP2 +* @brief Alias name for ADC group 2 +* +* @note This value should be used for API argument @a group +*/ +#define adcGROUP2 2U + +/** @def ADC_12_BIT_MODE +* @brief Alias name for ADC 12-bit mode of operation +*/ +#define ADC_12_BIT_MODE 0x80000000U + +/** @enum adcResolution +* @brief Alias names for data resolution +* This enumeration is used to provide alias names for the data resolution: +* - 12 bit resolution +* - 10 bit resolution +* - 8 bit resolution +*/ +enum adcResolution +{ + ADC_12_BIT = 0x00000000U, /**< Alias for 12 bit data resolution */ + ADC_10_BIT = 0x00000100U, /**< Alias for 10 bit data resolution */ + ADC_8_BIT = 0x00000200U /**< Alias for 8 bit data resolution */ +}; + +/** @enum adcFiFoStatus +* @brief Alias names for FiFo status +* This enumeration is used to provide alias names for the current FiFo states: +* - FiFo is not full +* - FiFo is full +* - FiFo overflow occurred +*/ + +enum adcFiFoStatus +{ + ADC_FIFO_IS_NOT_FULL = 0U, /**< Alias for FiFo is not full */ + ADC_FIFO_IS_FULL = 1U, /**< Alias for FiFo is full */ + ADC_FIFO_OVERFLOW = 3U /**< Alias for FiFo overflow occurred */ +}; + +/** @enum adcConversionStatus +* @brief Alias names for conversion status +* This enumeration is used to provide alias names for the current conversion states: +* - Conversion is not finished +* - Conversion is finished +*/ + +enum adcConversionStatus +{ + ADC_CONVERSION_IS_NOT_FINISHED = 0U, /**< Alias for current conversion is not finished */ + ADC_CONVERSION_IS_FINISHED = 8U /**< Alias for current conversion is finished */ +}; + +/** @enum adc1HwTriggerSource +* @brief Alias names for hardware trigger source +* This enumeration is used to provide alias names for the hardware trigger sources: +*/ + +enum adc1HwTriggerSource +{ + ADC1_EVENT = 0U, /**< Alias for event pin */ + ADC1_HET1_8 = 1U, /**< Alias for HET1 pin 8 */ + ADC1_HET1_10 = 2U, /**< Alias for HET1 pin 10 */ + ADC1_RTI_COMP0 = 3U, /**< Alias for RTI compare 0 match */ + ADC1_HET1_12 = 4U, /**< Alias for HET1 pin 12 */ + ADC1_HET1_14 = 5U, /**< Alias for HET1 pin 14 */ + ADC1_GIOB0 = 6U, /**< Alias for GIO port b pin 0 */ + ADC1_GIOB1 = 7U, /**< Alias for GIO port b pin 1 */ + + ADC1_HET2_5 = 1U, /**< Alias for HET2 pin 5 */ + ADC1_HET1_27 = 2U, /**< Alias for HET1 pin 27 */ + ADC1_HET1_17 = 4U, /**< Alias for HET1 pin 17 */ + ADC1_HET1_19 = 5U, /**< Alias for HET1 pin 19 */ + ADC1_HET1_11 = 6U, /**< Alias for HET1 pin 11 */ + ADC1_HET2_13 = 7U, /**< Alias for HET2 pin 13 */ + + ADC1_EPWM_B = 1U, /**< Alias for B Signal EPWM */ + ADC1_EPWM_A1 = 3U, /**< Alias for A1 Signal EPWM */ + ADC1_HET2_1 = 5U, /**< Alias for HET2 pin 1 */ + ADC1_EPWM_A2 = 6U, /**< Alias for A2 Signal EPWM */ + ADC1_EPWM_AB = 7U /**< Alias for AB Signal EPWM */ + +}; + +/** @enum adc2HwTriggerSource +* @brief Alias names for hardware trigger source +* This enumeration is used to provide alias names for the hardware trigger sources: +*/ + +enum adc2HwTriggerSource +{ + ADC2_EVENT = 0U, /**< Alias for event pin */ + ADC2_HET1_8 = 1U, /**< Alias for HET1 pin 8 */ + ADC2_HET1_10 = 2U, /**< Alias for HET1 pin 10 */ + ADC2_RTI_COMP0 = 3U, /**< Alias for RTI compare 0 match */ + ADC2_HET1_12 = 4U, /**< Alias for HET1 pin 12 */ + ADC2_HET1_14 = 5U, /**< Alias for HET1 pin 14 */ + ADC2_GIOB0 = 6U, /**< Alias for GIO port b pin 0 */ + ADC2_GIOB1 = 7U, /**< Alias for GIO port b pin 1 */ + ADC2_HET2_5 = 1U, /**< Alias for HET2 pin 5 */ + ADC2_HET1_27 = 2U, /**< Alias for HET1 pin 27 */ + ADC2_HET1_17 = 4U, /**< Alias for HET1 pin 17 */ + ADC2_HET1_19 = 5U, /**< Alias for HET1 pin 19 */ + ADC2_HET1_11 = 6U, /**< Alias for HET1 pin 11 */ + ADC2_HET2_13 = 7U, /**< Alias for HET2 pin 13 */ + + ADC2_EPWM_B = 1U, /**< Alias for B Signal EPWM */ + ADC2_EPWM_A1 = 3U, /**< Alias for A1 Signal EPWM */ + ADC2_HET2_1 = 5U, /**< Alias for HET2 pin 1 */ + ADC2_EPWM_A2 = 6U, /**< Alias for A2 Signal EPWM */ + ADC2_EPWM_AB = 7U /**< Alias for AB Signal EPWM */ + +}; + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @struct adcData +* @brief ADC Conversion data structure +* +* This type is used to pass adc conversion data. +*/ +/** @typedef adcData_t +* @brief ADC Data Type Definition +*/ +typedef struct adcData +{ + uint32 id; /**< Channel/Pin Id */ + uint16 value; /**< Conversion data value */ +} adcData_t; + + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +typedef struct adc_config_reg +{ + uint32 CONFIG_OPMODECR; + uint32 CONFIG_CLOCKCR; + uint32 CONFIG_GxMODECR[3U]; + uint32 CONFIG_G0SRC; + uint32 CONFIG_G1SRC; + uint32 CONFIG_G2SRC; + uint32 CONFIG_BNDCR; + uint32 CONFIG_BNDEND; + uint32 CONFIG_G0SAMP; + uint32 CONFIG_G1SAMP; + uint32 CONFIG_G2SAMP; + uint32 CONFIG_G0SAMPDISEN; + uint32 CONFIG_G1SAMPDISEN; + uint32 CONFIG_G2SAMPDISEN; + uint32 CONFIG_PARCR; +}adc_config_reg_t; + +#define ADC1_OPMODECR_CONFIGVALUE 0x81140001U +#define ADC1_CLOCKCR_CONFIGVALUE (7U) + +#define ADC1_G0MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000000U | (uint32)0x00000000U) +#define ADC1_G1MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000000U) +#define ADC1_G2MODECR_CONFIGVALUE ((uint32)ADC_12_BIT | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000000U) + +#define ADC1_G0SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) +#define ADC1_G1SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) +#define ADC1_G2SRC_CONFIGVALUE ((uint32)0x00000000U | (uint32)ADC1_EVENT) + +#define ADC1_BNDCR_CONFIGVALUE ((uint32)((uint32)8U << 16U)|(8U + 8U)) +#define ADC1_BNDEND_CONFIGVALUE (2U) + +#define ADC1_G0SAMP_CONFIGVALUE (1U) +#define ADC1_G1SAMP_CONFIGVALUE (1U) +#define ADC1_G2SAMP_CONFIGVALUE (1U) + +#define ADC1_G0SAMPDISEN_CONFIGVALUE ((uint32)((uint32)0U << 8U) | 0x00000000U) +#define ADC1_G1SAMPDISEN_CONFIGVALUE ((uint32)((uint32)0U << 8U) | 0x00000000U) +#define ADC1_G2SAMPDISEN_CONFIGVALUE ((uint32)((uint32)0U << 8U) | 0x00000000U) + +#define ADC1_PARCR_CONFIGVALUE (0x00000005U) + + +/** + * @defgroup ADC ADC + * @brief Analog To Digital Converter Module. + * + * The microcontroller includes two 12-bit ADC modules with selectable 10-bit or 12-bit resolution + * + * Related Files + * - reg_adc.h + * - adc.h + * - adc.c + * @addtogroup ADC + * @{ + */ + +/* ADC Interface Functions */ + +void adcInit(void); +void adcStartConversion(adcBASE_t *adc, uint32 group); +void adcStopConversion(adcBASE_t *adc, uint32 group); +void adcResetFiFo(adcBASE_t *adc, uint32 group); +uint32 adcGetData(adcBASE_t *adc, uint32 group, adcData_t *data); +uint32 adcIsFifoFull(adcBASE_t *adc, uint32 group); +uint32 adcIsConversionComplete(adcBASE_t *adc, uint32 group); +void adcEnableNotification(adcBASE_t *adc, uint32 group); +void adcDisableNotification(adcBASE_t *adc, uint32 group); +void adcCalibration(adcBASE_t *adc); +uint32 adcMidPointCalibration(adcBASE_t *adc); +void adcSetEVTPin(adcBASE_t *adc, uint32 value); +uint32 adcGetEVTPin(adcBASE_t *adc); + +void adc1GetConfigValue(adc_config_reg_t *config_reg, config_value_type_t type); +void adc2GetConfigValue(adc_config_reg_t *config_reg, config_value_type_t type); + +/** @fn void adcNotification(adcBASE_t *adc, uint32 group) +* @brief Group notification +* @param[in] adc Pointer to ADC node: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @param[in] group number of ADC node: +* - adcGROUP0: ADC event group +* - adcGROUP1: ADC group 1 +* - adcGROUP2: ADC group 2 +* +* @note This function has to be provide by the user. +*/ +void adcNotification(adcBASE_t *adc, uint32 group); + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/can.h b/TestBoardFirmware/Testboard_HAL_drivers/include/can.h index 54f3ca42..bf989f5d 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/can.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/can.h @@ -1,729 +1,729 @@ -/** @file can.h -* @brief CAN Driver Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the CAN driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __CAN_H__ -#define __CAN_H__ - -#include "reg_can.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* CAN General Definitions */ - -/** @def canLEVEL_ACTIVE -* @brief Alias name for CAN error operation level active (Error counter 0-31) -*/ -#define canLEVEL_ACTIVE 0x00U - -/** @def canLEVEL_PASSIVE -* @brief Alias name for CAN error operation level passive (Error counter 32-63) -*/ -#define canLEVEL_PASSIVE 0x20U - -/** @def canLEVEL_WARNING -* @brief Alias name for CAN error operation level warning (Error counter 64-127) -*/ -#define canLEVEL_WARNING 0x40U - -/** @def canLEVEL_BUS_OFF -* @brief Alias name for CAN error operation level bus off (Error counter 128-255) -*/ -#define canLEVEL_BUS_OFF 0x80U - -/** @def canLEVEL_PARITY_ERR -* @brief Alias name for CAN Parity error (Error counter 256-511) -*/ -#define canLEVEL_PARITY_ERR 0x100U - -/** @def canLEVEL_TxOK -* @brief Alias name for CAN Sucessful Transmission -*/ -#define canLEVEL_TxOK 0x08U - -/** @def canLEVEL_RxOK -* @brief Alias name for CAN Sucessful Reception -*/ -#define canLEVEL_RxOK 0x10U - -/** @def canLEVEL_WakeUpPnd -* @brief Alias name for CAN Initiated a WakeUp to system -*/ -#define canLEVEL_WakeUpPnd 0x200U - -/** @def canLEVEL_PDA -* @brief Alias name for CAN entered low power mode successfully. -*/ -#define canLEVEL_PDA 0x400U - -/** @def canERROR_NO -* @brief Alias name for no CAN error occurred -*/ -#define canERROR_OK 0U - -/** @def canERROR_STUFF -* @brief Alias name for CAN stuff error an RX message -*/ -#define canERROR_STUFF 1U - -/** @def canERROR_FORMAT -* @brief Alias name for CAN form/format error an RX message -*/ -#define canERROR_FORMAT 2U - -/** @def canERROR_ACKNOWLEDGE -* @brief Alias name for CAN TX message wasn't acknowledged -*/ -#define canERROR_ACKNOWLEDGE 3U - -/** @def canERROR_BIT1 -* @brief Alias name for CAN TX message sending recessive level but monitoring dominant -*/ -#define canERROR_BIT1 4U - -/** @def canERROR_BIT0 -* @brief Alias name for CAN TX message sending dominant level but monitoring recessive -*/ -#define canERROR_BIT0 5U - -/** @def canERROR_CRC -* @brief Alias name for CAN RX message received wrong CRC -*/ -#define canERROR_CRC 6U - -/** @def canERROR_NO -* @brief Alias name for CAN no message has send or received since last call of CANGetLastError -*/ -#define canERROR_NO 7U - -/** @def canMESSAGE_BOX1 -* @brief Alias name for CAN message box 1 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX1 1U - -/** @def canMESSAGE_BOX2 -* @brief Alias name for CAN message box 2 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX2 2U - -/** @def canMESSAGE_BOX3 -* @brief Alias name for CAN message box 3 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX3 3U - -/** @def canMESSAGE_BOX4 -* @brief Alias name for CAN message box 4 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX4 4U - -/** @def canMESSAGE_BOX5 -* @brief Alias name for CAN message box 5 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX5 5U - -/** @def canMESSAGE_BOX6 -* @brief Alias name for CAN message box 6 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX6 6U - -/** @def canMESSAGE_BOX7 -* @brief Alias name for CAN message box 7 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX7 7U - -/** @def canMESSAGE_BOX8 -* @brief Alias name for CAN message box 8 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX8 8U - -/** @def canMESSAGE_BOX9 -* @brief Alias name for CAN message box 9 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX9 9U - -/** @def canMESSAGE_BOX10 -* @brief Alias name for CAN message box 10 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX10 10U - -/** @def canMESSAGE_BOX11 -* @brief Alias name for CAN message box 11 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX11 11U - -/** @def canMESSAGE_BOX12 -* @brief Alias name for CAN message box 12 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX12 12U - -/** @def canMESSAGE_BOX13 -* @brief Alias name for CAN message box 13 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX13 13U - -/** @def canMESSAGE_BOX14 -* @brief Alias name for CAN message box 14 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX14 14U - -/** @def canMESSAGE_BOX15 -* @brief Alias name for CAN message box 15 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX15 15U - -/** @def canMESSAGE_BOX16 -* @brief Alias name for CAN message box 16 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX16 16U - -/** @def canMESSAGE_BOX17 -* @brief Alias name for CAN message box 17 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX17 17U - -/** @def canMESSAGE_BOX18 -* @brief Alias name for CAN message box 18 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX18 18U - -/** @def canMESSAGE_BOX19 -* @brief Alias name for CAN message box 19 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX19 19U - -/** @def canMESSAGE_BOX20 -* @brief Alias name for CAN message box 20 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX20 20U - -/** @def canMESSAGE_BOX21 -* @brief Alias name for CAN message box 21 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX21 21U - -/** @def canMESSAGE_BOX22 -* @brief Alias name for CAN message box 22 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX22 22U - -/** @def canMESSAGE_BOX23 -* @brief Alias name for CAN message box 23 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX23 23U - -/** @def canMESSAGE_BOX24 -* @brief Alias name for CAN message box 24 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX24 24U - -/** @def canMESSAGE_BOX25 -* @brief Alias name for CAN message box 25 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX25 25U - -/** @def canMESSAGE_BOX26 -* @brief Alias name for CAN message box 26 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX26 26U - -/** @def canMESSAGE_BOX27 -* @brief Alias name for CAN message box 27 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX27 27U - -/** @def canMESSAGE_BOX28 -* @brief Alias name for CAN message box 28 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX28 28U - -/** @def canMESSAGE_BOX29 -* @brief Alias name for CAN message box 29 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX29 29U - -/** @def canMESSAGE_BOX30 -* @brief Alias name for CAN message box 30 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX30 30U - -/** @def canMESSAGE_BOX31 -* @brief Alias name for CAN message box 31 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX31 31U - -/** @def canMESSAGE_BOX32 -* @brief Alias name for CAN message box 32 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX32 32U - -/** @def canMESSAGE_BOX33 -* @brief Alias name for CAN message box 33 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX33 33U - -/** @def canMESSAGE_BOX34 -* @brief Alias name for CAN message box 34 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX34 34U - -/** @def canMESSAGE_BOX35 -* @brief Alias name for CAN message box 35 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX35 35U - -/** @def canMESSAGE_BOX36 -* @brief Alias name for CAN message box 36 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX36 36U - -/** @def canMESSAGE_BOX37 -* @brief Alias name for CAN message box 37 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX37 37U - -/** @def canMESSAGE_BOX38 -* @brief Alias name for CAN message box 38 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX38 38U - -/** @def canMESSAGE_BOX39 -* @brief Alias name for CAN message box 39 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX39 39U - -/** @def canMESSAGE_BOX40 -* @brief Alias name for CAN message box 40 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX40 40U - -/** @def canMESSAGE_BOX41 -* @brief Alias name for CAN message box 41 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX41 41U - -/** @def canMESSAGE_BOX42 -* @brief Alias name for CAN message box 42 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX42 42U - -/** @def canMESSAGE_BOX43 -* @brief Alias name for CAN message box 43 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX43 43U - -/** @def canMESSAGE_BOX44 -* @brief Alias name for CAN message box 44 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX44 44U - -/** @def canMESSAGE_BOX45 -* @brief Alias name for CAN message box 45 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX45 45U - -/** @def canMESSAGE_BOX46 -* @brief Alias name for CAN message box 46 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX46 46U - -/** @def canMESSAGE_BOX47 -* @brief Alias name for CAN message box 47 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX47 47U - -/** @def canMESSAGE_BOX48 -* @brief Alias name for CAN message box 48 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX48 48U - -/** @def canMESSAGE_BOX49 -* @brief Alias name for CAN message box 49 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX49 49U - -/** @def canMESSAGE_BOX50 -* @brief Alias name for CAN message box 50 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX50 50U - -/** @def canMESSAGE_BOX51 -* @brief Alias name for CAN message box 51 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX51 51U - -/** @def canMESSAGE_BOX52 -* @brief Alias name for CAN message box 52 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX52 52U - -/** @def canMESSAGE_BOX53 -* @brief Alias name for CAN message box 53 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX53 53U - -/** @def canMESSAGE_BOX54 -* @brief Alias name for CAN message box 54 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX54 54U - -/** @def canMESSAGE_BOX55 -* @brief Alias name for CAN message box 55 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX55 55U - -/** @def canMESSAGE_BOX56 -* @brief Alias name for CAN message box 56 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX56 56U - -/** @def canMESSAGE_BOX57 -* @brief Alias name for CAN message box 57 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX57 57U - -/** @def canMESSAGE_BOX58 -* @brief Alias name for CAN message box 58 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX58 58U - -/** @def canMESSAGE_BOX59 -* @brief Alias name for CAN message box 59 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX59 59U - -/** @def canMESSAGE_BOX60 -* @brief Alias name for CAN message box 60 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX60 60U - -/** @def canMESSAGE_BOX61 -* @brief Alias name for CAN message box 61 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX61 61U - -/** @def canMESSAGE_BOX62 -* @brief Alias name for CAN message box 62 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX62 62U - -/** @def canMESSAGE_BOX63 -* @brief Alias name for CAN message box 63 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX63 63U - -/** @def canMESSAGE_BOX64 -* @brief Alias name for CAN message box 64 -* -* @note This value should be used for API argument @a messageBox -*/ -#define canMESSAGE_BOX64 64U - - -/** @enum canloopBackType -* @brief canLoopback type definition -*/ -/** @typedef canloopBackType_t -* @brief canLoopback type Type Definition -* -* This type is used to select the can module Loopback type Digital or Analog loopback. -*/ -typedef enum canloopBackType -{ - Internal_Lbk = 0x00000010U, - External_Lbk = 0x00000100U, - Internal_Silent_Lbk = 0x00000018U -}canloopBackType_t; - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/* Configuration registers */ -typedef struct can_config_reg -{ - uint32 CONFIG_CTL; - uint32 CONFIG_ES; - uint32 CONFIG_BTR; - uint32 CONFIG_TEST; - uint32 CONFIG_ABOTR; - uint32 CONFIG_INTMUX0; - uint32 CONFIG_INTMUX1; - uint32 CONFIG_INTMUX2; - uint32 CONFIG_INTMUX3; - uint32 CONFIG_TIOC; - uint32 CONFIG_RIOC; -} can_config_reg_t; - - - -/** - * @defgroup CAN CAN - * @brief Controller Area Network Module. - * - * The Controller Area Network is a high-integrity, serial, multi-master communication protocol for distributed - * real-time applications. This CAN module is implemented according to ISO 11898-1 and is suitable for - * industrial, automotive and general embedded communications - * - * Related Files - * - reg_can.h - * - can.h - * - can.c - * @addtogroup CAN - * @{ - */ - -/* CAN Interface Functions */ - -void canInit(void); -uint32 canTransmit(canBASE_t *node, uint32 messageBox, const uint8 * data); -uint32 canGetData(canBASE_t *node, uint32 messageBox, uint8 * const data); -uint32 canSendRemoteFrame(canBASE_t *node, uint32 messageBox); -uint32 canFillMessageObjectData(canBASE_t *node, uint32 messageBox, const uint8 * data); -uint32 canIsTxMessagePending(canBASE_t *node, uint32 messageBox); -uint32 canIsRxMessageArrived(canBASE_t *node, uint32 messageBox); -uint32 canIsMessageBoxValid(canBASE_t *node, uint32 messageBox); -uint32 canGetLastError(canBASE_t *node); -uint32 canGetErrorLevel(canBASE_t *node); -void canEnableErrorNotification(canBASE_t *node); -void canDisableErrorNotification(canBASE_t *node); -void canEnableStatusChangeNotification(canBASE_t *node); -void canDisableStatusChangeNotification(canBASE_t *node); -void canEnableloopback(canBASE_t *node, canloopBackType_t Loopbacktype); -void canDisableloopback(canBASE_t *node); -void canIoSetDirection(canBASE_t *node,uint32 TxDir,uint32 RxDir); -void canIoSetPort(canBASE_t *node, uint32 TxValue, uint32 RxValue); -uint32 canIoTxGetBit(canBASE_t *node); -uint32 canIoRxGetBit(canBASE_t *node); -uint32 canGetID(canBASE_t *node, uint32 messageBox); -void canUpdateID(canBASE_t *node, uint32 messageBox, uint32 msgBoxArbitVal); - -/** @fn void canErrorNotification(canBASE_t *node, uint32 notification) -* @brief Error notification -* @param[in] node Pointer to CAN node: -* - canREG1: CAN1 node pointer -* - canREG2: CAN2 node pointer -* - canREG3: CAN3 node pointer -* @param[in] notification Error notification code: -* - canLEVEL_PASSIVE (0x20) : When RX- or TX error counter are between 32 and 63 -* - canLEVEL_WARNING (0x40) : When RX- or TX error counter are between 64 and 127 -* - canLEVEL_BUS_OFF (0x80) : When RX- or TX error counter are between 128 and 255 -* - canLEVEL_PARITY_ERR (0x100): When RX- or TX error counter are above 256 -* -* @note This function has to be provide by the user. -*/ -void canErrorNotification(canBASE_t *node, uint32 notification); - -/** @fn void canStatusChangeNotification(canBASE_t *node, uint32 notification) -* @brief Status Change notification -* @param[in] node Pointer to CAN node: -* - canREG1: CAN1 node pointer -* - canREG2: CAN2 node pointer -* - canREG3: CAN3 node pointer -* @param[in] notification Status change notification code: -* - canLEVEL_TxOK (0x08) : When successful transmission -* - canLEVEL_RxOK (0x10) : When successful reception -* - canLEVEL_WakeUpPnd (0x200): When successful WakeUp to system initiated -* - canLEVEL_PDA (0x400): When successful low power mode entrance -* -* @note This function has to be provide by the user. -*/ -void canStatusChangeNotification(canBASE_t *node, uint32 notification); - -/** @fn void canMessageNotification(canBASE_t *node, uint32 messageBox) -* @brief Message notification -* @param[in] node Pointer to CAN node: -* - canREG1: CAN1 node pointer -* - canREG2: CAN2 node pointer -* - canREG3: CAN3 node pointer -* @param[in] messageBox Message box number of CAN node: -* - canMESSAGE_BOX1: CAN message box 1 -* - canMESSAGE_BOXn: CAN message box n [n: 1-64] -* - canMESSAGE_BOX64: CAN message box 64 -* -* @note This function has to be provide by the user. -*/ -void canMessageNotification(canBASE_t *node, uint32 messageBox); - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif - -#endif +/** @file can.h +* @brief CAN Driver Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the CAN driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __CAN_H__ +#define __CAN_H__ + +#include "reg_can.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* CAN General Definitions */ + +/** @def canLEVEL_ACTIVE +* @brief Alias name for CAN error operation level active (Error counter 0-31) +*/ +#define canLEVEL_ACTIVE 0x00U + +/** @def canLEVEL_PASSIVE +* @brief Alias name for CAN error operation level passive (Error counter 32-63) +*/ +#define canLEVEL_PASSIVE 0x20U + +/** @def canLEVEL_WARNING +* @brief Alias name for CAN error operation level warning (Error counter 64-127) +*/ +#define canLEVEL_WARNING 0x40U + +/** @def canLEVEL_BUS_OFF +* @brief Alias name for CAN error operation level bus off (Error counter 128-255) +*/ +#define canLEVEL_BUS_OFF 0x80U + +/** @def canLEVEL_PARITY_ERR +* @brief Alias name for CAN Parity error (Error counter 256-511) +*/ +#define canLEVEL_PARITY_ERR 0x100U + +/** @def canLEVEL_TxOK +* @brief Alias name for CAN Sucessful Transmission +*/ +#define canLEVEL_TxOK 0x08U + +/** @def canLEVEL_RxOK +* @brief Alias name for CAN Sucessful Reception +*/ +#define canLEVEL_RxOK 0x10U + +/** @def canLEVEL_WakeUpPnd +* @brief Alias name for CAN Initiated a WakeUp to system +*/ +#define canLEVEL_WakeUpPnd 0x200U + +/** @def canLEVEL_PDA +* @brief Alias name for CAN entered low power mode successfully. +*/ +#define canLEVEL_PDA 0x400U + +/** @def canERROR_NO +* @brief Alias name for no CAN error occurred +*/ +#define canERROR_OK 0U + +/** @def canERROR_STUFF +* @brief Alias name for CAN stuff error an RX message +*/ +#define canERROR_STUFF 1U + +/** @def canERROR_FORMAT +* @brief Alias name for CAN form/format error an RX message +*/ +#define canERROR_FORMAT 2U + +/** @def canERROR_ACKNOWLEDGE +* @brief Alias name for CAN TX message wasn't acknowledged +*/ +#define canERROR_ACKNOWLEDGE 3U + +/** @def canERROR_BIT1 +* @brief Alias name for CAN TX message sending recessive level but monitoring dominant +*/ +#define canERROR_BIT1 4U + +/** @def canERROR_BIT0 +* @brief Alias name for CAN TX message sending dominant level but monitoring recessive +*/ +#define canERROR_BIT0 5U + +/** @def canERROR_CRC +* @brief Alias name for CAN RX message received wrong CRC +*/ +#define canERROR_CRC 6U + +/** @def canERROR_NO +* @brief Alias name for CAN no message has send or received since last call of CANGetLastError +*/ +#define canERROR_NO 7U + +/** @def canMESSAGE_BOX1 +* @brief Alias name for CAN message box 1 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX1 1U + +/** @def canMESSAGE_BOX2 +* @brief Alias name for CAN message box 2 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX2 2U + +/** @def canMESSAGE_BOX3 +* @brief Alias name for CAN message box 3 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX3 3U + +/** @def canMESSAGE_BOX4 +* @brief Alias name for CAN message box 4 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX4 4U + +/** @def canMESSAGE_BOX5 +* @brief Alias name for CAN message box 5 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX5 5U + +/** @def canMESSAGE_BOX6 +* @brief Alias name for CAN message box 6 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX6 6U + +/** @def canMESSAGE_BOX7 +* @brief Alias name for CAN message box 7 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX7 7U + +/** @def canMESSAGE_BOX8 +* @brief Alias name for CAN message box 8 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX8 8U + +/** @def canMESSAGE_BOX9 +* @brief Alias name for CAN message box 9 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX9 9U + +/** @def canMESSAGE_BOX10 +* @brief Alias name for CAN message box 10 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX10 10U + +/** @def canMESSAGE_BOX11 +* @brief Alias name for CAN message box 11 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX11 11U + +/** @def canMESSAGE_BOX12 +* @brief Alias name for CAN message box 12 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX12 12U + +/** @def canMESSAGE_BOX13 +* @brief Alias name for CAN message box 13 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX13 13U + +/** @def canMESSAGE_BOX14 +* @brief Alias name for CAN message box 14 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX14 14U + +/** @def canMESSAGE_BOX15 +* @brief Alias name for CAN message box 15 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX15 15U + +/** @def canMESSAGE_BOX16 +* @brief Alias name for CAN message box 16 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX16 16U + +/** @def canMESSAGE_BOX17 +* @brief Alias name for CAN message box 17 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX17 17U + +/** @def canMESSAGE_BOX18 +* @brief Alias name for CAN message box 18 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX18 18U + +/** @def canMESSAGE_BOX19 +* @brief Alias name for CAN message box 19 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX19 19U + +/** @def canMESSAGE_BOX20 +* @brief Alias name for CAN message box 20 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX20 20U + +/** @def canMESSAGE_BOX21 +* @brief Alias name for CAN message box 21 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX21 21U + +/** @def canMESSAGE_BOX22 +* @brief Alias name for CAN message box 22 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX22 22U + +/** @def canMESSAGE_BOX23 +* @brief Alias name for CAN message box 23 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX23 23U + +/** @def canMESSAGE_BOX24 +* @brief Alias name for CAN message box 24 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX24 24U + +/** @def canMESSAGE_BOX25 +* @brief Alias name for CAN message box 25 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX25 25U + +/** @def canMESSAGE_BOX26 +* @brief Alias name for CAN message box 26 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX26 26U + +/** @def canMESSAGE_BOX27 +* @brief Alias name for CAN message box 27 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX27 27U + +/** @def canMESSAGE_BOX28 +* @brief Alias name for CAN message box 28 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX28 28U + +/** @def canMESSAGE_BOX29 +* @brief Alias name for CAN message box 29 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX29 29U + +/** @def canMESSAGE_BOX30 +* @brief Alias name for CAN message box 30 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX30 30U + +/** @def canMESSAGE_BOX31 +* @brief Alias name for CAN message box 31 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX31 31U + +/** @def canMESSAGE_BOX32 +* @brief Alias name for CAN message box 32 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX32 32U + +/** @def canMESSAGE_BOX33 +* @brief Alias name for CAN message box 33 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX33 33U + +/** @def canMESSAGE_BOX34 +* @brief Alias name for CAN message box 34 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX34 34U + +/** @def canMESSAGE_BOX35 +* @brief Alias name for CAN message box 35 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX35 35U + +/** @def canMESSAGE_BOX36 +* @brief Alias name for CAN message box 36 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX36 36U + +/** @def canMESSAGE_BOX37 +* @brief Alias name for CAN message box 37 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX37 37U + +/** @def canMESSAGE_BOX38 +* @brief Alias name for CAN message box 38 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX38 38U + +/** @def canMESSAGE_BOX39 +* @brief Alias name for CAN message box 39 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX39 39U + +/** @def canMESSAGE_BOX40 +* @brief Alias name for CAN message box 40 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX40 40U + +/** @def canMESSAGE_BOX41 +* @brief Alias name for CAN message box 41 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX41 41U + +/** @def canMESSAGE_BOX42 +* @brief Alias name for CAN message box 42 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX42 42U + +/** @def canMESSAGE_BOX43 +* @brief Alias name for CAN message box 43 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX43 43U + +/** @def canMESSAGE_BOX44 +* @brief Alias name for CAN message box 44 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX44 44U + +/** @def canMESSAGE_BOX45 +* @brief Alias name for CAN message box 45 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX45 45U + +/** @def canMESSAGE_BOX46 +* @brief Alias name for CAN message box 46 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX46 46U + +/** @def canMESSAGE_BOX47 +* @brief Alias name for CAN message box 47 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX47 47U + +/** @def canMESSAGE_BOX48 +* @brief Alias name for CAN message box 48 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX48 48U + +/** @def canMESSAGE_BOX49 +* @brief Alias name for CAN message box 49 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX49 49U + +/** @def canMESSAGE_BOX50 +* @brief Alias name for CAN message box 50 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX50 50U + +/** @def canMESSAGE_BOX51 +* @brief Alias name for CAN message box 51 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX51 51U + +/** @def canMESSAGE_BOX52 +* @brief Alias name for CAN message box 52 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX52 52U + +/** @def canMESSAGE_BOX53 +* @brief Alias name for CAN message box 53 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX53 53U + +/** @def canMESSAGE_BOX54 +* @brief Alias name for CAN message box 54 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX54 54U + +/** @def canMESSAGE_BOX55 +* @brief Alias name for CAN message box 55 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX55 55U + +/** @def canMESSAGE_BOX56 +* @brief Alias name for CAN message box 56 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX56 56U + +/** @def canMESSAGE_BOX57 +* @brief Alias name for CAN message box 57 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX57 57U + +/** @def canMESSAGE_BOX58 +* @brief Alias name for CAN message box 58 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX58 58U + +/** @def canMESSAGE_BOX59 +* @brief Alias name for CAN message box 59 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX59 59U + +/** @def canMESSAGE_BOX60 +* @brief Alias name for CAN message box 60 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX60 60U + +/** @def canMESSAGE_BOX61 +* @brief Alias name for CAN message box 61 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX61 61U + +/** @def canMESSAGE_BOX62 +* @brief Alias name for CAN message box 62 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX62 62U + +/** @def canMESSAGE_BOX63 +* @brief Alias name for CAN message box 63 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX63 63U + +/** @def canMESSAGE_BOX64 +* @brief Alias name for CAN message box 64 +* +* @note This value should be used for API argument @a messageBox +*/ +#define canMESSAGE_BOX64 64U + + +/** @enum canloopBackType +* @brief canLoopback type definition +*/ +/** @typedef canloopBackType_t +* @brief canLoopback type Type Definition +* +* This type is used to select the can module Loopback type Digital or Analog loopback. +*/ +typedef enum canloopBackType +{ + Internal_Lbk = 0x00000010U, + External_Lbk = 0x00000100U, + Internal_Silent_Lbk = 0x00000018U +}canloopBackType_t; + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/* Configuration registers */ +typedef struct can_config_reg +{ + uint32 CONFIG_CTL; + uint32 CONFIG_ES; + uint32 CONFIG_BTR; + uint32 CONFIG_TEST; + uint32 CONFIG_ABOTR; + uint32 CONFIG_INTMUX0; + uint32 CONFIG_INTMUX1; + uint32 CONFIG_INTMUX2; + uint32 CONFIG_INTMUX3; + uint32 CONFIG_TIOC; + uint32 CONFIG_RIOC; +} can_config_reg_t; + + + +/** + * @defgroup CAN CAN + * @brief Controller Area Network Module. + * + * The Controller Area Network is a high-integrity, serial, multi-master communication protocol for distributed + * real-time applications. This CAN module is implemented according to ISO 11898-1 and is suitable for + * industrial, automotive and general embedded communications + * + * Related Files + * - reg_can.h + * - can.h + * - can.c + * @addtogroup CAN + * @{ + */ + +/* CAN Interface Functions */ + +void canInit(void); +uint32 canTransmit(canBASE_t *node, uint32 messageBox, const uint8 * data); +uint32 canGetData(canBASE_t *node, uint32 messageBox, uint8 * const data); +uint32 canSendRemoteFrame(canBASE_t *node, uint32 messageBox); +uint32 canFillMessageObjectData(canBASE_t *node, uint32 messageBox, const uint8 * data); +uint32 canIsTxMessagePending(canBASE_t *node, uint32 messageBox); +uint32 canIsRxMessageArrived(canBASE_t *node, uint32 messageBox); +uint32 canIsMessageBoxValid(canBASE_t *node, uint32 messageBox); +uint32 canGetLastError(canBASE_t *node); +uint32 canGetErrorLevel(canBASE_t *node); +void canEnableErrorNotification(canBASE_t *node); +void canDisableErrorNotification(canBASE_t *node); +void canEnableStatusChangeNotification(canBASE_t *node); +void canDisableStatusChangeNotification(canBASE_t *node); +void canEnableloopback(canBASE_t *node, canloopBackType_t Loopbacktype); +void canDisableloopback(canBASE_t *node); +void canIoSetDirection(canBASE_t *node,uint32 TxDir,uint32 RxDir); +void canIoSetPort(canBASE_t *node, uint32 TxValue, uint32 RxValue); +uint32 canIoTxGetBit(canBASE_t *node); +uint32 canIoRxGetBit(canBASE_t *node); +uint32 canGetID(canBASE_t *node, uint32 messageBox); +void canUpdateID(canBASE_t *node, uint32 messageBox, uint32 msgBoxArbitVal); + +/** @fn void canErrorNotification(canBASE_t *node, uint32 notification) +* @brief Error notification +* @param[in] node Pointer to CAN node: +* - canREG1: CAN1 node pointer +* - canREG2: CAN2 node pointer +* - canREG3: CAN3 node pointer +* @param[in] notification Error notification code: +* - canLEVEL_PASSIVE (0x20) : When RX- or TX error counter are between 32 and 63 +* - canLEVEL_WARNING (0x40) : When RX- or TX error counter are between 64 and 127 +* - canLEVEL_BUS_OFF (0x80) : When RX- or TX error counter are between 128 and 255 +* - canLEVEL_PARITY_ERR (0x100): When RX- or TX error counter are above 256 +* +* @note This function has to be provide by the user. +*/ +void canErrorNotification(canBASE_t *node, uint32 notification); + +/** @fn void canStatusChangeNotification(canBASE_t *node, uint32 notification) +* @brief Status Change notification +* @param[in] node Pointer to CAN node: +* - canREG1: CAN1 node pointer +* - canREG2: CAN2 node pointer +* - canREG3: CAN3 node pointer +* @param[in] notification Status change notification code: +* - canLEVEL_TxOK (0x08) : When successful transmission +* - canLEVEL_RxOK (0x10) : When successful reception +* - canLEVEL_WakeUpPnd (0x200): When successful WakeUp to system initiated +* - canLEVEL_PDA (0x400): When successful low power mode entrance +* +* @note This function has to be provide by the user. +*/ +void canStatusChangeNotification(canBASE_t *node, uint32 notification); + +/** @fn void canMessageNotification(canBASE_t *node, uint32 messageBox) +* @brief Message notification +* @param[in] node Pointer to CAN node: +* - canREG1: CAN1 node pointer +* - canREG2: CAN2 node pointer +* - canREG3: CAN3 node pointer +* @param[in] messageBox Message box number of CAN node: +* - canMESSAGE_BOX1: CAN message box 1 +* - canMESSAGE_BOXn: CAN message box n [n: 1-64] +* - canMESSAGE_BOX64: CAN message box 64 +* +* @note This function has to be provide by the user. +*/ +void canMessageNotification(canBASE_t *node, uint32 messageBox); + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/crc.h b/TestBoardFirmware/Testboard_HAL_drivers/include/crc.h index aa115ead..3f9e7067 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/crc.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/crc.h @@ -1,326 +1,326 @@ -/** @file CRC.h -* @brief CRC Driver Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the CRC driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __CRC_H__ -#define __CRC_H__ - -#include "reg_crc.h" - -#ifdef __cplusplus -extern "C" { -#endif -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* CRC General Definitions */ - -/** @def CRCLEVEL_ACTIVE -* @brief Alias name for CRC error operation level active -*/ -#define CRCLEVEL_ACTIVE 0x00U - - -/** @def CRC_AUTO -* @brief Alias name for CRC auto mode -*/ -#define CRC_AUTO 0x00000001U - - -/** @def CRC_SEMI_CPU -* @brief Alias name for semi cpu mode setting -*/ -#define CRC_SEMI_CPU 0x00000002U - - -/** @def CRC_FULL_CPU -* @brief Alias name for CRC cpu full mode -*/ -#define CRC_FULL_CPU 0x00000003U - - -/** @def CRC_CH4_TO -* @brief Alias name for channel4 time out interrupt flag -*/ -#define CRC_CH4_TO 0x10000000U - -/** @def CRC_CH4_UR -* @brief Alias name for channel4 underrun interrupt flag -*/ -#define CRC_CH4_UR 0x08000000U - -/** @def CRC_CH4_OR -* @brief Alias name for channel4 overrun interrupt flag -*/ -#define CRC_CH4_OR 0x04000000U - -/** @def CRC_CH4_FAIL -* @brief Alias name for channel4 crc fail interrupt flag -*/ -#define CRC_CH4_FAIL 0x02000000U - -/** @def CRC_CH4_CC -* @brief Alias name for channel4 compression complete interrupt flag -*/ -#define CRC_CH4_CC 0x01000000U - -/** @def CRC_CH3_TO -* @brief Alias name for channel3 time out interrupt flag -*/ -#define CRC_CH3_TO 0x00100000U - -/** @def CRC_CH3_UR -* @brief Alias name for channel3 underrun interrupt flag -*/ -#define CRC_CH3_UR 0x00080000U - -/** @def CRC_CH3_OR -* @brief Alias name for channel3 overrun interrupt flag -*/ -#define CRC_CH3_OR 0x00040000U - -/** @def CRC_CH3_FAIL -* @brief Alias name for channel3 crc fail interrupt flag -*/ -#define CRC_CH3_FAIL 0x00020000U - -/** @def CRC_CH3_CC -* @brief Alias name for channel3 compression complete interrupt flag -*/ -#define CRC_CH3_CC 0x00010000U - -/** @def CRC_CH2_TO -* @brief Alias name for channel2 time out interrupt flag -*/ -#define CRC_CH2_TO 0x00001000U - -/** @def CRC_CH2_UR -* @brief Alias name for channel2 underrun interrupt flag -*/ -#define CRC_CH2_UR 0x00000800U - -/** @def CRC_CH2_OR -* @brief Alias name for channel2 overrun interrupt flag -*/ -#define CRC_CH2_OR 0x00000400U - -/** @def CRC_CH2_FAIL -* @brief Alias name for channel2 crc fail interrupt flag -*/ -#define CRC_CH2_FAIL 0x00000200U - -/** @def CRC_CH2_CC -* @brief Alias name for channel2 compression complete interrupt flag -*/ -#define CRC_CH2_CC 0x00000100U - -/** @def CRC_CH1_TO -* @brief Alias name for channel1 time out interrupt flag -*/ -#define CRC_CH1_TO 0x00000010U - -/** @def CRC_CH1_UR -* @brief Alias name for channel1 underrun interrupt flag -*/ -#define CRC_CH1_UR 0x00000008U - - -/** @def CRC_CH1_OR -* @brief Alias name for channel1 overrun interrupt flag -*/ -#define CRC_CH1_OR 0x00000004U - -/** @def CRC_CH1_FAIL -* @brief Alias name for channel1 crc fail interrupt flag -*/ -#define CRC_CH1_FAIL 0x00000002U - -/** @def CRC_CH1_CC -* @brief Alias name for channel1 compression complete interrupt flag -*/ -#define CRC_CH1_CC 0x00000001U - -/** @def CRC_CH1 -* @brief Alias name for channel1 -*/ -#define CRC_CH1 0x00000000U - -/** @def CRC_CH1 -* @brief Alias name for channel2 -*/ -#define CRC_CH2 0x00000001U - -/** @def CRC_CH3 -* @brief Alias name for channel3 -*/ -#define CRC_CH3 0x00000002U - -/** @def CRC_CH4 -* @brief Alias name for channel4 -*/ -#define CRC_CH4 0x00000003U - -/** @struct crcModConfig -* @brief CRC mode specific parameters -* -* This type is used to pass crc mode specific parameters -*/ -/** @typedef crcModConfig_t -* @brief CRC Data Type Definition -*/ -typedef struct crcModConfig -{ - uint32 mode; /**< Mode of operation */ - uint32 crc_channel; /**< CRC channel-0,1 */ - uint64 * src_data_pat; /**< Pattern data */ - uint32 data_length; /**< Pattern data length.Number of 64 bit size word*/ -} crcModConfig_t; - -/** @struct crcConfig -* @brief CRC configuration for different modes -* -* This type is used to pass crc configuration -*/ -/** @typedef crcConfig_t -* @brief CRC Data Type Definition -*/ -typedef struct crcConfig -{ - uint32 crc_channel; /**< CRC channel-0,1 */ - uint32 mode; /**< Mode of operation */ - uint32 pcount; /**< Pattern count*/ - uint32 scount; /**< Sector count */ - uint32 wdg_preload; /**< Watchdog period */ - uint32 block_preload; /**< Block period*/ - -} crcConfig_t; - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -typedef struct crc_config_reg -{ - uint32 CONFIG_CTRL0; - uint32 CONFIG_CTRL1; - uint32 CONFIG_CTRL2; - uint32 CONFIG_INTS; - uint32 CONFIG_PCOUNT_REG1; - uint32 CONFIG_SCOUNT_REG1; - uint32 CONFIG_WDTOPLD1; - uint32 CONFIG_BCTOPLD1; - uint32 CONFIG_PCOUNT_REG2; - uint32 CONFIG_SCOUNT_REG2; - uint32 CONFIG_WDTOPLD2; - uint32 CONFIG_BCTOPLD2; -}crc_config_reg_t; - -#define CRC_CTRL0_CONFIGVALUE 0x00000000U -#define CRC_CTRL1_CONFIGVALUE 0x00000000U -#define CRC_CTRL2_CONFIGVALUE ((uint32)((uint32)0U << 4U) | (uint32)(CRC_FULL_CPU) | (uint32)((uint32)CRC_FULL_CPU << 8U)) -#define CRC_INTS_CONFIGVALUE (0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U) -#define CRC_PCOUNT_REG1_CONFIGVALUE (0x00000000U) -#define CRC_SCOUNT_REG1_CONFIGVALUE (0x00000000U) -#define CRC_WDTOPLD1_CONFIGVALUE (0x00000000U) -#define CRC_BCTOPLD1_CONFIGVALUE (0x00000000U) -#define CRC_PCOUNT_REG2_CONFIGVALUE (0x00000000U) -#define CRC_SCOUNT_REG2_CONFIGVALUE (0x00000000U) -#define CRC_WDTOPLD2_CONFIGVALUE (0x00000000U) -#define CRC_BCTOPLD2_CONFIGVALUE (0x00000000U) - -/** - * @defgroup CRC CRC - * @brief Cyclic Redundancy Check Controller Module. - * - * The CRC controller is a module that is used to perform CRC (Cyclic Redundancy Check) to verify the - * integrity of memory system. A signature representing the contents of the memory is obtained when the - * contents of the memory are read into CRC controller. The responsibility of CRC controller is to calculate - * the signature for a set of data and then compare the calculated signature value against a pre-determined - * good signature value. CRC controller supports two channels to perform CRC calculation on multiple - * memories in parallel and can be used on any memory system. - * - * Related Files - * - reg_crc.h - * - crc.h - * - crc.c - * @addtogroup CRC - * @{ - */ - -/* CRC Interface Functions */ -void crcInit(void); -void crcSendPowerDown(crcBASE_t *crc); -void crcSignGen(crcBASE_t *crc,crcModConfig_t *param); -void crcSetConfig(crcBASE_t *crc,crcConfig_t *param); -uint64 crcGetPSASig(crcBASE_t *crc,uint32 channel); -uint64 crcGetSectorSig(crcBASE_t *crc,uint32 channel); -uint32 crcGetFailedSector(crcBASE_t *crc,uint32 channel); -uint32 crcGetIntrPend(crcBASE_t *crc,uint32 channel); -void crcChannelReset(crcBASE_t *crc,uint32 channel); -void crcEnableNotification(crcBASE_t *crc, uint32 flags); -void crcDisableNotification(crcBASE_t *crc, uint32 flags); -void crcGetConfigValue(crc_config_reg_t *config_reg, config_value_type_t type); - -/** @fn void crcNotification(crcBASE_t *crc, uint32 flags) -* @brief Interrupt callback -* @param[in] crc - crc module base address -* @param[in] flags - copy of error interrupt flags -* -* This is a callback that is provided by the application and is called upon -* an interrupt. The parameter passed to the callback is a copy of the -* interrupt flag register. -*/ -void crcNotification(crcBASE_t *crc, uint32 flags); - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif /*extern "C" */ - -#endif +/** @file CRC.h +* @brief CRC Driver Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the CRC driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __CRC_H__ +#define __CRC_H__ + +#include "reg_crc.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* CRC General Definitions */ + +/** @def CRCLEVEL_ACTIVE +* @brief Alias name for CRC error operation level active +*/ +#define CRCLEVEL_ACTIVE 0x00U + + +/** @def CRC_AUTO +* @brief Alias name for CRC auto mode +*/ +#define CRC_AUTO 0x00000001U + + +/** @def CRC_SEMI_CPU +* @brief Alias name for semi cpu mode setting +*/ +#define CRC_SEMI_CPU 0x00000002U + + +/** @def CRC_FULL_CPU +* @brief Alias name for CRC cpu full mode +*/ +#define CRC_FULL_CPU 0x00000003U + + +/** @def CRC_CH4_TO +* @brief Alias name for channel4 time out interrupt flag +*/ +#define CRC_CH4_TO 0x10000000U + +/** @def CRC_CH4_UR +* @brief Alias name for channel4 underrun interrupt flag +*/ +#define CRC_CH4_UR 0x08000000U + +/** @def CRC_CH4_OR +* @brief Alias name for channel4 overrun interrupt flag +*/ +#define CRC_CH4_OR 0x04000000U + +/** @def CRC_CH4_FAIL +* @brief Alias name for channel4 crc fail interrupt flag +*/ +#define CRC_CH4_FAIL 0x02000000U + +/** @def CRC_CH4_CC +* @brief Alias name for channel4 compression complete interrupt flag +*/ +#define CRC_CH4_CC 0x01000000U + +/** @def CRC_CH3_TO +* @brief Alias name for channel3 time out interrupt flag +*/ +#define CRC_CH3_TO 0x00100000U + +/** @def CRC_CH3_UR +* @brief Alias name for channel3 underrun interrupt flag +*/ +#define CRC_CH3_UR 0x00080000U + +/** @def CRC_CH3_OR +* @brief Alias name for channel3 overrun interrupt flag +*/ +#define CRC_CH3_OR 0x00040000U + +/** @def CRC_CH3_FAIL +* @brief Alias name for channel3 crc fail interrupt flag +*/ +#define CRC_CH3_FAIL 0x00020000U + +/** @def CRC_CH3_CC +* @brief Alias name for channel3 compression complete interrupt flag +*/ +#define CRC_CH3_CC 0x00010000U + +/** @def CRC_CH2_TO +* @brief Alias name for channel2 time out interrupt flag +*/ +#define CRC_CH2_TO 0x00001000U + +/** @def CRC_CH2_UR +* @brief Alias name for channel2 underrun interrupt flag +*/ +#define CRC_CH2_UR 0x00000800U + +/** @def CRC_CH2_OR +* @brief Alias name for channel2 overrun interrupt flag +*/ +#define CRC_CH2_OR 0x00000400U + +/** @def CRC_CH2_FAIL +* @brief Alias name for channel2 crc fail interrupt flag +*/ +#define CRC_CH2_FAIL 0x00000200U + +/** @def CRC_CH2_CC +* @brief Alias name for channel2 compression complete interrupt flag +*/ +#define CRC_CH2_CC 0x00000100U + +/** @def CRC_CH1_TO +* @brief Alias name for channel1 time out interrupt flag +*/ +#define CRC_CH1_TO 0x00000010U + +/** @def CRC_CH1_UR +* @brief Alias name for channel1 underrun interrupt flag +*/ +#define CRC_CH1_UR 0x00000008U + + +/** @def CRC_CH1_OR +* @brief Alias name for channel1 overrun interrupt flag +*/ +#define CRC_CH1_OR 0x00000004U + +/** @def CRC_CH1_FAIL +* @brief Alias name for channel1 crc fail interrupt flag +*/ +#define CRC_CH1_FAIL 0x00000002U + +/** @def CRC_CH1_CC +* @brief Alias name for channel1 compression complete interrupt flag +*/ +#define CRC_CH1_CC 0x00000001U + +/** @def CRC_CH1 +* @brief Alias name for channel1 +*/ +#define CRC_CH1 0x00000000U + +/** @def CRC_CH1 +* @brief Alias name for channel2 +*/ +#define CRC_CH2 0x00000001U + +/** @def CRC_CH3 +* @brief Alias name for channel3 +*/ +#define CRC_CH3 0x00000002U + +/** @def CRC_CH4 +* @brief Alias name for channel4 +*/ +#define CRC_CH4 0x00000003U + +/** @struct crcModConfig +* @brief CRC mode specific parameters +* +* This type is used to pass crc mode specific parameters +*/ +/** @typedef crcModConfig_t +* @brief CRC Data Type Definition +*/ +typedef struct crcModConfig +{ + uint32 mode; /**< Mode of operation */ + uint32 crc_channel; /**< CRC channel-0,1 */ + uint64 * src_data_pat; /**< Pattern data */ + uint32 data_length; /**< Pattern data length.Number of 64 bit size word*/ +} crcModConfig_t; + +/** @struct crcConfig +* @brief CRC configuration for different modes +* +* This type is used to pass crc configuration +*/ +/** @typedef crcConfig_t +* @brief CRC Data Type Definition +*/ +typedef struct crcConfig +{ + uint32 crc_channel; /**< CRC channel-0,1 */ + uint32 mode; /**< Mode of operation */ + uint32 pcount; /**< Pattern count*/ + uint32 scount; /**< Sector count */ + uint32 wdg_preload; /**< Watchdog period */ + uint32 block_preload; /**< Block period*/ + +} crcConfig_t; + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +typedef struct crc_config_reg +{ + uint32 CONFIG_CTRL0; + uint32 CONFIG_CTRL1; + uint32 CONFIG_CTRL2; + uint32 CONFIG_INTS; + uint32 CONFIG_PCOUNT_REG1; + uint32 CONFIG_SCOUNT_REG1; + uint32 CONFIG_WDTOPLD1; + uint32 CONFIG_BCTOPLD1; + uint32 CONFIG_PCOUNT_REG2; + uint32 CONFIG_SCOUNT_REG2; + uint32 CONFIG_WDTOPLD2; + uint32 CONFIG_BCTOPLD2; +}crc_config_reg_t; + +#define CRC_CTRL0_CONFIGVALUE 0x00000000U +#define CRC_CTRL1_CONFIGVALUE 0x00000000U +#define CRC_CTRL2_CONFIGVALUE ((uint32)((uint32)0U << 4U) | (uint32)(CRC_FULL_CPU) | (uint32)((uint32)CRC_FULL_CPU << 8U)) +#define CRC_INTS_CONFIGVALUE (0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U | 0x00000000U) +#define CRC_PCOUNT_REG1_CONFIGVALUE (0x00000000U) +#define CRC_SCOUNT_REG1_CONFIGVALUE (0x00000000U) +#define CRC_WDTOPLD1_CONFIGVALUE (0x00000000U) +#define CRC_BCTOPLD1_CONFIGVALUE (0x00000000U) +#define CRC_PCOUNT_REG2_CONFIGVALUE (0x00000000U) +#define CRC_SCOUNT_REG2_CONFIGVALUE (0x00000000U) +#define CRC_WDTOPLD2_CONFIGVALUE (0x00000000U) +#define CRC_BCTOPLD2_CONFIGVALUE (0x00000000U) + +/** + * @defgroup CRC CRC + * @brief Cyclic Redundancy Check Controller Module. + * + * The CRC controller is a module that is used to perform CRC (Cyclic Redundancy Check) to verify the + * integrity of memory system. A signature representing the contents of the memory is obtained when the + * contents of the memory are read into CRC controller. The responsibility of CRC controller is to calculate + * the signature for a set of data and then compare the calculated signature value against a pre-determined + * good signature value. CRC controller supports two channels to perform CRC calculation on multiple + * memories in parallel and can be used on any memory system. + * + * Related Files + * - reg_crc.h + * - crc.h + * - crc.c + * @addtogroup CRC + * @{ + */ + +/* CRC Interface Functions */ +void crcInit(void); +void crcSendPowerDown(crcBASE_t *crc); +void crcSignGen(crcBASE_t *crc,crcModConfig_t *param); +void crcSetConfig(crcBASE_t *crc,crcConfig_t *param); +uint64 crcGetPSASig(crcBASE_t *crc,uint32 channel); +uint64 crcGetSectorSig(crcBASE_t *crc,uint32 channel); +uint32 crcGetFailedSector(crcBASE_t *crc,uint32 channel); +uint32 crcGetIntrPend(crcBASE_t *crc,uint32 channel); +void crcChannelReset(crcBASE_t *crc,uint32 channel); +void crcEnableNotification(crcBASE_t *crc, uint32 flags); +void crcDisableNotification(crcBASE_t *crc, uint32 flags); +void crcGetConfigValue(crc_config_reg_t *config_reg, config_value_type_t type); + +/** @fn void crcNotification(crcBASE_t *crc, uint32 flags) +* @brief Interrupt callback +* @param[in] crc - crc module base address +* @param[in] flags - copy of error interrupt flags +* +* This is a callback that is provided by the application and is called upon +* an interrupt. The parameter passed to the callback is a copy of the +* interrupt flag register. +*/ +void crcNotification(crcBASE_t *crc, uint32 flags); + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif /*extern "C" */ + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/dcc.h b/TestBoardFirmware/Testboard_HAL_drivers/include/dcc.h index e04d7713..6cf30921 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/dcc.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/dcc.h @@ -1,306 +1,306 @@ -/** @file dcc.h -* @brief DCC Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __DCC_H__ -#define __DCC_H__ - -#include "reg_dcc.h" -#ifdef __cplusplus -extern "C" { -#endif -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* DCC General Definitions */ - -/** @def dcc1CNT0_CLKSRC_HFLPO -* @brief Alias name for DCC1 Counter 0 Clock Source HFLPO -* -* This is an alias name for the Clock Source HFLPO for DCC1 Counter 0. -* -* @note This value should be used for API argument @a cnt0_Clock_Source -*/ -#define dcc1CNT0_CLKSRC_HFLPO 0x00000005U - -/** @def dcc1CNT0_CLKSRC_TCK -* @brief Alias name for DCC1 Counter 0 Clock Source TCK -* -* This is an alias name for the Clock Source TCK for DCC1 Counter 0. -* -* @note This value should be used for API argument @a cnt0_Clock_Source -*/ -#define dcc1CNT0_CLKSRC_TCK 0x0000000AU - -/** @def dcc1CNT0_CLKSRC_OSCIN -* @brief Alias name for DCC1 Counter 0 Clock Source OSCIN -* -* This is an alias name for the Clock Source OSCIN for DCC1 Counter 0. -* -* @note This value should be used for API argument @a cnt0_Clock_Source -*/ -#define dcc1CNT0_CLKSRC_OSCIN 0x0000000FU - -/** @def dcc1CNT1_CLKSRC_PLL1 -* @brief Alias name for DCC1 Counter 1 Clock Source PLL1 -* -* This is an alias name for the Clock Source PLL for DCC1 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc1CNT1_CLKSRC_PLL1 0x0000A000U - -/** @def dcc1CNT1_CLKSRC_PLL2 -* @brief Alias name for DCC1 Counter 1 Clock Source PLL2 -* -* This is an alias name for the Clock Source OSCIN for DCC1 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc1CNT1_CLKSRC_PLL2 0x0000A001U - -/** @def dcc1CNT1_CLKSRC_LFLPO -* @brief Alias name for DCC1 Counter 1 Clock Source LFLPO -* -* This is an alias name for the Clock Source LFLPO for DCC1 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc1CNT1_CLKSRC_LFLPO 0x0000A002U - -/** @def dcc1CNT1_CLKSRC_HFLPO -* @brief Alias name for DCC1 Counter 1 Clock Source HFLPO -* -* This is an alias name for the Clock Source HFLPO for DCC1 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc1CNT1_CLKSRC_HFLPO 0x0000A003U - -/** @def dcc1CNT1_CLKSRC_EXTCLKIN1 -* @brief Alias name for DCC1 Counter 1 Clock Source EXTCLKIN1 -* -* This is an alias name for the Clock Source EXTCLKIN1 for DCC1 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc1CNT1_CLKSRC_EXTCLKIN1 0x0000A005U - -/** @def dcc1CNT1_CLKSRC_EXTCLKIN2 -* @brief Alias name for DCC1 Counter 1 Clock Source EXTCLKIN2 -* -* This is an alias name for the Clock Source EXTCLKIN2 for DCC1 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc1CNT1_CLKSRC_EXTCLKIN2 0x0000A006U - -/** @def dcc1CNT1_CLKSRC_VCLK -* @brief Alias name for DCC1 Counter 1 Clock Source VCLK -* -* This is an alias name for the Clock Source VCLK for DCC1 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc1CNT1_CLKSRC_VCLK 0x0000A008U - -/** @def dcc1CNT1_CLKSRC_N2HET1_31 -* @brief Alias name for DCC1 Counter 1 Clock Source N2HET1_31 -* -* This is an alias name for the Clock Source N2HET1_31 for DCC1 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc1CNT1_CLKSRC_N2HET1_31 0x0000500FU - -/** @def dcc2CNT0_CLKSRC_TCK -* @brief Alias name for DCC2 Counter 0 Clock Source TCK -* -* This is an alias name for the Clock Source TCK for DCC2 Counter 0. -* -* @note This value should be used for API argument @a cnt0_Clock_Source -*/ -#define dcc2CNT0_CLKSRC_TCK 0x0000000AU - -/** @def dcc1CNT0_CLKSRC_OSCIN -* @brief Alias name for DCC1 Counter 0 Clock Source OSCIN -* -* This is an alias name for the Clock Source OSCIN for DCC2 Counter 0. -* -* @note This value should be used for API argument @a cnt0_Clock_Source -*/ -#define dcc2CNT0_CLKSRC_OSCIN 0x0000000FU - -/** @def dcc2CNT1_CLKSRC_VCLK -* @brief Alias name for DCC2 Counter 1 Clock Source VCLK -* -* This is an alias name for the Clock Source VCLK for DCC2 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc2CNT1_CLKSRC_VCLK 0x0000A008U - -/** @def dcc2CNT1_CLKSRC_N2HET1_0 -* @brief Alias name for DCC2 Counter 1 Clock Source N2HET2_0 -* -* This is an alias name for the Clock Source N2HET2_0 for DCC2 Counter 1. -* -* @note This value should be used for API argument @a cnt1_Clock_Source -*/ -#define dcc2CNT1_CLKSRC_N2HET1_0 0x0000500FU - -/** @def dccNOTIFICATION_DONE -* @brief Alias name for DCC Done notification -* -* This is an alias name for the DCC Done notification. -* -* @note This value should be used for API argument @a notification -*/ -#define dccNOTIFICATION_DONE 0x0000A000U - -/** @def dccNOTIFICATION_ERROR -* @brief Alias name for DCC Error notification -* -* This is an alias name for the DCC Error notification. -* -* @note This value should be used for API argument @a notification -*/ -#define dccNOTIFICATION_ERROR 0x000000A0U - - -/** @enum dcc1clocksource -* @brief Alias names for dcc clock sources -* -* This enumeration is used to provide alias names for the clock sources: -*/ -enum dcc1clocksource -{ - DCC1_CNT0_HF_LPO = 0x5U, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 0*/ - DCC1_CNT0_TCK = 0xAU, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 1*/ - DCC1_CNT0_OSCIN = 0xFU, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 2*/ - - DCC1_CNT1_PLL1 = 0x0U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 0*/ - DCC1_CNT1_PLL2 = 0x1U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 1*/ - DCC1_CNT1_LF_LPO = 0x2U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 2*/ - DCC1_CNT1_HF_LPO = 0x3U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 3*/ - DCC1_CNT1_EXTCLKIN1 = 0x5U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 4*/ - DCC1_CNT1_EXTCLKIN2 = 0x6U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 6*/ - DCC1_CNT1_VCLK = 0x8U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 8*/ - DCC1_CNT1_N2HET1_31 = 0xAU /**< Alias for DCC1 CNT 1 CLOCK SOURCE 9*/ -}; - -/** @enum dcc2clocksource -* @brief Alias names for dcc clock sources -* -* This enumeration is used to provide alias names for the clock sources: -*/ -enum dcc2clocksource -{ - DCC2_CNT0_OSCIN = 0xFU, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 0*/ - DCC2_CNT0_TCK = 0xAU, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 2*/ - - DCC2_CNT1_VCLK = 0x8U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 8*/ - DCC2_CNT1_N2HET2_0 = 0xAU /**< Alias for DCC1 CNT 1 CLOCK SOURCE 9*/ -}; - -/* Configuration registers */ -typedef struct dcc_config_reg -{ - uint32 CONFIG_GCTRL; - uint32 CONFIG_CNT0SEED; - uint32 CONFIG_VALID0SEED; - uint32 CONFIG_CNT1SEED; - uint32 CONFIG_CNT1CLKSRC; - uint32 CONFIG_CNT0CLKSRC; -} dcc_config_reg_t; - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** - * @defgroup DCC DCC - * @brief Dual-Clock Comparator Module - * - * The primary purpose of a DCC module is to measure the frequency of a clock signal using a second - * known clock signal as a reference. This capability can be used to ensure the correct frequency range for - * several different device clock sources, thereby enhancing the system safety metrics. - * - * Related Files - * - reg_dcc.h - * - dcc.h - * - dcc.c - * @addtogroup DCC - * @{ - */ - -/* DCC Interface Functions */ -void dccInit(void); -void dccSetCounter0Seed(dccBASE_t *dcc, uint32 cnt0seed); -void dccSetTolerance(dccBASE_t *dcc, uint32 valid0seed); -void dccSetCounter1Seed(dccBASE_t *dcc, uint32 cnt1seed); -void dccSetSeed(dccBASE_t *dcc, uint32 cnt0seed, uint32 valid0seed, uint32 cnt1seed); -void dccSelectClockSource(dccBASE_t *dcc, uint32 cnt0_Clock_Source, uint32 cnt1_Clock_Source); -void dccEnable(dccBASE_t *dcc); -void dccDisable(dccBASE_t *dcc); -uint32 dccGetErrStatus(dccBASE_t *dcc); - -void dccEnableNotification(dccBASE_t *dcc, uint32 notification); -void dccDisableNotification(dccBASE_t *dcc, uint32 notification); -void dcc1GetConfigValue(dcc_config_reg_t *config_reg, config_value_type_t type); -void dcc2GetConfigValue(dcc_config_reg_t *config_reg, config_value_type_t type); -/** @fn void dccNotification(dccBASE_t *dcc,uint32 flags) -* @brief Interrupt callback -* @param[in] dcc - dcc module base address -* @param[in] flags - status flags -* -* This is a callback function provided by the application. It is call when -* a dcc is complete or detected error. -*/ -void dccNotification(dccBASE_t *dcc,uint32 flags); - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ -/**@}*/ -#ifdef __cplusplus -} -#endif - -#endif +/** @file dcc.h +* @brief DCC Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __DCC_H__ +#define __DCC_H__ + +#include "reg_dcc.h" +#ifdef __cplusplus +extern "C" { +#endif +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* DCC General Definitions */ + +/** @def dcc1CNT0_CLKSRC_HFLPO +* @brief Alias name for DCC1 Counter 0 Clock Source HFLPO +* +* This is an alias name for the Clock Source HFLPO for DCC1 Counter 0. +* +* @note This value should be used for API argument @a cnt0_Clock_Source +*/ +#define dcc1CNT0_CLKSRC_HFLPO 0x00000005U + +/** @def dcc1CNT0_CLKSRC_TCK +* @brief Alias name for DCC1 Counter 0 Clock Source TCK +* +* This is an alias name for the Clock Source TCK for DCC1 Counter 0. +* +* @note This value should be used for API argument @a cnt0_Clock_Source +*/ +#define dcc1CNT0_CLKSRC_TCK 0x0000000AU + +/** @def dcc1CNT0_CLKSRC_OSCIN +* @brief Alias name for DCC1 Counter 0 Clock Source OSCIN +* +* This is an alias name for the Clock Source OSCIN for DCC1 Counter 0. +* +* @note This value should be used for API argument @a cnt0_Clock_Source +*/ +#define dcc1CNT0_CLKSRC_OSCIN 0x0000000FU + +/** @def dcc1CNT1_CLKSRC_PLL1 +* @brief Alias name for DCC1 Counter 1 Clock Source PLL1 +* +* This is an alias name for the Clock Source PLL for DCC1 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc1CNT1_CLKSRC_PLL1 0x0000A000U + +/** @def dcc1CNT1_CLKSRC_PLL2 +* @brief Alias name for DCC1 Counter 1 Clock Source PLL2 +* +* This is an alias name for the Clock Source OSCIN for DCC1 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc1CNT1_CLKSRC_PLL2 0x0000A001U + +/** @def dcc1CNT1_CLKSRC_LFLPO +* @brief Alias name for DCC1 Counter 1 Clock Source LFLPO +* +* This is an alias name for the Clock Source LFLPO for DCC1 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc1CNT1_CLKSRC_LFLPO 0x0000A002U + +/** @def dcc1CNT1_CLKSRC_HFLPO +* @brief Alias name for DCC1 Counter 1 Clock Source HFLPO +* +* This is an alias name for the Clock Source HFLPO for DCC1 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc1CNT1_CLKSRC_HFLPO 0x0000A003U + +/** @def dcc1CNT1_CLKSRC_EXTCLKIN1 +* @brief Alias name for DCC1 Counter 1 Clock Source EXTCLKIN1 +* +* This is an alias name for the Clock Source EXTCLKIN1 for DCC1 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc1CNT1_CLKSRC_EXTCLKIN1 0x0000A005U + +/** @def dcc1CNT1_CLKSRC_EXTCLKIN2 +* @brief Alias name for DCC1 Counter 1 Clock Source EXTCLKIN2 +* +* This is an alias name for the Clock Source EXTCLKIN2 for DCC1 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc1CNT1_CLKSRC_EXTCLKIN2 0x0000A006U + +/** @def dcc1CNT1_CLKSRC_VCLK +* @brief Alias name for DCC1 Counter 1 Clock Source VCLK +* +* This is an alias name for the Clock Source VCLK for DCC1 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc1CNT1_CLKSRC_VCLK 0x0000A008U + +/** @def dcc1CNT1_CLKSRC_N2HET1_31 +* @brief Alias name for DCC1 Counter 1 Clock Source N2HET1_31 +* +* This is an alias name for the Clock Source N2HET1_31 for DCC1 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc1CNT1_CLKSRC_N2HET1_31 0x0000500FU + +/** @def dcc2CNT0_CLKSRC_TCK +* @brief Alias name for DCC2 Counter 0 Clock Source TCK +* +* This is an alias name for the Clock Source TCK for DCC2 Counter 0. +* +* @note This value should be used for API argument @a cnt0_Clock_Source +*/ +#define dcc2CNT0_CLKSRC_TCK 0x0000000AU + +/** @def dcc1CNT0_CLKSRC_OSCIN +* @brief Alias name for DCC1 Counter 0 Clock Source OSCIN +* +* This is an alias name for the Clock Source OSCIN for DCC2 Counter 0. +* +* @note This value should be used for API argument @a cnt0_Clock_Source +*/ +#define dcc2CNT0_CLKSRC_OSCIN 0x0000000FU + +/** @def dcc2CNT1_CLKSRC_VCLK +* @brief Alias name for DCC2 Counter 1 Clock Source VCLK +* +* This is an alias name for the Clock Source VCLK for DCC2 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc2CNT1_CLKSRC_VCLK 0x0000A008U + +/** @def dcc2CNT1_CLKSRC_N2HET1_0 +* @brief Alias name for DCC2 Counter 1 Clock Source N2HET2_0 +* +* This is an alias name for the Clock Source N2HET2_0 for DCC2 Counter 1. +* +* @note This value should be used for API argument @a cnt1_Clock_Source +*/ +#define dcc2CNT1_CLKSRC_N2HET1_0 0x0000500FU + +/** @def dccNOTIFICATION_DONE +* @brief Alias name for DCC Done notification +* +* This is an alias name for the DCC Done notification. +* +* @note This value should be used for API argument @a notification +*/ +#define dccNOTIFICATION_DONE 0x0000A000U + +/** @def dccNOTIFICATION_ERROR +* @brief Alias name for DCC Error notification +* +* This is an alias name for the DCC Error notification. +* +* @note This value should be used for API argument @a notification +*/ +#define dccNOTIFICATION_ERROR 0x000000A0U + + +/** @enum dcc1clocksource +* @brief Alias names for dcc clock sources +* +* This enumeration is used to provide alias names for the clock sources: +*/ +enum dcc1clocksource +{ + DCC1_CNT0_HF_LPO = 0x5U, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 0*/ + DCC1_CNT0_TCK = 0xAU, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 1*/ + DCC1_CNT0_OSCIN = 0xFU, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 2*/ + + DCC1_CNT1_PLL1 = 0x0U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 0*/ + DCC1_CNT1_PLL2 = 0x1U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 1*/ + DCC1_CNT1_LF_LPO = 0x2U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 2*/ + DCC1_CNT1_HF_LPO = 0x3U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 3*/ + DCC1_CNT1_EXTCLKIN1 = 0x5U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 4*/ + DCC1_CNT1_EXTCLKIN2 = 0x6U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 6*/ + DCC1_CNT1_VCLK = 0x8U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 8*/ + DCC1_CNT1_N2HET1_31 = 0xAU /**< Alias for DCC1 CNT 1 CLOCK SOURCE 9*/ +}; + +/** @enum dcc2clocksource +* @brief Alias names for dcc clock sources +* +* This enumeration is used to provide alias names for the clock sources: +*/ +enum dcc2clocksource +{ + DCC2_CNT0_OSCIN = 0xFU, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 0*/ + DCC2_CNT0_TCK = 0xAU, /**< Alias for DCC1 CNT 0 CLOCK SOURCE 2*/ + + DCC2_CNT1_VCLK = 0x8U, /**< Alias for DCC1 CNT 1 CLOCK SOURCE 8*/ + DCC2_CNT1_N2HET2_0 = 0xAU /**< Alias for DCC1 CNT 1 CLOCK SOURCE 9*/ +}; + +/* Configuration registers */ +typedef struct dcc_config_reg +{ + uint32 CONFIG_GCTRL; + uint32 CONFIG_CNT0SEED; + uint32 CONFIG_VALID0SEED; + uint32 CONFIG_CNT1SEED; + uint32 CONFIG_CNT1CLKSRC; + uint32 CONFIG_CNT0CLKSRC; +} dcc_config_reg_t; + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** + * @defgroup DCC DCC + * @brief Dual-Clock Comparator Module + * + * The primary purpose of a DCC module is to measure the frequency of a clock signal using a second + * known clock signal as a reference. This capability can be used to ensure the correct frequency range for + * several different device clock sources, thereby enhancing the system safety metrics. + * + * Related Files + * - reg_dcc.h + * - dcc.h + * - dcc.c + * @addtogroup DCC + * @{ + */ + +/* DCC Interface Functions */ +void dccInit(void); +void dccSetCounter0Seed(dccBASE_t *dcc, uint32 cnt0seed); +void dccSetTolerance(dccBASE_t *dcc, uint32 valid0seed); +void dccSetCounter1Seed(dccBASE_t *dcc, uint32 cnt1seed); +void dccSetSeed(dccBASE_t *dcc, uint32 cnt0seed, uint32 valid0seed, uint32 cnt1seed); +void dccSelectClockSource(dccBASE_t *dcc, uint32 cnt0_Clock_Source, uint32 cnt1_Clock_Source); +void dccEnable(dccBASE_t *dcc); +void dccDisable(dccBASE_t *dcc); +uint32 dccGetErrStatus(dccBASE_t *dcc); + +void dccEnableNotification(dccBASE_t *dcc, uint32 notification); +void dccDisableNotification(dccBASE_t *dcc, uint32 notification); +void dcc1GetConfigValue(dcc_config_reg_t *config_reg, config_value_type_t type); +void dcc2GetConfigValue(dcc_config_reg_t *config_reg, config_value_type_t type); +/** @fn void dccNotification(dccBASE_t *dcc,uint32 flags) +* @brief Interrupt callback +* @param[in] dcc - dcc module base address +* @param[in] flags - status flags +* +* This is a callback function provided by the application. It is call when +* a dcc is complete or detected error. +*/ +void dccNotification(dccBASE_t *dcc,uint32 flags); + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ +/**@}*/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/ecap.h b/TestBoardFirmware/Testboard_HAL_drivers/include/ecap.h index dd76b8cc..45e84647 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/ecap.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/ecap.h @@ -1,260 +1,260 @@ -/** @file ecap.h -* @brief ECAP Driver Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the ECAP driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __ECAP_H__ -#define __ECAP_H__ - -#include "reg_ecap.h" - - - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ -/** @brief Enumeration to define the capture (CAP) interrupts -*/ -typedef enum -{ - ecapInt_CTR_CMP = 0x0080U, /*< Denotes CTR = CMP interrupt */ - ecapInt_CTR_PRD = 0x0040U, /*< Denotes CTR = PRD interrupt */ - ecapInt_CTR_OVF = 0x0020U, /*< Denotes CTROVF interrupt */ - ecapInt_CEVT4 = 0x0010U, /*< Denotes CEVT4 interrupt */ - ecapInt_CEVT3 = 0x0008U, /*< Denotes CEVT3 interrupt */ - ecapInt_CEVT2 = 0x0004U, /*< Denotes CEVT2 interrupt */ - ecapInt_CEVT1 = 0x0002U, /*< Denotes CEVT1 interrupt */ - ecapInt_Global = 0x0001U, /*< Denotes Capture global interrupt */ - ecapInt_All = 0x00FFU /*< Denotes All interrupts */ -} ecapInterrupt_t; - -/** @brief Enumeration to define the capture (CAP) prescaler values -*/ -typedef enum -{ - ecapPrescale_By_1 = ((uint16)0U << 9U), /*< Divide by 1 */ - ecapPrescale_By_2 = ((uint16)1U << 9U), /*< Divide by 2 */ - ecapPrescale_By_4 = ((uint16)2U << 9U), /*< Divide by 4 */ - ecapPrescale_By_6 = ((uint16)3U << 9U), /*< Divide by 6 */ - ecapPrescale_By_8 = ((uint16)4U << 9U), /*< Divide by 8 */ - ecapPrescale_By_10 = ((uint16)5U << 9U), /*< Divide by 10 */ - ecapPrescale_By_12 = ((uint16)6U << 9U), /*< Divide by 12 */ - ecapPrescale_By_14 = ((uint16)7U << 9U), /*< Divide by 14 */ - ecapPrescale_By_16 = ((uint16)8U << 9U), /*< Divide by 16 */ - ecapPrescale_By_18 = ((uint16)9U << 9U), /*< Divide by 18 */ - ecapPrescale_By_20 = ((uint16)10U << 9U), /*< Divide by 20 */ - ecapPrescale_By_22 = ((uint16)11U << 9U), /*< Divide by 22 */ - ecapPrescale_By_24 = ((uint16)12U << 9U), /*< Divide by 24 */ - ecapPrescale_By_26 = ((uint16)13U << 9U), /*< Divide by 26 */ - ecapPrescale_By_28 = ((uint16)14U << 9U), /*< Divide by 28 */ - ecapPrescale_By_30 = ((uint16)15U << 9U), /*< Divide by 30 */ - ecapPrescale_By_32 = ((uint16)16U << 9U), /*< Divide by 32 */ - ecapPrescale_By_34 = ((uint16)17U << 9U), /*< Divide by 34 */ - ecapPrescale_By_36 = ((uint16)18U << 9U), /*< Divide by 36 */ - ecapPrescale_By_38 = ((uint16)19U << 9U), /*< Divide by 38 */ - ecapPrescale_By_40 = ((uint16)20U << 9U), /*< Divide by 40 */ - ecapPrescale_By_42 = ((uint16)21U << 9U), /*< Divide by 42 */ - ecapPrescale_By_44 = ((uint16)22U << 9U), /*< Divide by 44 */ - ecapPrescale_By_46 = ((uint16)23U << 9U), /*< Divide by 46 */ - ecapPrescale_By_48 = ((uint16)24U << 9U), /*< Divide by 48 */ - ecapPrescale_By_50 = ((uint16)25U << 9U), /*< Divide by 50 */ - ecapPrescale_By_52 = ((uint16)26U << 9U), /*< Divide by 52 */ - ecapPrescale_By_54 = ((uint16)27U << 9U), /*< Divide by 54 */ - ecapPrescale_By_56 = ((uint16)28U << 9U), /*< Divide by 56 */ - ecapPrescale_By_58 = ((uint16)29U << 9U), /*< Divide by 58 */ - ecapPrescale_By_60 = ((uint16)30U << 9U), /*< Divide by 60 */ - ecapPrescale_By_62 = ((uint16)31U << 9U) /*< Divide by 62 */ -} ecapPrescale_t; - -/** @brief Enumeration to define the Sync Out options -*/ -typedef enum -{ - SyncOut_SyncIn = ((uint16)0U << 6U), /*< Sync In used for Sync Out */ - SyncOut_CTRPRD = ((uint16)1U << 6U), /*< CTR = PRD used for Sync Out */ - SyncOut_None = ((uint16)2U << 6U) /*< Disables Sync Out */ -} ecapSyncOut_t; - -/** @brief Enumeration to define the Polarity -*/ -typedef enum -{ - RISING_EDGE = 0U, - FALLING_EDGE = 1U -}ecapEdgePolarity_t; - -typedef enum -{ - ACTIVE_HIGH = 0U, - ACTIVE_LOW = 1U -}ecapAPWMPolarity_t; - -/** @brief Enumeration to define the Mode of operation -*/ -typedef enum -{ - CONTINUOUS = 0U, - ONE_SHOT = 1U -}ecapMode_t; - -/** @brief Enumeration to define the capture events -*/ -typedef enum -{ - CAPTURE_EVENT1 = 0U, - CAPTURE_EVENT2 = 1U, - CAPTURE_EVENT3 = 2U, - CAPTURE_EVENT4 = 3U -}ecapEvent_t ; - -typedef enum -{ - RESET_ENABLE = 1U, - RESET_DISABLE = 0U -}ecapReset_t ; - -typedef struct ecap_config_reg - { - uint32 CONFIG_CTRPHS; - uint16 CONFIG_ECCTL1; - uint16 CONFIG_ECCTL2; - uint16 CONFIG_ECEINT; -}ecap_config_reg_t; - -#define ECAP1_CTRPHS_CONFIGVALUE 0x00000000U -#define ECAP1_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) -#define ECAP1_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) -#define ECAP1_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) - -#define ECAP2_CTRPHS_CONFIGVALUE 0x00000000U -#define ECAP2_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) -#define ECAP2_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) -#define ECAP2_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) - -#define ECAP3_CTRPHS_CONFIGVALUE 0x00000000U -#define ECAP3_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) -#define ECAP3_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) -#define ECAP3_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) - -#define ECAP4_CTRPHS_CONFIGVALUE 0x00000000U -#define ECAP4_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) -#define ECAP4_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) -#define ECAP4_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) - -#define ECAP5_CTRPHS_CONFIGVALUE 0x00000000U -#define ECAP5_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) -#define ECAP5_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) -#define ECAP5_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) - -#define ECAP6_CTRPHS_CONFIGVALUE 0x00000000U -#define ECAP6_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) -#define ECAP6_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) -#define ECAP6_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) - -/** - * @defgroup eCAP eCAP - * @brief Enhanced Capture Module. - * - * The enhanced Capture (eCAP) module is essential in systems where accurate timing of external events is - * important. This microcontroller implements 6 instances of the eCAP module. - * - * Related Files - * - reg_ecap.h - * - ecap.h - * - ecap.c - * @addtogroup eCAP - * @{ - */ -void ecapInit(void); -void ecapSetCounter(ecapBASE_t *ecap, uint32 value); -void ecapEnableCounterLoadOnSync(ecapBASE_t *ecap, uint32 phase); -void ecapDisableCounterLoadOnSync(ecapBASE_t *ecap); -void ecapSetEventPrescaler(ecapBASE_t *ecap, ecapPrescale_t prescale); -void ecapSetCaptureEvent1(ecapBASE_t *ecap, ecapEdgePolarity_t edgePolarity, ecapReset_t resetenable); -void ecapSetCaptureEvent2(ecapBASE_t *ecap, ecapEdgePolarity_t edgePolarity, ecapReset_t resetenable); -void ecapSetCaptureEvent3(ecapBASE_t *ecap, ecapEdgePolarity_t edgePolarity, ecapReset_t resetenable); -void ecapSetCaptureEvent4(ecapBASE_t *ecap, ecapEdgePolarity_t edgePolarity, ecapReset_t resetenable); -void ecapSetCaptureMode(ecapBASE_t *ecap, ecapMode_t capMode, ecapEvent_t event); -void ecapEnableCapture(ecapBASE_t *ecap); -void ecapDisableCapture(ecapBASE_t *ecap); -void ecapStartCounter(ecapBASE_t *ecap); -void ecapStopCounter(ecapBASE_t *ecap); -void ecapSetSyncOut(ecapBASE_t *ecap, ecapSyncOut_t syncOutSrc); -void ecapEnableAPWMmode(ecapBASE_t *ecap, ecapAPWMPolarity_t pwmPolarity, uint32 period, uint32 duty); -void ecapDisableAPWMMode(ecapBASE_t *ecap); -void ecapEnableInterrupt(ecapBASE_t *ecap, ecapInterrupt_t interrupts); -void ecapDisableInterrupt(ecapBASE_t *ecap, ecapInterrupt_t interrupts); -uint16 ecapGetEventStatus(ecapBASE_t *ecap, ecapInterrupt_t events); -void ecapClearFlag(ecapBASE_t *ecap, ecapInterrupt_t events); -uint32 ecapGetCAP1(ecapBASE_t *ecap); -uint32 ecapGetCAP2(ecapBASE_t *ecap); -uint32 ecapGetCAP3(ecapBASE_t *ecap); -uint32 ecapGetCAP4(ecapBASE_t *ecap); -void ecap1GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); -void ecap2GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); -void ecap3GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); -void ecap4GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); -void ecap5GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); -void ecap6GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); - -/** @brief Interrupt callback -* @param[in] ecap Handle to CAP object -* @param[in] flags Copy of interrupt flags -*/ -void ecapNotification(ecapBASE_t *ecap,uint16 flags); - -/**@}*/ - -#ifdef __cplusplus -} -#endif /*extern "C" */ - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ -#endif /*end of _CAP_H_ definition */ +/** @file ecap.h +* @brief ECAP Driver Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the ECAP driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __ECAP_H__ +#define __ECAP_H__ + +#include "reg_ecap.h" + + + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ +/** @brief Enumeration to define the capture (CAP) interrupts +*/ +typedef enum +{ + ecapInt_CTR_CMP = 0x0080U, /*< Denotes CTR = CMP interrupt */ + ecapInt_CTR_PRD = 0x0040U, /*< Denotes CTR = PRD interrupt */ + ecapInt_CTR_OVF = 0x0020U, /*< Denotes CTROVF interrupt */ + ecapInt_CEVT4 = 0x0010U, /*< Denotes CEVT4 interrupt */ + ecapInt_CEVT3 = 0x0008U, /*< Denotes CEVT3 interrupt */ + ecapInt_CEVT2 = 0x0004U, /*< Denotes CEVT2 interrupt */ + ecapInt_CEVT1 = 0x0002U, /*< Denotes CEVT1 interrupt */ + ecapInt_Global = 0x0001U, /*< Denotes Capture global interrupt */ + ecapInt_All = 0x00FFU /*< Denotes All interrupts */ +} ecapInterrupt_t; + +/** @brief Enumeration to define the capture (CAP) prescaler values +*/ +typedef enum +{ + ecapPrescale_By_1 = ((uint16)0U << 9U), /*< Divide by 1 */ + ecapPrescale_By_2 = ((uint16)1U << 9U), /*< Divide by 2 */ + ecapPrescale_By_4 = ((uint16)2U << 9U), /*< Divide by 4 */ + ecapPrescale_By_6 = ((uint16)3U << 9U), /*< Divide by 6 */ + ecapPrescale_By_8 = ((uint16)4U << 9U), /*< Divide by 8 */ + ecapPrescale_By_10 = ((uint16)5U << 9U), /*< Divide by 10 */ + ecapPrescale_By_12 = ((uint16)6U << 9U), /*< Divide by 12 */ + ecapPrescale_By_14 = ((uint16)7U << 9U), /*< Divide by 14 */ + ecapPrescale_By_16 = ((uint16)8U << 9U), /*< Divide by 16 */ + ecapPrescale_By_18 = ((uint16)9U << 9U), /*< Divide by 18 */ + ecapPrescale_By_20 = ((uint16)10U << 9U), /*< Divide by 20 */ + ecapPrescale_By_22 = ((uint16)11U << 9U), /*< Divide by 22 */ + ecapPrescale_By_24 = ((uint16)12U << 9U), /*< Divide by 24 */ + ecapPrescale_By_26 = ((uint16)13U << 9U), /*< Divide by 26 */ + ecapPrescale_By_28 = ((uint16)14U << 9U), /*< Divide by 28 */ + ecapPrescale_By_30 = ((uint16)15U << 9U), /*< Divide by 30 */ + ecapPrescale_By_32 = ((uint16)16U << 9U), /*< Divide by 32 */ + ecapPrescale_By_34 = ((uint16)17U << 9U), /*< Divide by 34 */ + ecapPrescale_By_36 = ((uint16)18U << 9U), /*< Divide by 36 */ + ecapPrescale_By_38 = ((uint16)19U << 9U), /*< Divide by 38 */ + ecapPrescale_By_40 = ((uint16)20U << 9U), /*< Divide by 40 */ + ecapPrescale_By_42 = ((uint16)21U << 9U), /*< Divide by 42 */ + ecapPrescale_By_44 = ((uint16)22U << 9U), /*< Divide by 44 */ + ecapPrescale_By_46 = ((uint16)23U << 9U), /*< Divide by 46 */ + ecapPrescale_By_48 = ((uint16)24U << 9U), /*< Divide by 48 */ + ecapPrescale_By_50 = ((uint16)25U << 9U), /*< Divide by 50 */ + ecapPrescale_By_52 = ((uint16)26U << 9U), /*< Divide by 52 */ + ecapPrescale_By_54 = ((uint16)27U << 9U), /*< Divide by 54 */ + ecapPrescale_By_56 = ((uint16)28U << 9U), /*< Divide by 56 */ + ecapPrescale_By_58 = ((uint16)29U << 9U), /*< Divide by 58 */ + ecapPrescale_By_60 = ((uint16)30U << 9U), /*< Divide by 60 */ + ecapPrescale_By_62 = ((uint16)31U << 9U) /*< Divide by 62 */ +} ecapPrescale_t; + +/** @brief Enumeration to define the Sync Out options +*/ +typedef enum +{ + SyncOut_SyncIn = ((uint16)0U << 6U), /*< Sync In used for Sync Out */ + SyncOut_CTRPRD = ((uint16)1U << 6U), /*< CTR = PRD used for Sync Out */ + SyncOut_None = ((uint16)2U << 6U) /*< Disables Sync Out */ +} ecapSyncOut_t; + +/** @brief Enumeration to define the Polarity +*/ +typedef enum +{ + RISING_EDGE = 0U, + FALLING_EDGE = 1U +}ecapEdgePolarity_t; + +typedef enum +{ + ACTIVE_HIGH = 0U, + ACTIVE_LOW = 1U +}ecapAPWMPolarity_t; + +/** @brief Enumeration to define the Mode of operation +*/ +typedef enum +{ + CONTINUOUS = 0U, + ONE_SHOT = 1U +}ecapMode_t; + +/** @brief Enumeration to define the capture events +*/ +typedef enum +{ + CAPTURE_EVENT1 = 0U, + CAPTURE_EVENT2 = 1U, + CAPTURE_EVENT3 = 2U, + CAPTURE_EVENT4 = 3U +}ecapEvent_t ; + +typedef enum +{ + RESET_ENABLE = 1U, + RESET_DISABLE = 0U +}ecapReset_t ; + +typedef struct ecap_config_reg + { + uint32 CONFIG_CTRPHS; + uint16 CONFIG_ECCTL1; + uint16 CONFIG_ECCTL2; + uint16 CONFIG_ECEINT; +}ecap_config_reg_t; + +#define ECAP1_CTRPHS_CONFIGVALUE 0x00000000U +#define ECAP1_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) +#define ECAP1_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) +#define ECAP1_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) + +#define ECAP2_CTRPHS_CONFIGVALUE 0x00000000U +#define ECAP2_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) +#define ECAP2_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) +#define ECAP2_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) + +#define ECAP3_CTRPHS_CONFIGVALUE 0x00000000U +#define ECAP3_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) +#define ECAP3_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) +#define ECAP3_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) + +#define ECAP4_CTRPHS_CONFIGVALUE 0x00000000U +#define ECAP4_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) +#define ECAP4_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) +#define ECAP4_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) + +#define ECAP5_CTRPHS_CONFIGVALUE 0x00000000U +#define ECAP5_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) +#define ECAP5_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) +#define ECAP5_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) + +#define ECAP6_CTRPHS_CONFIGVALUE 0x00000000U +#define ECAP6_ECCTL1_CONFIGVALUE ((uint16)((uint16)RISING_EDGE << 0U) | (uint16)((uint16)RESET_DISABLE << 1U) | (uint16)((uint16)RISING_EDGE << 2U) | (uint16)((uint16)RESET_DISABLE << 3U) | (uint16)((uint16)RISING_EDGE << 4U)| (uint16)((uint16)RESET_DISABLE << 5U) | (uint16)((uint16)RISING_EDGE << 6U) | (uint16)((uint16)RESET_DISABLE << 7U) | (uint16)((uint16)0U << 8U) | (uint16)((uint16)0U << 9U)) +#define ECAP6_ECCTL2_CONFIGVALUE ((uint16)((uint16)ONE_SHOT << 0U) | (uint16)((uint16)CAPTURE_EVENT1 << 1U) | (uint16)((uint16)0U << 9U) | (uint16)0x00000010U) +#define ECAP6_ECEINT_CONFIGVALUE (0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U | 0x0000U) + +/** + * @defgroup eCAP eCAP + * @brief Enhanced Capture Module. + * + * The enhanced Capture (eCAP) module is essential in systems where accurate timing of external events is + * important. This microcontroller implements 6 instances of the eCAP module. + * + * Related Files + * - reg_ecap.h + * - ecap.h + * - ecap.c + * @addtogroup eCAP + * @{ + */ +void ecapInit(void); +void ecapSetCounter(ecapBASE_t *ecap, uint32 value); +void ecapEnableCounterLoadOnSync(ecapBASE_t *ecap, uint32 phase); +void ecapDisableCounterLoadOnSync(ecapBASE_t *ecap); +void ecapSetEventPrescaler(ecapBASE_t *ecap, ecapPrescale_t prescale); +void ecapSetCaptureEvent1(ecapBASE_t *ecap, ecapEdgePolarity_t edgePolarity, ecapReset_t resetenable); +void ecapSetCaptureEvent2(ecapBASE_t *ecap, ecapEdgePolarity_t edgePolarity, ecapReset_t resetenable); +void ecapSetCaptureEvent3(ecapBASE_t *ecap, ecapEdgePolarity_t edgePolarity, ecapReset_t resetenable); +void ecapSetCaptureEvent4(ecapBASE_t *ecap, ecapEdgePolarity_t edgePolarity, ecapReset_t resetenable); +void ecapSetCaptureMode(ecapBASE_t *ecap, ecapMode_t capMode, ecapEvent_t event); +void ecapEnableCapture(ecapBASE_t *ecap); +void ecapDisableCapture(ecapBASE_t *ecap); +void ecapStartCounter(ecapBASE_t *ecap); +void ecapStopCounter(ecapBASE_t *ecap); +void ecapSetSyncOut(ecapBASE_t *ecap, ecapSyncOut_t syncOutSrc); +void ecapEnableAPWMmode(ecapBASE_t *ecap, ecapAPWMPolarity_t pwmPolarity, uint32 period, uint32 duty); +void ecapDisableAPWMMode(ecapBASE_t *ecap); +void ecapEnableInterrupt(ecapBASE_t *ecap, ecapInterrupt_t interrupts); +void ecapDisableInterrupt(ecapBASE_t *ecap, ecapInterrupt_t interrupts); +uint16 ecapGetEventStatus(ecapBASE_t *ecap, ecapInterrupt_t events); +void ecapClearFlag(ecapBASE_t *ecap, ecapInterrupt_t events); +uint32 ecapGetCAP1(ecapBASE_t *ecap); +uint32 ecapGetCAP2(ecapBASE_t *ecap); +uint32 ecapGetCAP3(ecapBASE_t *ecap); +uint32 ecapGetCAP4(ecapBASE_t *ecap); +void ecap1GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); +void ecap2GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); +void ecap3GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); +void ecap4GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); +void ecap5GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); +void ecap6GetConfigValue(ecap_config_reg_t *config_reg, config_value_type_t type); + +/** @brief Interrupt callback +* @param[in] ecap Handle to CAP object +* @param[in] flags Copy of interrupt flags +*/ +void ecapNotification(ecapBASE_t *ecap,uint16 flags); + +/**@}*/ + +#ifdef __cplusplus +} +#endif /*extern "C" */ + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ +#endif /*end of _CAP_H_ definition */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/eqep.h b/TestBoardFirmware/Testboard_HAL_drivers/include/eqep.h index 63d1637c..8e794f57 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/eqep.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/eqep.h @@ -1,716 +1,716 @@ -/** @file eqep.h -* @brief EQEP Driver Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __eQEP_H__ -#define __eQEP_H__ - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "reg_eqep.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/*QDECCTL Register */ -#define eQEP_QDECCTL_QSRC ((uint16)((uint16)3U << 14U)) /* "Reason - TI_Fee_Fix is a symbolic constant."*/ -#define TI_FEE_FLASH_ERROR_CORRECTION_HANDLING TI_Fee_Fix -#else -/*SAFETYMCUSW 79 S MR:19.4 "Reason - TI_Fee_None is a symbolic constant."*/ -#define TI_FEE_FLASH_ERROR_CORRECTION_HANDLING TI_Fee_None -#endif - -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_MAXIMUM_BLOCKING_TIME is a symbolic constant"*/ -#define TI_FEE_MAXIMUM_BLOCKING_TIME FEE_MAXIMUM_BLOCKING_TIME -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_OPERATING_FREQUENCY is a symbolic constant."*/ -#define TI_FEE_OPERATING_FREQUENCY FEE_OPERATING_FREQUENCY -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_FLASH_ERROR_CORRECTION_ENABLE is a symbolic constant."*/ -#define TI_FEE_FLASH_ERROR_CORRECTION_ENABLE FEE_FLASH_ERROR_CORRECTION_ENABLE -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_FLASH_CHECKSUM_ENABLE is a symbolic constant."*/ -#define TI_FEE_FLASH_CHECKSUM_ENABLE FEE_FLASH_CHECKSUM_ENABLE -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_FLASH_WRITECOUNTER_SAVE is a symbolic constant."*/ -#define TI_FEE_FLASH_WRITECOUNTER_SAVE FEE_FLASH_WRITECOUNTER_SAVE -/*SAFETYMCUSW 79 S MR:19.4 "Reason - NVM_DATASET_SELECTION_BITS is a symbolic constant."*/ -#define TI_FEE_DATASELECT_BITS NVM_DATASET_SELECTION_BITS -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_EEPS is a symbolic constant."*/ -#define TI_FEE_NUMBER_OF_EEPS FEE_NUMBER_OF_EEPS -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_INDEX is a symbolic constant."*/ -#define TI_FEE_INDEX FEE_INDEX -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_PAGE_OVERHEAD is a symbolic constant."*/ -#define TI_FEE_PAGE_OVERHEAD FEE_PAGE_OVERHEAD -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_BLOCK_OVERHEAD is a symbolic constant."*/ -#define TI_FEE_BLOCK_OVERHEAD FEE_BLOCK_OVERHEAD -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_VIRTUAL_PAGE_SIZE is a symbolic constant."*/ -#define TI_FEE_VIRTUAL_PAGE_SIZE FEE_VIRTUAL_PAGE_SIZE -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_VIRTUAL_SECTOR_OVERHEAD is a symbolic constant."*/ -#define TI_FEE_VIRTUAL_SECTOR_OVERHEAD FEE_VIRTUAL_SECTOR_OVERHEAD -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY is a symbolic constant."*/ -#define TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_EIGHTBYTEWRITES is a symbolic constant."*/ -#define TI_FEE_NUMBER_OF_EIGHTBYTEWRITES FEE_NUMBER_OF_EIGHTBYTEWRITES -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NVM_JOB_END_NOTIFICATION is a symbolic constant."*/ -#define TI_FEE_NVM_JOB_END_NOTIFICATION FEE_NVM_JOB_END_NOTIFICATION -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NVM_JOB_ERROR_NOTIFICATION is a symbolic constant."*/ -#define TI_FEE_NVM_JOB_ERROR_NOTIFICATION FEE_NVM_JOB_ERROR_NOTIFICATION -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_POLLING_MODE is a symbolic constant."*/ -#define TI_FEE_POLLING_MODE FEE_POLLING_MODE -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_CHECK_BANK7_ACCESS is a symbolic constant."*/ -#ifndef FEE_CHECK_BANK7_ACCESS -#define TI_FEE_CHECK_BANK7_ACCESS STD_ON -#else -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_CHECK_BANK7_ACCESS is a symbolic constant."*/ -#define TI_FEE_CHECK_BANK7_ACCESS STD_ON -#endif -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_TOTAL_BLOCKS_DATASETS is a symbolic constant."*/ -#define TI_FEE_TOTAL_BLOCKS_DATASETS FEE_TOTAL_BLOCKS_DATASETS -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_VIRTUALSECTOR_SIZE is a symbolic constant."*/ -#define TI_FEE_VIRTUALSECTOR_SIZE FEE_VIRTUALSECTOR_SIZE -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_PHYSICALSECTOR_SIZE is a symbolic constant."*/ -#define TI_FEE_PHYSICALSECTOR_SIZE FEE_PHYSICALSECTOR_SIZE -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC is a symbolic constant."*/ -#define TI_FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_USEPARTIALERASEDSECTOR is a symbolic constant."*/ -#define TI_FEE_USEPARTIALERASEDSECTOR FEE_USEPARTIALERASEDSECTOR - -/*----------------------------------------------------------------------------*/ -/* Virtual Sector Configuration */ - -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_VIRTUAL_SECTORS is a symbolic constant."*/ -/*SAFETYMCUSW 61 X MR:1.4,5.1 "Reason - Similar Identifier name is required here."*/ -#define TI_FEE_NUMBER_OF_VIRTUAL_SECTORS FEE_NUMBER_OF_VIRTUAL_SECTORS -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_VIRTUAL_SECTORS_EEP1 is a symbolic constant."*/ -/*SAFETYMCUSW 384 S MR:1.4,5.1 "Reason - Similar Identifier name is required here."*/ -/*SAFETYMCUSW 61 X MR:1.4,5.1 "Reason - Similar Identifier name is required here."*/ -#define TI_FEE_NUMBER_OF_VIRTUAL_SECTORS_EEP1 FEE_NUMBER_OF_VIRTUAL_SECTORS_EEP1 - - -/*----------------------------------------------------------------------------*/ -/* Block Configuration */ -/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_BLOCKS is a symbolic constant."*/ -#define TI_FEE_NUMBER_OF_BLOCKS FEE_NUMBER_OF_BLOCKS -/*SAFETYMCUSW 79 S MR:19.4 "Reason - TI_FEE_VARIABLE_DATASETS is a symbolic constant."*/ -#define TI_FEE_VARIABLE_DATASETS STD_ON - - -#endif /* TI_FEE_DRIVER */ - -#endif /* FEE_INTERFACE_H */ -/********************************************************************************************************************** - * END OF FILE: fee_interface.h - *********************************************************************************************************************/ +/********************************************************************************************************************** + * FILE DESCRIPTION + * ------------------------------------------------------------------------------------------------------------------- + * File: fee_interface.h + * Project: Tms570_TIFEEDriver + * Module: FEE Driver + * Generator: None + * + * Description: This file is interfce between Autosar FEE and TI FEE. + *--------------------------------------------------------------------------------------------------------------------- + * Author: Vishwanath Reddy + *--------------------------------------------------------------------------------------------------------------------- + * Revision History + *--------------------------------------------------------------------------------------------------------------------- + * Version Date Author Change ID Description + *--------------------------------------------------------------------------------------------------------------------- + * 00.01.00 07Sept2012 Vishwanath Reddy 0000000000000 Initial Version + * 00.01.01 14Sept2012 Vishwanath Reddy 0000000000000 Review changes + * 00.01.02 30Nov2012 Vishwanath Reddy SDOCM00097786 Misra Fixes, Memory segmentation changes. + * 00.01.03 14Jan2013 Vishwanath Reddy SDOCM00098510 Changes as requested by Vector. + * 00.01.06 11Mar2013 Vishwanath Reddy SDOCM00099152 Added feature : copying of unconfigured blocks. + * 00.01.07 15Mar2013 Vishwanath Reddy SDOCM00099152 Added feature : Number of 8 bytes writes, fixed + issue with copy blocks. + * 00.01.08 05Apr2013 Vishwanath Reddy SDOCM00099152 Added feature :CRC check for unconfigured blocks, + Main function modified to complete writes as fast + as possible, Added Non polling mode support. + * 01.12.00 13Dec2013 Vishwanath Reddy SDOCM00105412 Traceability tags added. + * MISRA C fixes. + * 01.21.00 15Oct2014 Vishwanath Reddy SDOCM00113379 RAM Optimization changes. Added mew ,acro + * TI_FEE_TOTAL_BLOCKS_DATASETS + * 01.22.00 26Dec2014 Vishwanath Reddy SDOCM00114423 Following new macros added. + * TI_FEE_VIRTUALSECTOR_SIZE, + * TI_FEE_PHYSICALSECTOR_SIZE, + * TI_FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC. + * 01.23.00 12Oct2015 Vishwanath Reddy SDOCM00119455 Update version history. + * 01.23.01 17Nov2015 Vishwanath Reddy SDOCM00120161 Updated version history. + * 01.23.02 10Mar2016 Vishwanath Reddy SDOCM00121622 Updated version history. + * 01.23.03 04Aug2016 Vishwanath Reddy SDOCM00122571 Update patch version FEE_SW_PATCH_VERSION. + * 01.23.04 12Aug2016 Vishwanath Reddy SDOCM00122592 TI_FEE_CHECK_BANK7_ACCESS is always turned on. + * FEE_FLASH_CRC_ENABLE is renamed to + * FEE_FLASH_CHECKSUM_ENABLE. + * New macro FEE_USEPARTIALERASEDSECTOR added. + * 01.23.05 05Dec2017 Prathap Srinivasan HERCULES_SW-5082 Update version history for AUTOSAR FEE + * (This corresponds to TI FEE 1.19.04.) + *********************************************************************************************************************/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +#ifndef FEE_INTERFACE_H +#define FEE_INTERFACE_H + + +#include "ti_fee_cfg.h" + +#if(TI_FEE_DRIVER == 0U) /* Include following macros only in Autosar Context */ +#include "fee_cfg.h" +#include "nvm.h" + +#define Fee_None 0x00U /* Take no action on single bit errors, (respond with corrected data), */ + /* return error for uncorrectable error reads (multi bit errors for ECC or parity failures). */ + /* For devices with no ECC (they may have parity or not) the only valid option is none. */ +#define Fee_Fix 0x01U /* single bit "zero" error will be fixed by reprogramming, single bit "one" error */ + /* will be fixed by marking the current entry as invalid and copying the data to a new entry,*/ + /* return error for uncorrectable error reads (multi bit errors for ECC or parity failures). */ + +#define TI_Fee_None 0x00U /* Take no action on single bit errors, (respond with corrected data), */ + /* return error for uncorrectable error reads(multibit errors for ECC or parity failures)*/ + /* For devices with no ECC (they may have parity or not) the only valid option is none. */ +#define TI_Fee_Fix 0x01U /* single bit "zero" error will be fixed by reprogramming, single bit "one" error */ + /* will be fixed by marking the current entry as invalid and copying the data to a new + entry, */ + /* return error for uncorrectable error reads (multi bit errors for ECC or parity + failures)*/ + + +#if(FEE_FLASH_ERROR_CORRECTION_HANDLING == Fee_Fix) +/*SAFETYMCUSW 79 S MR:19.4 "Reason - TI_Fee_Fix is a symbolic constant."*/ +#define TI_FEE_FLASH_ERROR_CORRECTION_HANDLING TI_Fee_Fix +#else +/*SAFETYMCUSW 79 S MR:19.4 "Reason - TI_Fee_None is a symbolic constant."*/ +#define TI_FEE_FLASH_ERROR_CORRECTION_HANDLING TI_Fee_None +#endif + +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_MAXIMUM_BLOCKING_TIME is a symbolic constant"*/ +#define TI_FEE_MAXIMUM_BLOCKING_TIME FEE_MAXIMUM_BLOCKING_TIME +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_OPERATING_FREQUENCY is a symbolic constant."*/ +#define TI_FEE_OPERATING_FREQUENCY FEE_OPERATING_FREQUENCY +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_FLASH_ERROR_CORRECTION_ENABLE is a symbolic constant."*/ +#define TI_FEE_FLASH_ERROR_CORRECTION_ENABLE FEE_FLASH_ERROR_CORRECTION_ENABLE +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_FLASH_CHECKSUM_ENABLE is a symbolic constant."*/ +#define TI_FEE_FLASH_CHECKSUM_ENABLE FEE_FLASH_CHECKSUM_ENABLE +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_FLASH_WRITECOUNTER_SAVE is a symbolic constant."*/ +#define TI_FEE_FLASH_WRITECOUNTER_SAVE FEE_FLASH_WRITECOUNTER_SAVE +/*SAFETYMCUSW 79 S MR:19.4 "Reason - NVM_DATASET_SELECTION_BITS is a symbolic constant."*/ +#define TI_FEE_DATASELECT_BITS NVM_DATASET_SELECTION_BITS +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_EEPS is a symbolic constant."*/ +#define TI_FEE_NUMBER_OF_EEPS FEE_NUMBER_OF_EEPS +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_INDEX is a symbolic constant."*/ +#define TI_FEE_INDEX FEE_INDEX +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_PAGE_OVERHEAD is a symbolic constant."*/ +#define TI_FEE_PAGE_OVERHEAD FEE_PAGE_OVERHEAD +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_BLOCK_OVERHEAD is a symbolic constant."*/ +#define TI_FEE_BLOCK_OVERHEAD FEE_BLOCK_OVERHEAD +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_VIRTUAL_PAGE_SIZE is a symbolic constant."*/ +#define TI_FEE_VIRTUAL_PAGE_SIZE FEE_VIRTUAL_PAGE_SIZE +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_VIRTUAL_SECTOR_OVERHEAD is a symbolic constant."*/ +#define TI_FEE_VIRTUAL_SECTOR_OVERHEAD FEE_VIRTUAL_SECTOR_OVERHEAD +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY is a symbolic constant."*/ +#define TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_EIGHTBYTEWRITES is a symbolic constant."*/ +#define TI_FEE_NUMBER_OF_EIGHTBYTEWRITES FEE_NUMBER_OF_EIGHTBYTEWRITES +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NVM_JOB_END_NOTIFICATION is a symbolic constant."*/ +#define TI_FEE_NVM_JOB_END_NOTIFICATION FEE_NVM_JOB_END_NOTIFICATION +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NVM_JOB_ERROR_NOTIFICATION is a symbolic constant."*/ +#define TI_FEE_NVM_JOB_ERROR_NOTIFICATION FEE_NVM_JOB_ERROR_NOTIFICATION +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_POLLING_MODE is a symbolic constant."*/ +#define TI_FEE_POLLING_MODE FEE_POLLING_MODE +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_CHECK_BANK7_ACCESS is a symbolic constant."*/ +#ifndef FEE_CHECK_BANK7_ACCESS +#define TI_FEE_CHECK_BANK7_ACCESS STD_ON +#else +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_CHECK_BANK7_ACCESS is a symbolic constant."*/ +#define TI_FEE_CHECK_BANK7_ACCESS STD_ON +#endif +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_TOTAL_BLOCKS_DATASETS is a symbolic constant."*/ +#define TI_FEE_TOTAL_BLOCKS_DATASETS FEE_TOTAL_BLOCKS_DATASETS +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_VIRTUALSECTOR_SIZE is a symbolic constant."*/ +#define TI_FEE_VIRTUALSECTOR_SIZE FEE_VIRTUALSECTOR_SIZE +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_PHYSICALSECTOR_SIZE is a symbolic constant."*/ +#define TI_FEE_PHYSICALSECTOR_SIZE FEE_PHYSICALSECTOR_SIZE +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC is a symbolic constant."*/ +#define TI_FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_USEPARTIALERASEDSECTOR is a symbolic constant."*/ +#define TI_FEE_USEPARTIALERASEDSECTOR FEE_USEPARTIALERASEDSECTOR + +/*----------------------------------------------------------------------------*/ +/* Virtual Sector Configuration */ + +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_VIRTUAL_SECTORS is a symbolic constant."*/ +/*SAFETYMCUSW 61 X MR:1.4,5.1 "Reason - Similar Identifier name is required here."*/ +#define TI_FEE_NUMBER_OF_VIRTUAL_SECTORS FEE_NUMBER_OF_VIRTUAL_SECTORS +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_VIRTUAL_SECTORS_EEP1 is a symbolic constant."*/ +/*SAFETYMCUSW 384 S MR:1.4,5.1 "Reason - Similar Identifier name is required here."*/ +/*SAFETYMCUSW 61 X MR:1.4,5.1 "Reason - Similar Identifier name is required here."*/ +#define TI_FEE_NUMBER_OF_VIRTUAL_SECTORS_EEP1 FEE_NUMBER_OF_VIRTUAL_SECTORS_EEP1 + + +/*----------------------------------------------------------------------------*/ +/* Block Configuration */ +/*SAFETYMCUSW 79 S MR:19.4 "Reason - FEE_NUMBER_OF_BLOCKS is a symbolic constant."*/ +#define TI_FEE_NUMBER_OF_BLOCKS FEE_NUMBER_OF_BLOCKS +/*SAFETYMCUSW 79 S MR:19.4 "Reason - TI_FEE_VARIABLE_DATASETS is a symbolic constant."*/ +#define TI_FEE_VARIABLE_DATASETS STD_ON + + +#endif /* TI_FEE_DRIVER */ + +#endif /* FEE_INTERFACE_H */ +/********************************************************************************************************************** + * END OF FILE: fee_interface.h + *********************************************************************************************************************/ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/gio.h b/TestBoardFirmware/Testboard_HAL_drivers/include/gio.h index a781d1a5..0d152bc1 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/gio.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/gio.h @@ -1,174 +1,174 @@ -/** @file gio.h -* @brief GIO Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __GIO_H__ -#define __GIO_H__ - -#include "reg_gio.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -typedef struct gio_config_reg -{ - uint32 CONFIG_INTDET; - uint32 CONFIG_POL; - uint32 CONFIG_INTENASET; - uint32 CONFIG_LVLSET; - - uint32 CONFIG_PORTADIR; - uint32 CONFIG_PORTAPDR; - uint32 CONFIG_PORTAPSL; - uint32 CONFIG_PORTAPULDIS; - - uint32 CONFIG_PORTBDIR; - uint32 CONFIG_PORTBPDR; - uint32 CONFIG_PORTBPSL; - uint32 CONFIG_PORTBPULDIS; -}gio_config_reg_t; - -#define GIO_INTDET_CONFIGVALUE 0U -#define GIO_POL_CONFIGVALUE ((uint32)((uint32)0U << 0U) \ - | (uint32)((uint32)0U << 1U) \ - | (uint32)((uint32)0U << 2U) \ - | (uint32)((uint32)0U << 3U) \ - | (uint32)((uint32)0U << 4U) \ - | (uint32)((uint32)0U << 5U) \ - | (uint32)((uint32)0U << 6U) \ - | (uint32)((uint32)0U << 7U) \ - | (uint32)((uint32)0U << 8U) \ - | (uint32)((uint32)0U << 9U) \ - | (uint32)((uint32)0U << 10U)\ - | (uint32)((uint32)0U << 11U)\ - | (uint32)((uint32)0U << 12U)\ - | (uint32)((uint32)0U << 13U)\ - | (uint32)((uint32)0U << 14U)\ - | (uint32)((uint32)0U << 15U)) - - -#define GIO_INTENASET_CONFIGVALUE ((uint32)((uint32)0U << 0U) \ - | (uint32)((uint32)0U << 1U) \ - | (uint32)((uint32)0U << 2U) \ - | (uint32)((uint32)0U << 3U) \ - | (uint32)((uint32)0U << 4U) \ - | (uint32)((uint32)0U << 5U) \ - | (uint32)((uint32)0U << 6U) \ - | (uint32)((uint32)0U << 7U) \ - | (uint32)((uint32)0U << 8U) \ - | (uint32)((uint32)0U << 9U) \ - | (uint32)((uint32)0U << 10U)\ - | (uint32)((uint32)0U << 11U)\ - | (uint32)((uint32)0U << 12U)\ - | (uint32)((uint32)0U << 13U)\ - | (uint32)((uint32)0U << 14U)\ - | (uint32)((uint32)0U << 15U)) - -#define GIO_LVLSET_CONFIGVALUE ((uint32)((uint32)0U << 0U) \ - | (uint32)((uint32)0U << 1U) \ - | (uint32)((uint32)0U << 2U) \ - | (uint32)((uint32)0U << 3U) \ - | (uint32)((uint32)0U << 4U) \ - | (uint32)((uint32)0U << 5U) \ - | (uint32)((uint32)0U << 6U) \ - | (uint32)((uint32)0U << 7U) \ - | (uint32)((uint32)0U << 8U) \ - | (uint32)((uint32)0U << 9U) \ - | (uint32)((uint32)0U << 10U)\ - | (uint32)((uint32)0U << 11U)\ - | (uint32)((uint32)0U << 12U)\ - | (uint32)((uint32)0U << 13U)\ - | (uint32)((uint32)0U << 14U)\ - | (uint32)((uint32)0U << 15U)) - -#define GIO_PORTADIR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) -#define GIO_PORTAPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) -#define GIO_PORTAPSL_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) -#define GIO_PORTAPULDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) |(uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) - -#define GIO_PORTBDIR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) -#define GIO_PORTBPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) -#define GIO_PORTBPSL_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) -#define GIO_PORTBPULDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) |(uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) - - -/** - * @defgroup GIO GIO - * @brief General-Purpose Input/Output Module. - * - * The GIO module provides the family of devices with input/output (I/O) capability. - * The I/O pins are bidirectional and bit-programmable. - * The GIO module also supports external interrupt capability. - * - * Related Files - * - reg_gio.h - * - gio.h - * - gio.c - * @addtogroup GIO - * @{ - */ - -/* GIO Interface Functions */ -void gioInit(void); -void gioSetDirection(gioPORT_t *port, uint32 dir); -void gioSetBit(gioPORT_t *port, uint32 bit, uint32 value); -void gioSetPort(gioPORT_t *port, uint32 value); -uint32 gioGetBit(gioPORT_t *port, uint32 bit); -uint32 gioGetPort(gioPORT_t *port); -void gioToggleBit(gioPORT_t *port, uint32 bit); -void gioEnableNotification(gioPORT_t *port, uint32 bit); -void gioDisableNotification(gioPORT_t *port, uint32 bit); -void gioNotification(gioPORT_t *port, uint32 bit); -void gioGetConfigValue(gio_config_reg_t *config_reg, config_value_type_t type); - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif /*extern "C" */ - -#endif +/** @file gio.h +* @brief GIO Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __GIO_H__ +#define __GIO_H__ + +#include "reg_gio.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +typedef struct gio_config_reg +{ + uint32 CONFIG_INTDET; + uint32 CONFIG_POL; + uint32 CONFIG_INTENASET; + uint32 CONFIG_LVLSET; + + uint32 CONFIG_PORTADIR; + uint32 CONFIG_PORTAPDR; + uint32 CONFIG_PORTAPSL; + uint32 CONFIG_PORTAPULDIS; + + uint32 CONFIG_PORTBDIR; + uint32 CONFIG_PORTBPDR; + uint32 CONFIG_PORTBPSL; + uint32 CONFIG_PORTBPULDIS; +}gio_config_reg_t; + +#define GIO_INTDET_CONFIGVALUE 0U +#define GIO_POL_CONFIGVALUE ((uint32)((uint32)0U << 0U) \ + | (uint32)((uint32)0U << 1U) \ + | (uint32)((uint32)0U << 2U) \ + | (uint32)((uint32)0U << 3U) \ + | (uint32)((uint32)0U << 4U) \ + | (uint32)((uint32)0U << 5U) \ + | (uint32)((uint32)0U << 6U) \ + | (uint32)((uint32)0U << 7U) \ + | (uint32)((uint32)0U << 8U) \ + | (uint32)((uint32)0U << 9U) \ + | (uint32)((uint32)0U << 10U)\ + | (uint32)((uint32)0U << 11U)\ + | (uint32)((uint32)0U << 12U)\ + | (uint32)((uint32)0U << 13U)\ + | (uint32)((uint32)0U << 14U)\ + | (uint32)((uint32)0U << 15U)) + + +#define GIO_INTENASET_CONFIGVALUE ((uint32)((uint32)0U << 0U) \ + | (uint32)((uint32)0U << 1U) \ + | (uint32)((uint32)0U << 2U) \ + | (uint32)((uint32)0U << 3U) \ + | (uint32)((uint32)0U << 4U) \ + | (uint32)((uint32)0U << 5U) \ + | (uint32)((uint32)0U << 6U) \ + | (uint32)((uint32)0U << 7U) \ + | (uint32)((uint32)0U << 8U) \ + | (uint32)((uint32)0U << 9U) \ + | (uint32)((uint32)0U << 10U)\ + | (uint32)((uint32)0U << 11U)\ + | (uint32)((uint32)0U << 12U)\ + | (uint32)((uint32)0U << 13U)\ + | (uint32)((uint32)0U << 14U)\ + | (uint32)((uint32)0U << 15U)) + +#define GIO_LVLSET_CONFIGVALUE ((uint32)((uint32)0U << 0U) \ + | (uint32)((uint32)0U << 1U) \ + | (uint32)((uint32)0U << 2U) \ + | (uint32)((uint32)0U << 3U) \ + | (uint32)((uint32)0U << 4U) \ + | (uint32)((uint32)0U << 5U) \ + | (uint32)((uint32)0U << 6U) \ + | (uint32)((uint32)0U << 7U) \ + | (uint32)((uint32)0U << 8U) \ + | (uint32)((uint32)0U << 9U) \ + | (uint32)((uint32)0U << 10U)\ + | (uint32)((uint32)0U << 11U)\ + | (uint32)((uint32)0U << 12U)\ + | (uint32)((uint32)0U << 13U)\ + | (uint32)((uint32)0U << 14U)\ + | (uint32)((uint32)0U << 15U)) + +#define GIO_PORTADIR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) +#define GIO_PORTAPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) +#define GIO_PORTAPSL_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) +#define GIO_PORTAPULDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) |(uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) + +#define GIO_PORTBDIR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) +#define GIO_PORTBPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) +#define GIO_PORTBPSL_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) +#define GIO_PORTBPULDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) |(uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 7U)) + + +/** + * @defgroup GIO GIO + * @brief General-Purpose Input/Output Module. + * + * The GIO module provides the family of devices with input/output (I/O) capability. + * The I/O pins are bidirectional and bit-programmable. + * The GIO module also supports external interrupt capability. + * + * Related Files + * - reg_gio.h + * - gio.h + * - gio.c + * @addtogroup GIO + * @{ + */ + +/* GIO Interface Functions */ +void gioInit(void); +void gioSetDirection(gioPORT_t *port, uint32 dir); +void gioSetBit(gioPORT_t *port, uint32 bit, uint32 value); +void gioSetPort(gioPORT_t *port, uint32 value); +uint32 gioGetBit(gioPORT_t *port, uint32 bit); +uint32 gioGetPort(gioPORT_t *port); +void gioToggleBit(gioPORT_t *port, uint32 bit); +void gioEnableNotification(gioPORT_t *port, uint32 bit); +void gioDisableNotification(gioPORT_t *port, uint32 bit); +void gioNotification(gioPORT_t *port, uint32 bit); +void gioGetConfigValue(gio_config_reg_t *config_reg, config_value_type_t type); + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif /*extern "C" */ + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/hal_stdtypes.h b/TestBoardFirmware/Testboard_HAL_drivers/include/hal_stdtypes.h index f3189ff6..501fcb58 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/hal_stdtypes.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/hal_stdtypes.h @@ -1,196 +1,196 @@ -/** @file hal_stdtypes.h -* @brief HALCoGen standard types header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Type and Global definitions which are relevant for all drivers. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __HAL_STDTYPES_H__ -#define __HAL_STDTYPES_H__ - -#include -#include - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ -/************************************************************/ -/* Type Definitions */ -/************************************************************/ -#ifndef _UINT64_DECLARED -typedef uint64_t uint64; -#define _UINT64_DECLARED -#endif - -#ifndef _UINT32_DECLARED -typedef uint32_t uint32; -#define _UINT32_DECLARED -#endif - -#ifndef _UINT16_DECLARED -typedef uint16_t uint16; -#define _UINT16_DECLARED -#endif - -#ifndef _UINT8_DECLARED -typedef uint8_t uint8; -#define _UINT8_DECLARED -#endif - -#ifndef _BOOLEAN_DECLARED -#ifdef __cplusplus -typedef bool boolean; -#else -typedef _Bool boolean; -#endif -#define _BOOLEAN_DECLARED -#endif - -#ifndef _SINT64_DECLARED -typedef int64_t sint64; -#define _SINT64_DECLARED -#endif - -#ifndef _SINT32_DECLARED -typedef int32_t sint32; -#define _SINT32_DECLARED -#endif - -#ifndef _SINT16_DECLARED -typedef int16_t sint16; -#define _SINT16_DECLARED -#endif - -#ifndef _SINT8_DECLARED -typedef int8_t sint8; -#define _SINT8_DECLARED -#endif - -#ifndef _FLOAT32_DECLARED -typedef float float32; -#define _FLOAT32_DECLARED -#endif - -#ifndef _FLOAT64_DECLARED -typedef double float64; -#define _FLOAT64_DECLARED -#endif - - -typedef uint8 Std_ReturnType; - -typedef struct -{ - uint16 vendorID; - uint16 moduleID; - uint8 instanceID; - uint8 sw_major_version; - uint8 sw_minor_version; - uint8 sw_patch_version; -} Std_VersionInfoType; - -/*****************************************************************************/ -/* SYMBOL DEFINITIONS */ -/*****************************************************************************/ -#ifndef STATUSTYPEDEFINED - #define STATUSTYPEDEFINED - #define E_OK 0x00U - - typedef unsigned char StatusType; -#endif - -#ifndef E_NOT_OK -#define E_NOT_OK 0x01U -#endif - -#ifndef STD_ON -#define STD_ON 0x01U -#endif - -#ifndef STD_OFF -#define STD_OFF 0x00U -#endif - - -/************************************************************/ -/* Global Definitions */ -/************************************************************/ -/** @def NULL -* @brief NULL definition -*/ - -#ifndef NULL - /*SAFETYMCUSW 218 S MR:20.2 "Custom Type Definition." */ - #define NULL ((void *) 0U) -#endif - -/*****************************************************************************/ -/* Define: NULL_PTR */ -/* Description: Void pointer to 0 */ -/*****************************************************************************/ -#ifndef NULL_PTR - #define NULL_PTR ((void *)0x0) -#endif - -/** @def TRUE -* @brief definition for TRUE -*/ -#ifndef TRUE - #define TRUE true -#endif - -/** @def FALSE -* @brief BOOLEAN definition for FALSE -*/ -#ifndef FALSE - #define FALSE false -#endif - -/*****************************************************************************/ -/* Define: NULL_PTR */ -/* Description: Void pointer to 0 */ -/*****************************************************************************/ -#ifndef NULL_PTR -#define NULL_PTR ((void *)0x0U) -#endif - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -#endif /* __HAL_STDTYPES_H__ */ +/** @file hal_stdtypes.h +* @brief HALCoGen standard types header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Type and Global definitions which are relevant for all drivers. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __HAL_STDTYPES_H__ +#define __HAL_STDTYPES_H__ + +#include +#include + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ +/************************************************************/ +/* Type Definitions */ +/************************************************************/ +#ifndef _UINT64_DECLARED +typedef uint64_t uint64; +#define _UINT64_DECLARED +#endif + +#ifndef _UINT32_DECLARED +typedef uint32_t uint32; +#define _UINT32_DECLARED +#endif + +#ifndef _UINT16_DECLARED +typedef uint16_t uint16; +#define _UINT16_DECLARED +#endif + +#ifndef _UINT8_DECLARED +typedef uint8_t uint8; +#define _UINT8_DECLARED +#endif + +#ifndef _BOOLEAN_DECLARED +#ifdef __cplusplus +typedef bool boolean; +#else +typedef _Bool boolean; +#endif +#define _BOOLEAN_DECLARED +#endif + +#ifndef _SINT64_DECLARED +typedef int64_t sint64; +#define _SINT64_DECLARED +#endif + +#ifndef _SINT32_DECLARED +typedef int32_t sint32; +#define _SINT32_DECLARED +#endif + +#ifndef _SINT16_DECLARED +typedef int16_t sint16; +#define _SINT16_DECLARED +#endif + +#ifndef _SINT8_DECLARED +typedef int8_t sint8; +#define _SINT8_DECLARED +#endif + +#ifndef _FLOAT32_DECLARED +typedef float float32; +#define _FLOAT32_DECLARED +#endif + +#ifndef _FLOAT64_DECLARED +typedef double float64; +#define _FLOAT64_DECLARED +#endif + + +typedef uint8 Std_ReturnType; + +typedef struct +{ + uint16 vendorID; + uint16 moduleID; + uint8 instanceID; + uint8 sw_major_version; + uint8 sw_minor_version; + uint8 sw_patch_version; +} Std_VersionInfoType; + +/*****************************************************************************/ +/* SYMBOL DEFINITIONS */ +/*****************************************************************************/ +#ifndef STATUSTYPEDEFINED + #define STATUSTYPEDEFINED + #define E_OK 0x00U + + typedef unsigned char StatusType; +#endif + +#ifndef E_NOT_OK +#define E_NOT_OK 0x01U +#endif + +#ifndef STD_ON +#define STD_ON 0x01U +#endif + +#ifndef STD_OFF +#define STD_OFF 0x00U +#endif + + +/************************************************************/ +/* Global Definitions */ +/************************************************************/ +/** @def NULL +* @brief NULL definition +*/ + +#ifndef NULL + /*SAFETYMCUSW 218 S MR:20.2 "Custom Type Definition." */ + #define NULL ((void *) 0U) +#endif + +/*****************************************************************************/ +/* Define: NULL_PTR */ +/* Description: Void pointer to 0 */ +/*****************************************************************************/ +#ifndef NULL_PTR + #define NULL_PTR ((void *)0x0) +#endif + +/** @def TRUE +* @brief definition for TRUE +*/ +#ifndef TRUE + #define TRUE true +#endif + +/** @def FALSE +* @brief BOOLEAN definition for FALSE +*/ +#ifndef FALSE + #define FALSE false +#endif + +/*****************************************************************************/ +/* Define: NULL_PTR */ +/* Description: Void pointer to 0 */ +/*****************************************************************************/ +#ifndef NULL_PTR +#define NULL_PTR ((void *)0x0U) +#endif + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +#endif /* __HAL_STDTYPES_H__ */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/het.h b/TestBoardFirmware/Testboard_HAL_drivers/include/het.h index 2a8a7bb7..a1fbe5ac 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/het.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/het.h @@ -1,671 +1,671 @@ -/** @file het.h -* @brief HET Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - -#ifndef __HET_H__ -#define __HET_H__ - -#include "reg_het.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/** @def pwm0 -* @brief Pwm signal 0 -* -* Alias for pwm signal 0 -*/ -#define pwm0 0U - -/** @def pwm1 -* @brief Pwm signal 1 -* -* Alias for pwm signal 1 -*/ -#define pwm1 1U - -/** @def pwm2 -* @brief Pwm signal 2 -* -* Alias for pwm signal 2 -*/ -#define pwm2 2U - -/** @def pwm3 -* @brief Pwm signal 3 -* -* Alias for pwm signal 3 -*/ -#define pwm3 3U - -/** @def pwm4 -* @brief Pwm signal 4 -* -* Alias for pwm signal 4 -*/ -#define pwm4 4U - -/** @def pwm5 -* @brief Pwm signal 5 -* -* Alias for pwm signal 5 -*/ -#define pwm5 5U - -/** @def pwm6 -* @brief Pwm signal 6 -* -* Alias for pwm signal 6 -*/ -#define pwm6 6U - -/** @def pwm7 -* @brief Pwm signal 7 -* -* Alias for pwm signal 7 -*/ -#define pwm7 7U - - -/** @def edge0 -* @brief Edge signal 0 -* -* Alias for edge signal 0 -*/ -#define edge0 0U - -/** @def edge1 -* @brief Edge signal 1 -* -* Alias for edge signal 1 -*/ -#define edge1 1U - -/** @def edge2 -* @brief Edge signal 2 -* -* Alias for edge signal 2 -*/ -#define edge2 2U - -/** @def edge3 -* @brief Edge signal 3 -* -* Alias for edge signal 3 -*/ -#define edge3 3U - -/** @def edge4 -* @brief Edge signal 4 -* -* Alias for edge signal 4 -*/ -#define edge4 4U - -/** @def edge5 -* @brief Edge signal 5 -* -* Alias for edge signal 5 -*/ -#define edge5 5U - -/** @def edge6 -* @brief Edge signal 6 -* -* Alias for edge signal 6 -*/ -#define edge6 6U - -/** @def edge7 -* @brief Edge signal 7 -* -* Alias for edge signal 7 -*/ -#define edge7 7U - - -/** @def cap0 -* @brief Capture signal 0 -* -* Alias for capture signal 0 -*/ -#define cap0 0U - -/** @def cap1 -* @brief Capture signal 1 -* -* Alias for capture signal 1 -*/ -#define cap1 1U - -/** @def cap2 -* @brief Capture signal 2 -* -* Alias for capture signal 2 -*/ -#define cap2 2U - -/** @def cap3 -* @brief Capture signal 3 -* -* Alias for capture signal 3 -*/ -#define cap3 3U - -/** @def cap4 -* @brief Capture signal 4 -* -* Alias for capture signal 4 -*/ -#define cap4 4U - -/** @def cap5 -* @brief Capture signal 5 -* -* Alias for capture signal 5 -*/ -#define cap5 5U - -/** @def cap6 -* @brief Capture signal 6 -* -* Alias for capture signal 6 -*/ -#define cap6 6U - -/** @def cap7 -* @brief Capture signal 7 -* -* Alias for capture signal 7 -*/ -#define cap7 7U - -/** @def pwmEND_OF_DUTY -* @brief Pwm end of duty -* -* Alias for pwm end of duty notification -*/ -#define pwmEND_OF_DUTY 2U - -/** @def pwmEND_OF_PERIOD -* @brief Pwm end of period -* -* Alias for pwm end of period notification -*/ -#define pwmEND_OF_PERIOD 4U - -/** @def pwmEND_OF_BOTH -* @brief Pwm end of duty and period -* -* Alias for pwm end of duty and period notification -*/ -#define pwmEND_OF_BOTH 6U - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @struct hetBase -* @brief HET Register Definition -* -* This structure is used to access the HET module registers. -*/ -/** @typedef hetBASE_t -* @brief HET Register Frame Type Definition -* -* This type is used to access the HET Registers. -*/ - -enum hetPinSelect -{ - PIN_HET_0 = 0U, - PIN_HET_1 = 1U, - PIN_HET_2 = 2U, - PIN_HET_3 = 3U, - PIN_HET_4 = 4U, - PIN_HET_5 = 5U, - PIN_HET_6 = 6U, - PIN_HET_7 = 7U, - PIN_HET_8 = 8U, - PIN_HET_9 = 9U, - PIN_HET_10 = 10U, - PIN_HET_11 = 11U, - PIN_HET_12 = 12U, - PIN_HET_13 = 13U, - PIN_HET_14 = 14U, - PIN_HET_15 = 15U, - PIN_HET_16 = 16U, - PIN_HET_17 = 17U, - PIN_HET_18 = 18U, - PIN_HET_19 = 19U, - PIN_HET_20 = 20U, - PIN_HET_21 = 21U, - PIN_HET_22 = 22U, - PIN_HET_23 = 23U, - PIN_HET_24 = 24U, - PIN_HET_25 = 25U, - PIN_HET_26 = 26U, - PIN_HET_27 = 27U, - PIN_HET_28 = 28U, - PIN_HET_29 = 29U, - PIN_HET_30 = 30U, - PIN_HET_31 = 31U -}; - - -/** @struct hetSignal -* @brief HET Signal Definition -* -* This structure is used to define a pwm signal. -*/ -/** @typedef hetSIGNAL_t -* @brief HET Signal Type Definition -* -* This type is used to access HET Signal Information. -*/ -typedef struct hetSignal -{ - uint32 duty; /**< Duty cycle in % of the period */ - float64 period; /**< Period in us */ -} hetSIGNAL_t; - - -/* Configuration registers */ -typedef struct het_config_reg -{ - uint32 CONFIG_GCR; - uint32 CONFIG_PFR; - uint32 CONFIG_INTENAS; - uint32 CONFIG_INTENAC; - uint32 CONFIG_PRY; - uint32 CONFIG_AND; - uint32 CONFIG_HRSH; - uint32 CONFIG_XOR; - uint32 CONFIG_DIR; - uint32 CONFIG_PDR; - uint32 CONFIG_PULDIS; - uint32 CONFIG_PSL; - uint32 CONFIG_PCR; -} het_config_reg_t; - -/* Configuration registers initial value for HET1*/ -#define HET1_DIR_CONFIGVALUE ((uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U) - -#define HET1_PDR_CONFIGVALUE ((uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U) - -#define HET1_PULDIS_CONFIGVALUE ((uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U) - -#define HET1_PSL_CONFIGVALUE ((uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00008000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U) - -#define HET1_HRSH_CONFIGVALUE ((uint32)0x00008000U \ - | (uint32)0x00004000U \ - | (uint32)0x00002000U \ - | (uint32)0x00001000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000008U \ - | (uint32)0x00000004U \ - | (uint32)0x00000002U \ - | (uint32)0x00000001U) - -#define HET1_AND_CONFIGVALUE ((uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U) - -#define HET1_XOR_CONFIGVALUE ((uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U) - -#define HET1_PFR_CONFIGVALUE (((uint32)6U << 8U) | (uint32)0U) - - -#define HET1_PRY_CONFIGVALUE ((uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00020000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U) - -#define HET1_INTENAC_CONFIGVALUE ((uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00020000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U) - -#define HET1_INTENAS_CONFIGVALUE ((uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00020000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U \ - | (uint32)0x00000000U) - -#define HET1_PCR_CONFIGVALUE ((uint32)0x00000005U) -#define HET1_GCR_CONFIGVALUE 0x00030001U - - - - -/** - * @defgroup HET HET - * @brief HighEnd Timer Module. - * - * The HET is a software-controlled timer with a dedicated specialized timer micromachine and a set of 30 instructions. - * The HET micromachine is connected to a port of up to 32 input/output (I/O) pins. - * - * Related Files - * - reg_het.h - * - het.h - * - het.c - * - reg_htu.h - * - htu.h - * - std_nhet.h - * @addtogroup HET - * @{ - */ - -/* HET Interface Functions */ -void hetInit(void); - -/* PWM Interface Functions */ -void pwmStart(hetRAMBASE_t * hetRAM,uint32 pwm); -void pwmStop(hetRAMBASE_t * hetRAM,uint32 pwm); -void pwmSetDuty(hetRAMBASE_t * hetRAM,uint32 pwm, uint32 pwmDuty); -void pwmSetSignal(hetRAMBASE_t * hetRAM,uint32 pwm, hetSIGNAL_t signal); -void pwmGetSignal(hetRAMBASE_t * hetRAM,uint32 pwm, hetSIGNAL_t *signal); -void pwmEnableNotification(hetBASE_t * hetREG,uint32 pwm, uint32 notification); -void pwmDisableNotification(hetBASE_t * hetREG,uint32 pwm, uint32 notification); -void pwmNotification(hetBASE_t * hetREG,uint32 pwm, uint32 notification); - -/* Edge Interface Functions */ -void edgeResetCounter(hetRAMBASE_t * hetRAM,uint32 edge); -uint32 edgeGetCounter(hetRAMBASE_t * hetRAM,uint32 edge); -void edgeEnableNotification(hetBASE_t * hetREG,uint32 edge); -void edgeDisableNotification(hetBASE_t * hetREG,uint32 edge); -void edgeNotification(hetBASE_t * hetREG,uint32 edge); - -/* Captured Signal Interface Functions */ -void capGetSignal(hetRAMBASE_t * hetRAM, uint32 cap, hetSIGNAL_t *signal); - -/* Timestamp Interface Functions */ -void hetResetTimestamp(hetRAMBASE_t * hetRAM); -uint32 hetGetTimestamp(hetRAMBASE_t * hetRAM); -void het1GetConfigValue(het_config_reg_t *config_reg, config_value_type_t type); - -/** @fn void hetNotification(hetBASE_t *het, uint32 offset) -* @brief het interrupt callback -* @param[in] het - Het module base address -* - hetREG1: HET1 module base address pointer -* - hetREG2: HET2 module base address pointer -* @param[in] offset - het interrupt offset / Source number -* -* @note This function has to be provide by the user. -* -* This is a interrupt callback that is provided by the application and is call upon -* an het interrupt. The parameter passed to the callback is a copy of the interrupt -* offset register which is used to decode the interrupt source. -*/ -void hetNotification(hetBASE_t *het, uint32 offset); - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif /*extern "C" */ - -#endif +/** @file het.h +* @brief HET Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + +#ifndef __HET_H__ +#define __HET_H__ + +#include "reg_het.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/** @def pwm0 +* @brief Pwm signal 0 +* +* Alias for pwm signal 0 +*/ +#define pwm0 0U + +/** @def pwm1 +* @brief Pwm signal 1 +* +* Alias for pwm signal 1 +*/ +#define pwm1 1U + +/** @def pwm2 +* @brief Pwm signal 2 +* +* Alias for pwm signal 2 +*/ +#define pwm2 2U + +/** @def pwm3 +* @brief Pwm signal 3 +* +* Alias for pwm signal 3 +*/ +#define pwm3 3U + +/** @def pwm4 +* @brief Pwm signal 4 +* +* Alias for pwm signal 4 +*/ +#define pwm4 4U + +/** @def pwm5 +* @brief Pwm signal 5 +* +* Alias for pwm signal 5 +*/ +#define pwm5 5U + +/** @def pwm6 +* @brief Pwm signal 6 +* +* Alias for pwm signal 6 +*/ +#define pwm6 6U + +/** @def pwm7 +* @brief Pwm signal 7 +* +* Alias for pwm signal 7 +*/ +#define pwm7 7U + + +/** @def edge0 +* @brief Edge signal 0 +* +* Alias for edge signal 0 +*/ +#define edge0 0U + +/** @def edge1 +* @brief Edge signal 1 +* +* Alias for edge signal 1 +*/ +#define edge1 1U + +/** @def edge2 +* @brief Edge signal 2 +* +* Alias for edge signal 2 +*/ +#define edge2 2U + +/** @def edge3 +* @brief Edge signal 3 +* +* Alias for edge signal 3 +*/ +#define edge3 3U + +/** @def edge4 +* @brief Edge signal 4 +* +* Alias for edge signal 4 +*/ +#define edge4 4U + +/** @def edge5 +* @brief Edge signal 5 +* +* Alias for edge signal 5 +*/ +#define edge5 5U + +/** @def edge6 +* @brief Edge signal 6 +* +* Alias for edge signal 6 +*/ +#define edge6 6U + +/** @def edge7 +* @brief Edge signal 7 +* +* Alias for edge signal 7 +*/ +#define edge7 7U + + +/** @def cap0 +* @brief Capture signal 0 +* +* Alias for capture signal 0 +*/ +#define cap0 0U + +/** @def cap1 +* @brief Capture signal 1 +* +* Alias for capture signal 1 +*/ +#define cap1 1U + +/** @def cap2 +* @brief Capture signal 2 +* +* Alias for capture signal 2 +*/ +#define cap2 2U + +/** @def cap3 +* @brief Capture signal 3 +* +* Alias for capture signal 3 +*/ +#define cap3 3U + +/** @def cap4 +* @brief Capture signal 4 +* +* Alias for capture signal 4 +*/ +#define cap4 4U + +/** @def cap5 +* @brief Capture signal 5 +* +* Alias for capture signal 5 +*/ +#define cap5 5U + +/** @def cap6 +* @brief Capture signal 6 +* +* Alias for capture signal 6 +*/ +#define cap6 6U + +/** @def cap7 +* @brief Capture signal 7 +* +* Alias for capture signal 7 +*/ +#define cap7 7U + +/** @def pwmEND_OF_DUTY +* @brief Pwm end of duty +* +* Alias for pwm end of duty notification +*/ +#define pwmEND_OF_DUTY 2U + +/** @def pwmEND_OF_PERIOD +* @brief Pwm end of period +* +* Alias for pwm end of period notification +*/ +#define pwmEND_OF_PERIOD 4U + +/** @def pwmEND_OF_BOTH +* @brief Pwm end of duty and period +* +* Alias for pwm end of duty and period notification +*/ +#define pwmEND_OF_BOTH 6U + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @struct hetBase +* @brief HET Register Definition +* +* This structure is used to access the HET module registers. +*/ +/** @typedef hetBASE_t +* @brief HET Register Frame Type Definition +* +* This type is used to access the HET Registers. +*/ + +enum hetPinSelect +{ + PIN_HET_0 = 0U, + PIN_HET_1 = 1U, + PIN_HET_2 = 2U, + PIN_HET_3 = 3U, + PIN_HET_4 = 4U, + PIN_HET_5 = 5U, + PIN_HET_6 = 6U, + PIN_HET_7 = 7U, + PIN_HET_8 = 8U, + PIN_HET_9 = 9U, + PIN_HET_10 = 10U, + PIN_HET_11 = 11U, + PIN_HET_12 = 12U, + PIN_HET_13 = 13U, + PIN_HET_14 = 14U, + PIN_HET_15 = 15U, + PIN_HET_16 = 16U, + PIN_HET_17 = 17U, + PIN_HET_18 = 18U, + PIN_HET_19 = 19U, + PIN_HET_20 = 20U, + PIN_HET_21 = 21U, + PIN_HET_22 = 22U, + PIN_HET_23 = 23U, + PIN_HET_24 = 24U, + PIN_HET_25 = 25U, + PIN_HET_26 = 26U, + PIN_HET_27 = 27U, + PIN_HET_28 = 28U, + PIN_HET_29 = 29U, + PIN_HET_30 = 30U, + PIN_HET_31 = 31U +}; + + +/** @struct hetSignal +* @brief HET Signal Definition +* +* This structure is used to define a pwm signal. +*/ +/** @typedef hetSIGNAL_t +* @brief HET Signal Type Definition +* +* This type is used to access HET Signal Information. +*/ +typedef struct hetSignal +{ + uint32 duty; /**< Duty cycle in % of the period */ + float64 period; /**< Period in us */ +} hetSIGNAL_t; + + +/* Configuration registers */ +typedef struct het_config_reg +{ + uint32 CONFIG_GCR; + uint32 CONFIG_PFR; + uint32 CONFIG_INTENAS; + uint32 CONFIG_INTENAC; + uint32 CONFIG_PRY; + uint32 CONFIG_AND; + uint32 CONFIG_HRSH; + uint32 CONFIG_XOR; + uint32 CONFIG_DIR; + uint32 CONFIG_PDR; + uint32 CONFIG_PULDIS; + uint32 CONFIG_PSL; + uint32 CONFIG_PCR; +} het_config_reg_t; + +/* Configuration registers initial value for HET1*/ +#define HET1_DIR_CONFIGVALUE ((uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U) + +#define HET1_PDR_CONFIGVALUE ((uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U) + +#define HET1_PULDIS_CONFIGVALUE ((uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U) + +#define HET1_PSL_CONFIGVALUE ((uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00008000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U) + +#define HET1_HRSH_CONFIGVALUE ((uint32)0x00008000U \ + | (uint32)0x00004000U \ + | (uint32)0x00002000U \ + | (uint32)0x00001000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000008U \ + | (uint32)0x00000004U \ + | (uint32)0x00000002U \ + | (uint32)0x00000001U) + +#define HET1_AND_CONFIGVALUE ((uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U) + +#define HET1_XOR_CONFIGVALUE ((uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U) + +#define HET1_PFR_CONFIGVALUE (((uint32)6U << 8U) | (uint32)0U) + + +#define HET1_PRY_CONFIGVALUE ((uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00020000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U) + +#define HET1_INTENAC_CONFIGVALUE ((uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00020000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U) + +#define HET1_INTENAS_CONFIGVALUE ((uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00020000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U \ + | (uint32)0x00000000U) + +#define HET1_PCR_CONFIGVALUE ((uint32)0x00000005U) +#define HET1_GCR_CONFIGVALUE 0x00030001U + + + + +/** + * @defgroup HET HET + * @brief HighEnd Timer Module. + * + * The HET is a software-controlled timer with a dedicated specialized timer micromachine and a set of 30 instructions. + * The HET micromachine is connected to a port of up to 32 input/output (I/O) pins. + * + * Related Files + * - reg_het.h + * - het.h + * - het.c + * - reg_htu.h + * - htu.h + * - std_nhet.h + * @addtogroup HET + * @{ + */ + +/* HET Interface Functions */ +void hetInit(void); + +/* PWM Interface Functions */ +void pwmStart(hetRAMBASE_t * hetRAM,uint32 pwm); +void pwmStop(hetRAMBASE_t * hetRAM,uint32 pwm); +void pwmSetDuty(hetRAMBASE_t * hetRAM,uint32 pwm, uint32 pwmDuty); +void pwmSetSignal(hetRAMBASE_t * hetRAM,uint32 pwm, hetSIGNAL_t signal); +void pwmGetSignal(hetRAMBASE_t * hetRAM,uint32 pwm, hetSIGNAL_t *signal); +void pwmEnableNotification(hetBASE_t * hetREG,uint32 pwm, uint32 notification); +void pwmDisableNotification(hetBASE_t * hetREG,uint32 pwm, uint32 notification); +void pwmNotification(hetBASE_t * hetREG,uint32 pwm, uint32 notification); + +/* Edge Interface Functions */ +void edgeResetCounter(hetRAMBASE_t * hetRAM,uint32 edge); +uint32 edgeGetCounter(hetRAMBASE_t * hetRAM,uint32 edge); +void edgeEnableNotification(hetBASE_t * hetREG,uint32 edge); +void edgeDisableNotification(hetBASE_t * hetREG,uint32 edge); +void edgeNotification(hetBASE_t * hetREG,uint32 edge); + +/* Captured Signal Interface Functions */ +void capGetSignal(hetRAMBASE_t * hetRAM, uint32 cap, hetSIGNAL_t *signal); + +/* Timestamp Interface Functions */ +void hetResetTimestamp(hetRAMBASE_t * hetRAM); +uint32 hetGetTimestamp(hetRAMBASE_t * hetRAM); +void het1GetConfigValue(het_config_reg_t *config_reg, config_value_type_t type); + +/** @fn void hetNotification(hetBASE_t *het, uint32 offset) +* @brief het interrupt callback +* @param[in] het - Het module base address +* - hetREG1: HET1 module base address pointer +* - hetREG2: HET2 module base address pointer +* @param[in] offset - het interrupt offset / Source number +* +* @note This function has to be provide by the user. +* +* This is a interrupt callback that is provided by the application and is call upon +* an het interrupt. The parameter passed to the callback is a copy of the interrupt +* offset register which is used to decode the interrupt source. +*/ +void hetNotification(hetBASE_t *het, uint32 offset); + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif /*extern "C" */ + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/htu.h b/TestBoardFirmware/Testboard_HAL_drivers/include/htu.h index e17deea7..ef5ab65a 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/htu.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/htu.h @@ -1,71 +1,71 @@ -/** @file htu.h -* @brief HTU Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - -#ifndef __HTU_H__ -#define __HTU_H__ - -#include "reg_htu.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* HTU General Definitions */ - -#define HTU1PARLOC (*(volatile uint32 *)0xFF4E0200U) -#define HTU2PARLOC (*(volatile uint32 *)0xFF4C0200U) - -#define HTU1RAMLOC (*(volatile uint32 *)0xFF4E0000U) -#define HTU2RAMLOC (*(volatile uint32 *)0xFF4C0000U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -#ifdef __cplusplus -} -#endif /*extern "C" */ - -#endif +/** @file htu.h +* @brief HTU Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + +#ifndef __HTU_H__ +#define __HTU_H__ + +#include "reg_htu.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* HTU General Definitions */ + +#define HTU1PARLOC (*(volatile uint32 *)0xFF4E0200U) +#define HTU2PARLOC (*(volatile uint32 *)0xFF4C0200U) + +#define HTU1RAMLOC (*(volatile uint32 *)0xFF4E0000U) +#define HTU2RAMLOC (*(volatile uint32 *)0xFF4C0000U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +#ifdef __cplusplus +} +#endif /*extern "C" */ + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/i2c.h b/TestBoardFirmware/Testboard_HAL_drivers/include/i2c.h index f76ebcde..986081c2 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/i2c.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/i2c.h @@ -1,228 +1,228 @@ -/** @file I2C.h -* @brief I2C Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __I2C_H__ -#define __I2C_H__ - -#include "reg_i2c.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/** @enum i2cMode -* @brief Alias names for i2c modes -* This enumeration is used to provide alias names for I2C modes: -*/ - -enum i2cMode -{ - I2C_FD_FORMAT = 0x0008U, /* Free Data Format */ - I2C_START_BYTE = 0x0010U, - I2C_RESET_OUT = 0x0020U, I2C_RESET_IN = 0x0000U, - I2C_DLOOPBACK = 0x0040U, - I2C_REPEATMODE = 0x0080U, /* In Master Mode only */ - I2C_10BIT_AMODE = 0x0100U, I2C_7BIT_AMODE = 0x0000U, - I2C_TRANSMITTER = 0x0200U, I2C_RECEIVER = 0x0000U, - I2C_MASTER = 0x0400U, I2C_SLAVE = 0x0000U, - I2C_STOP_COND = 0x0800U, /* In Master Mode only */ - I2C_START_COND = 0x2000U, /* In Master Mode only */ - I2C_FREE_RUN = 0x4000U, - I2C_NACK_MODE = 0x8000U -}; - - -/** @enum i2cBitCount -* @brief Alias names for i2c bit count -* This enumeration is used to provide alias names for I2C bit count: -*/ - -enum i2cBitCount -{ - I2C_2_BIT = 0x2U, - I2C_3_BIT = 0x3U, - I2C_4_BIT = 0x4U, - I2C_5_BIT = 0x5U, - I2C_6_BIT = 0x6U, - I2C_7_BIT = 0x7U, - I2C_8_BIT = 0x0U -}; - - - -/** @enum i2cIntFlags -* @brief Interrupt Flag Definitions -* -* Used with I2CEnableNotification, I2CDisableNotification -*/ -enum i2cIntFlags -{ - I2C_AL_INT = 0x0001U, /* arbitration lost */ - I2C_NACK_INT = 0x0002U, /* no acknowledgment */ - I2C_ARDY_INT = 0x0004U, /* access ready */ - I2C_RX_INT = 0x0008U, /* receive data ready */ - I2C_TX_INT = 0x0010U, /* transmit data ready */ - I2C_SCD_INT = 0x0020U, /* stop condition detect */ - I2C_AAS_INT = 0x0040U /* address as slave */ -}; - - -/** @enum i2cStatFlags -* @brief Interrupt Status Definitions -* -*/ -enum i2cStatFlags -{ - I2C_AL = 0x0001U, /* arbitration lost */ - I2C_NACK = 0x0002U, /* no acknowledgement */ - I2C_ARDY = 0x0004U, /* access ready */ - I2C_RX = 0x0008U, /* receive data ready */ - I2C_TX = 0x0010U, /* transmit data ready */ - I2C_SCD = 0x0020U, /* stop condition detect */ - I2C_AD0 = 0x0100U, /* address Zero Status */ - I2C_AAS = 0x0200U, /* address as slave */ - I2C_XSMT = 0x0400U, /* Transmit shift empty not */ - I2C_RXFULL = 0x0800U, /* receive full */ - I2C_BUSBUSY = 0x1000U, /* bus busy */ - I2C_NACKSNT = 0x2000U, /* No Ack Sent */ - I2C_SDIR = 0x4000U /* Slave Direction */ -}; - - -/** @enum i2cDMA -* @brief I2C DMA definitions -* -* Used before i2c transfer -*/ -enum i2cDMA -{ - I2C_TXDMA = 0x20U, - I2C_RXDMA = 0x10U -}; - -/* Configuration registers */ -typedef struct i2c_config_reg -{ - uint32 CONFIG_OAR; - uint32 CONFIG_IMR; - uint32 CONFIG_CLKL; - uint32 CONFIG_CLKH; - uint32 CONFIG_CNT; - uint32 CONFIG_SAR; - uint32 CONFIG_MDR; - uint32 CONFIG_EMDR; - uint32 CONFIG_PSC; - uint32 CONFIG_DMAC; - uint32 CONFIG_FUN; - uint32 CONFIG_DIR; - uint32 CONFIG_ODR; - uint32 CONFIG_PD; - uint32 CONFIG_PSL; -} i2c_config_reg_t; - - -/** - * @defgroup I2C I2C - * @brief Inter-Integrated Circuit Module. - * - * The I2C is a multi-master communication module providing an interface between the Texas Instruments (TI) microcontroller - * and devices compliant with Philips Semiconductor I2C-bus specification version 2.1 and connected by an I2Cbus. - * This module will support any slave or master I2C compatible device. - * - * Related Files - * - reg_i2c.h - * - i2c.h - * - i2c.c - * @addtogroup I2C - * @{ - */ - -/* I2C Interface Functions */ -void i2cInit(void); -void i2cSetOwnAdd(i2cBASE_t *i2c, uint32 oadd); -void i2cSetSlaveAdd(i2cBASE_t *i2c, uint32 sadd); -void i2cSetBaudrate(i2cBASE_t *i2c, uint32 baud); -uint32 i2cIsTxReady(i2cBASE_t *i2c); -void i2cSendByte(i2cBASE_t *i2c, uint8 byte); -void i2cSend(i2cBASE_t *i2c, uint32 length, uint8 * data); -uint32 i2cIsRxReady(i2cBASE_t *i2c); -uint32 i2cIsStopDetected(i2cBASE_t *i2c); -void i2cClearSCD(i2cBASE_t *i2c); -uint32 i2cRxError(i2cBASE_t *i2c); -uint8 i2cReceiveByte(i2cBASE_t *i2c); -void i2cReceive(i2cBASE_t *i2c, uint32 length, uint8 * data); -void i2cEnableNotification(i2cBASE_t *i2c, uint32 flags); -void i2cDisableNotification(i2cBASE_t *i2c, uint32 flags); -void i2cSetStart(i2cBASE_t *i2c); -void i2cSetStop(i2cBASE_t *i2c); -void i2cSetCount(i2cBASE_t *i2c ,uint32 cnt); -void i2cEnableLoopback(i2cBASE_t *i2c); -void i2cDisableLoopback(i2cBASE_t *i2c); -void i2cSetMode(i2cBASE_t *i2c, uint32 mode); -void i2cGetConfigValue(i2c_config_reg_t *config_reg, config_value_type_t type); -void i2cSetDirection(i2cBASE_t *i2c, uint32 dir); -bool i2cIsMasterReady(i2cBASE_t *i2c); -bool i2cIsBusBusy(i2cBASE_t *i2c); - -/** @fn void i2cNotification(i2cBASE_t *i2c, uint32 flags) -* @brief Interrupt callback -* @param[in] i2c - I2C module base address -* @param[in] flags - copy of error interrupt flags -* -* This is a callback that is provided by the application and is called apon -* an interrupt. The parameter passed to the callback is a copy of the -* interrupt flag register. -*/ -void i2cNotification(i2cBASE_t *i2c, uint32 flags); - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif /*extern "C" */ - -#endif +/** @file I2C.h +* @brief I2C Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __I2C_H__ +#define __I2C_H__ + +#include "reg_i2c.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/** @enum i2cMode +* @brief Alias names for i2c modes +* This enumeration is used to provide alias names for I2C modes: +*/ + +enum i2cMode +{ + I2C_FD_FORMAT = 0x0008U, /* Free Data Format */ + I2C_START_BYTE = 0x0010U, + I2C_RESET_OUT = 0x0020U, I2C_RESET_IN = 0x0000U, + I2C_DLOOPBACK = 0x0040U, + I2C_REPEATMODE = 0x0080U, /* In Master Mode only */ + I2C_10BIT_AMODE = 0x0100U, I2C_7BIT_AMODE = 0x0000U, + I2C_TRANSMITTER = 0x0200U, I2C_RECEIVER = 0x0000U, + I2C_MASTER = 0x0400U, I2C_SLAVE = 0x0000U, + I2C_STOP_COND = 0x0800U, /* In Master Mode only */ + I2C_START_COND = 0x2000U, /* In Master Mode only */ + I2C_FREE_RUN = 0x4000U, + I2C_NACK_MODE = 0x8000U +}; + + +/** @enum i2cBitCount +* @brief Alias names for i2c bit count +* This enumeration is used to provide alias names for I2C bit count: +*/ + +enum i2cBitCount +{ + I2C_2_BIT = 0x2U, + I2C_3_BIT = 0x3U, + I2C_4_BIT = 0x4U, + I2C_5_BIT = 0x5U, + I2C_6_BIT = 0x6U, + I2C_7_BIT = 0x7U, + I2C_8_BIT = 0x0U +}; + + + +/** @enum i2cIntFlags +* @brief Interrupt Flag Definitions +* +* Used with I2CEnableNotification, I2CDisableNotification +*/ +enum i2cIntFlags +{ + I2C_AL_INT = 0x0001U, /* arbitration lost */ + I2C_NACK_INT = 0x0002U, /* no acknowledgment */ + I2C_ARDY_INT = 0x0004U, /* access ready */ + I2C_RX_INT = 0x0008U, /* receive data ready */ + I2C_TX_INT = 0x0010U, /* transmit data ready */ + I2C_SCD_INT = 0x0020U, /* stop condition detect */ + I2C_AAS_INT = 0x0040U /* address as slave */ +}; + + +/** @enum i2cStatFlags +* @brief Interrupt Status Definitions +* +*/ +enum i2cStatFlags +{ + I2C_AL = 0x0001U, /* arbitration lost */ + I2C_NACK = 0x0002U, /* no acknowledgement */ + I2C_ARDY = 0x0004U, /* access ready */ + I2C_RX = 0x0008U, /* receive data ready */ + I2C_TX = 0x0010U, /* transmit data ready */ + I2C_SCD = 0x0020U, /* stop condition detect */ + I2C_AD0 = 0x0100U, /* address Zero Status */ + I2C_AAS = 0x0200U, /* address as slave */ + I2C_XSMT = 0x0400U, /* Transmit shift empty not */ + I2C_RXFULL = 0x0800U, /* receive full */ + I2C_BUSBUSY = 0x1000U, /* bus busy */ + I2C_NACKSNT = 0x2000U, /* No Ack Sent */ + I2C_SDIR = 0x4000U /* Slave Direction */ +}; + + +/** @enum i2cDMA +* @brief I2C DMA definitions +* +* Used before i2c transfer +*/ +enum i2cDMA +{ + I2C_TXDMA = 0x20U, + I2C_RXDMA = 0x10U +}; + +/* Configuration registers */ +typedef struct i2c_config_reg +{ + uint32 CONFIG_OAR; + uint32 CONFIG_IMR; + uint32 CONFIG_CLKL; + uint32 CONFIG_CLKH; + uint32 CONFIG_CNT; + uint32 CONFIG_SAR; + uint32 CONFIG_MDR; + uint32 CONFIG_EMDR; + uint32 CONFIG_PSC; + uint32 CONFIG_DMAC; + uint32 CONFIG_FUN; + uint32 CONFIG_DIR; + uint32 CONFIG_ODR; + uint32 CONFIG_PD; + uint32 CONFIG_PSL; +} i2c_config_reg_t; + + +/** + * @defgroup I2C I2C + * @brief Inter-Integrated Circuit Module. + * + * The I2C is a multi-master communication module providing an interface between the Texas Instruments (TI) microcontroller + * and devices compliant with Philips Semiconductor I2C-bus specification version 2.1 and connected by an I2Cbus. + * This module will support any slave or master I2C compatible device. + * + * Related Files + * - reg_i2c.h + * - i2c.h + * - i2c.c + * @addtogroup I2C + * @{ + */ + +/* I2C Interface Functions */ +void i2cInit(void); +void i2cSetOwnAdd(i2cBASE_t *i2c, uint32 oadd); +void i2cSetSlaveAdd(i2cBASE_t *i2c, uint32 sadd); +void i2cSetBaudrate(i2cBASE_t *i2c, uint32 baud); +uint32 i2cIsTxReady(i2cBASE_t *i2c); +void i2cSendByte(i2cBASE_t *i2c, uint8 byte); +void i2cSend(i2cBASE_t *i2c, uint32 length, uint8 * data); +uint32 i2cIsRxReady(i2cBASE_t *i2c); +uint32 i2cIsStopDetected(i2cBASE_t *i2c); +void i2cClearSCD(i2cBASE_t *i2c); +uint32 i2cRxError(i2cBASE_t *i2c); +uint8 i2cReceiveByte(i2cBASE_t *i2c); +void i2cReceive(i2cBASE_t *i2c, uint32 length, uint8 * data); +void i2cEnableNotification(i2cBASE_t *i2c, uint32 flags); +void i2cDisableNotification(i2cBASE_t *i2c, uint32 flags); +void i2cSetStart(i2cBASE_t *i2c); +void i2cSetStop(i2cBASE_t *i2c); +void i2cSetCount(i2cBASE_t *i2c ,uint32 cnt); +void i2cEnableLoopback(i2cBASE_t *i2c); +void i2cDisableLoopback(i2cBASE_t *i2c); +void i2cSetMode(i2cBASE_t *i2c, uint32 mode); +void i2cGetConfigValue(i2c_config_reg_t *config_reg, config_value_type_t type); +void i2cSetDirection(i2cBASE_t *i2c, uint32 dir); +bool i2cIsMasterReady(i2cBASE_t *i2c); +bool i2cIsBusBusy(i2cBASE_t *i2c); + +/** @fn void i2cNotification(i2cBASE_t *i2c, uint32 flags) +* @brief Interrupt callback +* @param[in] i2c - I2C module base address +* @param[in] flags - copy of error interrupt flags +* +* This is a callback that is provided by the application and is called apon +* an interrupt. The parameter passed to the callback is a copy of the +* interrupt flag register. +*/ +void i2cNotification(i2cBASE_t *i2c, uint32 flags); + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif /*extern "C" */ + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/lin.h b/TestBoardFirmware/Testboard_HAL_drivers/include/lin.h index bc82bfe4..0b1d0fb0 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/lin.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/lin.h @@ -1,333 +1,333 @@ -/** @file lin.h -* @brief LIN Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - -#ifndef __LIN_H__ -#define __LIN_H__ - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "reg_lin.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @def LIN_BREAK_INT -* @brief Alias for break detect interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_BREAK_INT 0x00000001U - - -/** @def LIN_WAKEUP_INT -* @brief Alias for wakeup interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_WAKEUP_INT 0x00000002U - - -/** @def LIN_TO_INT -* @brief Alias for time out interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_TO_INT 0x00000010U - - -/** @def LIN_TOAWUS_INT -* @brief Alias for time out after wakeup signal interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_TOAWUS_INT 0x00000040U - - -/** @def LIN_TOA3WUS_INT -* @brief Alias for time out after 3 wakeup signals interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_TOA3WUS_INT 0x00000080U - - -/** @def LIN_TX_READY -* @brief Alias for transmit buffer ready flag -* -* Used with linIsTxReady. -*/ -#define LIN_TX_READY 0x00000100U - - -/** @def LIN_RX_INT -* @brief Alias for receive buffer ready interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_RX_INT 0x00000200U - - -/** @def LIN_ID_INT -* @brief Alias for received matching identifier interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_ID_INT 0x00002000U - - -/** @def LIN_PE_INT -* @brief Alias for parity error interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_PE_INT 0x01000000U - - -/** @def LIN_OE_INT -* @brief Alias for overrun error interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_OE_INT 0x02000000U - - -/** @def LIN_FE_INT -* @brief Alias for framing error interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_FE_INT 0x04000000U - - -/** @def LIN_NRE_INT -* @brief Alias for no response error interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_NRE_INT 0x08000000U - - -/** @def LIN_ISFE_INT -* @brief Alias for inconsistent sync field error interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_ISFE_INT 0x10000000U - - -/** @def LIN_CE_INT -* @brief Alias for checksum error interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_CE_INT 0x20000000U - - -/** @def LIN_PBE_INT -* @brief Alias for physical bus error interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_PBE_INT 0x40000000U - - -/** @def LIN_BE_INT -* @brief Alias for bit error interrupt flag -* -* Used with linEnableNotification, linDisableNotification. -*/ -#define LIN_BE_INT 0x80000000U - - -/** @struct linBase -* @brief LIN Register Definition -* -* This structure is used to access the LIN module registers. -*/ -/** @typedef linBASE_t -* @brief LIN Register Frame Type Definition -* -* This type is used to access the LIN Registers. -*/ - -enum linPinSelect -{ - PIN_LIN_TX = 4U, - PIN_LIN_RX = 2U -}; - -/* Configuration registers */ -typedef struct lin_config_reg -{ - uint32 CONFIG_GCR0; - uint32 CONFIG_GCR1; - uint32 CONFIG_GCR2; - uint32 CONFIG_SETINT; - uint32 CONFIG_SETINTLVL; - uint32 CONFIG_FORMAT; - uint32 CONFIG_BRSR; - uint32 CONFIG_FUN; - uint32 CONFIG_DIR; - uint32 CONFIG_ODR; - uint32 CONFIG_PD; - uint32 CONFIG_PSL; - uint32 CONFIG_COMP; - uint32 CONFIG_MASK; - uint32 CONFIG_MBRSR; -} lin_config_reg_t; - -/* Configuration registers initial value for LIN*/ -#define LIN_GCR0_CONFIGVALUE 0x00000001U -#define LIN_GCR1_CONFIGVALUE (0x03000CC0U \ - | (uint32)((uint32)1U << 12U) \ - | (uint32)((uint32)0U << 2U)\ - | (uint32)((uint32)1U << 5U)) -#define LIN_GCR2_CONFIGVALUE 0x00000000U -#define LIN_SETINTLVL_CONFIGVALUE (0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U) - -#define LIN_SETINT_CONFIGVALUE (0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U) - -#define LIN_FORMAT_CONFIGVALUE ((uint32)((uint32)(8U - 1U) << 16U)) -#define LIN_BRSR_CONFIGVALUE (249U) -#define LIN_COMP_CONFIGVALUE ((uint32)((uint32)(1U - 1U) << 8U) | (13U - 13U)) -#define LIN_MASK_CONFIGVALUE ((uint32)((uint32)0xFFU << 16U) | 0xFFU) -#define LIN_MBRSR_CONFIGVALUE (3600U) -#define LIN_FUN_CONFIGVALUE (4U | 2U | 0U) -#define LIN_DIR_CONFIGVALUE (0U | 0U | 0U) -#define LIN_ODR_CONFIGVALUE (0U | 0U | 0U) -#define LIN_PD_CONFIGVALUE (0U | 0U | 0U) -#define LIN_PSL_CONFIGVALUE (4U | 2U | 1U) - -/** - * @defgroup LIN LIN - * @brief Local Interconnect Network Module. - * - * The LIN standard is based on the SCI (UART) serial data link format. The communication concept is - * single-master/multiple-slave with a message identification for multi-cast transmission between any network - * nodes. - * - * Related Files - * - reg_lin.h - * - lin.h - * - lin.c - * @addtogroup LIN - * @{ - */ - -/* LIN Interface Functions */ -void linInit(void); -void linSetFunctional(linBASE_t *lin, uint32 port); -void linSendHeader(linBASE_t *lin, uint8 identifier); -void linSendWakupSignal(linBASE_t *lin); -void linEnterSleep(linBASE_t *lin); -void linSoftwareReset(linBASE_t *lin); -uint32 linIsTxReady(linBASE_t *lin); -void linSetLength(linBASE_t *lin, uint32 length); -void linSend(linBASE_t *lin, uint8 * data); -uint32 linIsRxReady(linBASE_t *lin); -uint32 linTxRxError(linBASE_t *lin); -uint32 linGetIdentifier(linBASE_t *lin); -void linGetData(linBASE_t *lin, uint8 * const data); -void linEnableNotification(linBASE_t *lin, uint32 flags); -void linDisableNotification(linBASE_t *lin, uint32 flags); -void linEnableLoopback(linBASE_t *lin, loopBackType_t Loopbacktype); -void linDisableLoopback(linBASE_t *lin); -void linGetConfigValue(lin_config_reg_t *config_reg, config_value_type_t type); -uint32 linGetStatusFlag(linBASE_t *lin); -void linClearStatusFlag(linBASE_t *lin, uint32 flags); - -/** @fn void linNotification(linBASE_t *lin, uint32 flags) -* @brief Interrupt callback -* @param[in] lin - lin module base address -* @param[in] flags - copy of error interrupt flags -* -* This is a callback that is provided by the application and is called upon -* an interrupt. The parameter passed to the callback is a copy of the -* interrupt flag register. -*/ -void linNotification(linBASE_t *lin, uint32 flags); - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif - -#endif +/** @file lin.h +* @brief LIN Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + +#ifndef __LIN_H__ +#define __LIN_H__ + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +#include "reg_lin.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @def LIN_BREAK_INT +* @brief Alias for break detect interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_BREAK_INT 0x00000001U + + +/** @def LIN_WAKEUP_INT +* @brief Alias for wakeup interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_WAKEUP_INT 0x00000002U + + +/** @def LIN_TO_INT +* @brief Alias for time out interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_TO_INT 0x00000010U + + +/** @def LIN_TOAWUS_INT +* @brief Alias for time out after wakeup signal interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_TOAWUS_INT 0x00000040U + + +/** @def LIN_TOA3WUS_INT +* @brief Alias for time out after 3 wakeup signals interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_TOA3WUS_INT 0x00000080U + + +/** @def LIN_TX_READY +* @brief Alias for transmit buffer ready flag +* +* Used with linIsTxReady. +*/ +#define LIN_TX_READY 0x00000100U + + +/** @def LIN_RX_INT +* @brief Alias for receive buffer ready interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_RX_INT 0x00000200U + + +/** @def LIN_ID_INT +* @brief Alias for received matching identifier interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_ID_INT 0x00002000U + + +/** @def LIN_PE_INT +* @brief Alias for parity error interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_PE_INT 0x01000000U + + +/** @def LIN_OE_INT +* @brief Alias for overrun error interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_OE_INT 0x02000000U + + +/** @def LIN_FE_INT +* @brief Alias for framing error interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_FE_INT 0x04000000U + + +/** @def LIN_NRE_INT +* @brief Alias for no response error interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_NRE_INT 0x08000000U + + +/** @def LIN_ISFE_INT +* @brief Alias for inconsistent sync field error interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_ISFE_INT 0x10000000U + + +/** @def LIN_CE_INT +* @brief Alias for checksum error interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_CE_INT 0x20000000U + + +/** @def LIN_PBE_INT +* @brief Alias for physical bus error interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_PBE_INT 0x40000000U + + +/** @def LIN_BE_INT +* @brief Alias for bit error interrupt flag +* +* Used with linEnableNotification, linDisableNotification. +*/ +#define LIN_BE_INT 0x80000000U + + +/** @struct linBase +* @brief LIN Register Definition +* +* This structure is used to access the LIN module registers. +*/ +/** @typedef linBASE_t +* @brief LIN Register Frame Type Definition +* +* This type is used to access the LIN Registers. +*/ + +enum linPinSelect +{ + PIN_LIN_TX = 4U, + PIN_LIN_RX = 2U +}; + +/* Configuration registers */ +typedef struct lin_config_reg +{ + uint32 CONFIG_GCR0; + uint32 CONFIG_GCR1; + uint32 CONFIG_GCR2; + uint32 CONFIG_SETINT; + uint32 CONFIG_SETINTLVL; + uint32 CONFIG_FORMAT; + uint32 CONFIG_BRSR; + uint32 CONFIG_FUN; + uint32 CONFIG_DIR; + uint32 CONFIG_ODR; + uint32 CONFIG_PD; + uint32 CONFIG_PSL; + uint32 CONFIG_COMP; + uint32 CONFIG_MASK; + uint32 CONFIG_MBRSR; +} lin_config_reg_t; + +/* Configuration registers initial value for LIN*/ +#define LIN_GCR0_CONFIGVALUE 0x00000001U +#define LIN_GCR1_CONFIGVALUE (0x03000CC0U \ + | (uint32)((uint32)1U << 12U) \ + | (uint32)((uint32)0U << 2U)\ + | (uint32)((uint32)1U << 5U)) +#define LIN_GCR2_CONFIGVALUE 0x00000000U +#define LIN_SETINTLVL_CONFIGVALUE (0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U) + +#define LIN_SETINT_CONFIGVALUE (0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U) + +#define LIN_FORMAT_CONFIGVALUE ((uint32)((uint32)(8U - 1U) << 16U)) +#define LIN_BRSR_CONFIGVALUE (249U) +#define LIN_COMP_CONFIGVALUE ((uint32)((uint32)(1U - 1U) << 8U) | (13U - 13U)) +#define LIN_MASK_CONFIGVALUE ((uint32)((uint32)0xFFU << 16U) | 0xFFU) +#define LIN_MBRSR_CONFIGVALUE (3600U) +#define LIN_FUN_CONFIGVALUE (4U | 2U | 0U) +#define LIN_DIR_CONFIGVALUE (0U | 0U | 0U) +#define LIN_ODR_CONFIGVALUE (0U | 0U | 0U) +#define LIN_PD_CONFIGVALUE (0U | 0U | 0U) +#define LIN_PSL_CONFIGVALUE (4U | 2U | 1U) + +/** + * @defgroup LIN LIN + * @brief Local Interconnect Network Module. + * + * The LIN standard is based on the SCI (UART) serial data link format. The communication concept is + * single-master/multiple-slave with a message identification for multi-cast transmission between any network + * nodes. + * + * Related Files + * - reg_lin.h + * - lin.h + * - lin.c + * @addtogroup LIN + * @{ + */ + +/* LIN Interface Functions */ +void linInit(void); +void linSetFunctional(linBASE_t *lin, uint32 port); +void linSendHeader(linBASE_t *lin, uint8 identifier); +void linSendWakupSignal(linBASE_t *lin); +void linEnterSleep(linBASE_t *lin); +void linSoftwareReset(linBASE_t *lin); +uint32 linIsTxReady(linBASE_t *lin); +void linSetLength(linBASE_t *lin, uint32 length); +void linSend(linBASE_t *lin, uint8 * data); +uint32 linIsRxReady(linBASE_t *lin); +uint32 linTxRxError(linBASE_t *lin); +uint32 linGetIdentifier(linBASE_t *lin); +void linGetData(linBASE_t *lin, uint8 * const data); +void linEnableNotification(linBASE_t *lin, uint32 flags); +void linDisableNotification(linBASE_t *lin, uint32 flags); +void linEnableLoopback(linBASE_t *lin, loopBackType_t Loopbacktype); +void linDisableLoopback(linBASE_t *lin); +void linGetConfigValue(lin_config_reg_t *config_reg, config_value_type_t type); +uint32 linGetStatusFlag(linBASE_t *lin); +void linClearStatusFlag(linBASE_t *lin, uint32 flags); + +/** @fn void linNotification(linBASE_t *lin, uint32 flags) +* @brief Interrupt callback +* @param[in] lin - lin module base address +* @param[in] flags - copy of error interrupt flags +* +* This is a callback that is provided by the application and is called upon +* an interrupt. The parameter passed to the callback is a copy of the +* interrupt flag register. +*/ +void linNotification(linBASE_t *lin, uint32 flags); + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/mibspi.h b/TestBoardFirmware/Testboard_HAL_drivers/include/mibspi.h index 04690c00..f006f846 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/mibspi.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/mibspi.h @@ -1,318 +1,318 @@ -/** @file mibspi.h -* @brief MIBSPI Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - -#ifndef __MIBSPI_H__ -#define __MIBSPI_H__ - -#include "reg_mibspi.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/** @enum triggerEvent -* @brief Transfer Group Trigger Event -*/ -enum triggerEvent -{ - TRG_NEVER = 0U, - TRG_RISING = 1U, - TRG_FALLING = 2U, - TRG_BOTH = 3U, - TRG_HIGH = 5U, - TRG_LOW = 6U, - TRG_ALWAYS = 7U -}; - -/** @enum triggerSource -* @brief Transfer Group Trigger Source -*/ -enum triggerSource -{ - TRG_DISABLED, - TRG_GIOA0, - TRG_GIOA1, - TRG_GIOA2, - TRG_GIOA3, - TRG_GIOA4, - TRG_GIOA5, - TRG_GIOA6, - TRG_GIOA7, - TRG_HET1_8, - TRG_HET1_10, - TRG_HET1_12, - TRG_HET1_14, - TRG_HET1_16, - TRG_HET1_18, - TRG_TICK -}; - - -/** @enum mibspiPinSelect -* @brief mibspi Pin Select -*/ -enum mibspiPinSelect -{ - PIN_CS0 = 0U, - PIN_CS1 = 1U, - PIN_CS2 = 2U, - PIN_CS3 = 3U, - PIN_CS4 = 4U, - PIN_CS5 = 5U, - PIN_CS6 = 6U, - PIN_CS7 = 7U, - PIN_ENA = 8U, - PIN_CLK = 9U, - PIN_SIMO = 10U, - PIN_SOMI = 11U, - PIN_SIMO_1 = 17U, - PIN_SIMO_2 = 18U, - PIN_SIMO_3 = 19U, - PIN_SIMO_4 = 20U, - PIN_SIMO_5 = 21U, - PIN_SIMO_6 = 22U, - PIN_SIMO_7 = 23U, - PIN_SOMI_1 = 25U, - PIN_SOMI_2 = 26U, - PIN_SOMI_3 = 27U, - PIN_SOMI_4 = 28U, - PIN_SOMI_5 = 29U, - PIN_SOMI_6 = 30U, - PIN_SOMI_7 = 31U -}; - - -/** @enum chipSelect -* @brief Transfer Group Chip Select -*/ -enum chipSelect -{ - CS_NONE = 0xFFU, - CS_0 = 0xFEU, - CS_1 = 0xFDU, - CS_2 = 0xFBU, - CS_3 = 0xF7U, - CS_4 = 0xEFU, - CS_5 = 0xDFU, - CS_6 = 0xBFU, - CS_7 = 0x7FU -}; - -/** @typedef mibspiPmode_t -* @brief Mibspi Parellel mode Type Definition -* -* This type is used to represent Mibspi Parellel mode. -*/ -typedef enum mibspiPmode -{ - PMODE_NORMAL = 0x0U, - PMODE_2_DATALINE = 0x1U, - PMODE_4_DATALINE = 0x2U, - PMODE_8_DATALINE = 0x3U -}mibspiPmode_t; - -/** @typedef mibspiDFMT_t -* @brief Mibspi Data format selection Type Definition -* -* This type is used to represent Mibspi Data format selection. -*/ -typedef enum mibspiDFMT -{ - DATA_FORMAT0 = 0x0U, - DATA_FORMAT1 = 0x1U, - DATA_FORMAT2 = 0x2U, - DATA_FORMAT3 = 0x3U -}mibspiDFMT_t; - -typedef struct mibspi_config_reg -{ - uint32 CONFIG_GCR1; - uint32 CONFIG_INT0; - uint32 CONFIG_LVL; - uint32 CONFIG_PCFUN; - uint32 CONFIG_PCDIR; - uint32 CONFIG_PCPDR; - uint32 CONFIG_PCDIS; - uint32 CONFIG_PCPSL; - uint32 CONFIG_DELAY; - uint32 CONFIG_FMT0; - uint32 CONFIG_FMT1; - uint32 CONFIG_FMT2; - uint32 CONFIG_FMT3; - uint32 CONFIG_MIBSPIE; - uint32 CONFIG_LTGPEND; - uint32 CONFIG_TGCTRL[8U]; - uint32 CONFIG_UERRCTRL; -}mibspi_config_reg_t; - -#define MIBSPI1_GCR1_CONFIGVALUE (0x01000000U | (uint32)((uint32)1U << 1U) | 1U) -#define MIBSPI1_INT0_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) -#define MIBSPI1_LVL_CONFIGVALUE ((uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) - -#define MIBSPI1_PCFUN_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U) | (uint32)((uint32)1U << 17U) | (uint32)((uint32)1U << 25U)) -#define MIBSPI1_PCDIR_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 25U)) -#define MIBSPI1_PCPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 25U)) -#define MIBSPI1_PCDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 25U)) -#define MIBSPI1_PCPSL_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U) | (uint32)((uint32)1U << 17U) | (uint32)((uint32)1U << 25U)) - -#define MIBSPI1_DELAY_CONFIGVALUE ((uint32)((uint32)1U << 24U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 0U)) - -#define MIBSPI1_FMT0_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)255U << 8U) | (uint32)((uint32)8U << 0U)) -#define MIBSPI1_FMT1_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) -#define MIBSPI1_FMT2_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) -#define MIBSPI1_FMT3_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) - -#define MIBSPI1_MIBSPIE_CONFIGVALUE 1U -#define MIBSPI1_LTGPEND_CONFIGVALUE ((uint32)((uint32)((3U+0U+0U+0U+0U+0U+0U+0U)-1U) << 8U)) - -#define MIBSPI1_TGCTRL0_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)0U << 8U))) -#define MIBSPI1_TGCTRL1_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)3U << 8U))) -#define MIBSPI1_TGCTRL2_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+0U) << 8U))) -#define MIBSPI1_TGCTRL3_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+0U+0U) << 8U))) -#define MIBSPI1_TGCTRL4_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+0U+0U+0U) << 8U))) -#define MIBSPI1_TGCTRL5_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+0U+0U+0U+0U) << 8U))) -#define MIBSPI1_TGCTRL6_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+0U+0U+0U+0U+0U) << 8U))) -#define MIBSPI1_TGCTRL7_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+0U+0U+0U+0U+0U+0U) << 8U))) - -#define MIBSPI1_UERRCTRL_CONFIGVALUE (0x00000005U) - - -#define MIBSPI3_GCR1_CONFIGVALUE (0x01000000U | (uint32)((uint32)1U << 1U) | 1U) -#define MIBSPI3_INT0_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) -#define MIBSPI3_LVL_CONFIGVALUE ((uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) - -#define MIBSPI3_PCFUN_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U)) -#define MIBSPI3_PCDIR_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U)) -#define MIBSPI3_PCPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U)) -#define MIBSPI3_PCDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U)) -#define MIBSPI3_PCPSL_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U)) - -#define MIBSPI3_DELAY_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 0U)) - -#define MIBSPI3_FMT0_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)14U << 0U)) -#define MIBSPI3_FMT1_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) -#define MIBSPI3_FMT2_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) -#define MIBSPI3_FMT3_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) - -#define MIBSPI3_MIBSPIE_CONFIGVALUE 1U -#define MIBSPI3_LTGPEND_CONFIGVALUE ((uint32)((uint32)((8U+0U+0U+0U+0U+0U+0U+0U)-1U) << 8U)) - -#define MIBSPI3_TGCTRL0_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)0U << 8U))) -#define MIBSPI3_TGCTRL1_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)8U << 8U))) -#define MIBSPI3_TGCTRL2_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U) << 8U))) -#define MIBSPI3_TGCTRL3_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U) << 8U))) -#define MIBSPI3_TGCTRL4_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U+0U) << 8U))) -#define MIBSPI3_TGCTRL5_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U+0U+0U) << 8U))) -#define MIBSPI3_TGCTRL6_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U+0U+0U+0U) << 8U))) -#define MIBSPI3_TGCTRL7_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U+0U+0U+0U+0U) << 8U))) - -#define MIBSPI3_UERRCTRL_CONFIGVALUE (0x00000005U) - - -/** - * @defgroup MIBSPI MIBSPI - * @brief Multi-Buffered Serial Peripheral Interface Module. - * - * The MibSPI/MibSPIP is a high-speed synchronous serial input/output port that allows a serial bit stream of - * programmed length (2 to 16 bits) to be shifted in and out of the device at a programmed bit-transfer rate. - * The MibSPI has a programmable buffer memory that enables programmed transmission to be completed - * without CPU intervention - * - * Related Files - * - reg_mibspi.h - * - mibspi.h - * - mibspi.c - * @addtogroup MIBSPI - * @{ - */ - -/* MIBSPI Interface Functions */ -void mibspiInit(void); -void mibspiSetFunctional(mibspiBASE_t *mibspi, uint32 port); -void mibspiSetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data); -uint32 mibspiGetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data); -void mibspiTransfer(mibspiBASE_t *mibspi, uint32 group); -boolean mibspiIsTransferComplete(mibspiBASE_t *mibspi, uint32 group); -void mibspiEnableGroupNotification(mibspiBASE_t *mibspi, uint32 group, uint32 level); -void mibspiDisableGroupNotification(mibspiBASE_t *mibspi, uint32 group); -void mibspiEnableLoopback(mibspiBASE_t *mibspi, loopBackType_t Loopbacktype); -void mibspiDisableLoopback(mibspiBASE_t *mibspi); -void mibspiPmodeSet(mibspiBASE_t *mibspi, mibspiPmode_t Pmode, mibspiDFMT_t DFMT); -void mibspi1GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type); -void mibspi3GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type); - -/** @fn void mibspiNotification(mibspiBASE_t *mibspi, uint32 flags) -* @brief Error interrupt callback -* @param[in] mibspi - mibSpi module base address -* @param[in] flags - Copy of error interrupt flags -* -* This is a error callback that is provided by the application and is call upon -* an error interrupt. The paramer passed to the callback is a copy of the error -* interrupt flag register. -*/ -void mibspiNotification(mibspiBASE_t *mibspi, uint32 flags); - - -/** @fn void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32 group) -* @brief Transfer complete notification callback -* @param[in] mibspi - mibSpi module base address -* @param[in] group - Transfer group -* -* This is a callback function provided by the application. It is call when -* a transfer is complete. The parameter is the transfer group that triggered -* the interrupt. -*/ -void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32 group); - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif - -#endif +/** @file mibspi.h +* @brief MIBSPI Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + +#ifndef __MIBSPI_H__ +#define __MIBSPI_H__ + +#include "reg_mibspi.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/** @enum triggerEvent +* @brief Transfer Group Trigger Event +*/ +enum triggerEvent +{ + TRG_NEVER = 0U, + TRG_RISING = 1U, + TRG_FALLING = 2U, + TRG_BOTH = 3U, + TRG_HIGH = 5U, + TRG_LOW = 6U, + TRG_ALWAYS = 7U +}; + +/** @enum triggerSource +* @brief Transfer Group Trigger Source +*/ +enum triggerSource +{ + TRG_DISABLED, + TRG_GIOA0, + TRG_GIOA1, + TRG_GIOA2, + TRG_GIOA3, + TRG_GIOA4, + TRG_GIOA5, + TRG_GIOA6, + TRG_GIOA7, + TRG_HET1_8, + TRG_HET1_10, + TRG_HET1_12, + TRG_HET1_14, + TRG_HET1_16, + TRG_HET1_18, + TRG_TICK +}; + + +/** @enum mibspiPinSelect +* @brief mibspi Pin Select +*/ +enum mibspiPinSelect +{ + PIN_CS0 = 0U, + PIN_CS1 = 1U, + PIN_CS2 = 2U, + PIN_CS3 = 3U, + PIN_CS4 = 4U, + PIN_CS5 = 5U, + PIN_CS6 = 6U, + PIN_CS7 = 7U, + PIN_ENA = 8U, + PIN_CLK = 9U, + PIN_SIMO = 10U, + PIN_SOMI = 11U, + PIN_SIMO_1 = 17U, + PIN_SIMO_2 = 18U, + PIN_SIMO_3 = 19U, + PIN_SIMO_4 = 20U, + PIN_SIMO_5 = 21U, + PIN_SIMO_6 = 22U, + PIN_SIMO_7 = 23U, + PIN_SOMI_1 = 25U, + PIN_SOMI_2 = 26U, + PIN_SOMI_3 = 27U, + PIN_SOMI_4 = 28U, + PIN_SOMI_5 = 29U, + PIN_SOMI_6 = 30U, + PIN_SOMI_7 = 31U +}; + + +/** @enum chipSelect +* @brief Transfer Group Chip Select +*/ +enum chipSelect +{ + CS_NONE = 0xFFU, + CS_0 = 0xFEU, + CS_1 = 0xFDU, + CS_2 = 0xFBU, + CS_3 = 0xF7U, + CS_4 = 0xEFU, + CS_5 = 0xDFU, + CS_6 = 0xBFU, + CS_7 = 0x7FU +}; + +/** @typedef mibspiPmode_t +* @brief Mibspi Parellel mode Type Definition +* +* This type is used to represent Mibspi Parellel mode. +*/ +typedef enum mibspiPmode +{ + PMODE_NORMAL = 0x0U, + PMODE_2_DATALINE = 0x1U, + PMODE_4_DATALINE = 0x2U, + PMODE_8_DATALINE = 0x3U +}mibspiPmode_t; + +/** @typedef mibspiDFMT_t +* @brief Mibspi Data format selection Type Definition +* +* This type is used to represent Mibspi Data format selection. +*/ +typedef enum mibspiDFMT +{ + DATA_FORMAT0 = 0x0U, + DATA_FORMAT1 = 0x1U, + DATA_FORMAT2 = 0x2U, + DATA_FORMAT3 = 0x3U +}mibspiDFMT_t; + +typedef struct mibspi_config_reg +{ + uint32 CONFIG_GCR1; + uint32 CONFIG_INT0; + uint32 CONFIG_LVL; + uint32 CONFIG_PCFUN; + uint32 CONFIG_PCDIR; + uint32 CONFIG_PCPDR; + uint32 CONFIG_PCDIS; + uint32 CONFIG_PCPSL; + uint32 CONFIG_DELAY; + uint32 CONFIG_FMT0; + uint32 CONFIG_FMT1; + uint32 CONFIG_FMT2; + uint32 CONFIG_FMT3; + uint32 CONFIG_MIBSPIE; + uint32 CONFIG_LTGPEND; + uint32 CONFIG_TGCTRL[8U]; + uint32 CONFIG_UERRCTRL; +}mibspi_config_reg_t; + +#define MIBSPI1_GCR1_CONFIGVALUE (0x01000000U | (uint32)((uint32)1U << 1U) | 1U) +#define MIBSPI1_INT0_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) +#define MIBSPI1_LVL_CONFIGVALUE ((uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) + +#define MIBSPI1_PCFUN_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U) | (uint32)((uint32)1U << 17U) | (uint32)((uint32)1U << 25U)) +#define MIBSPI1_PCDIR_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 25U)) +#define MIBSPI1_PCPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 25U)) +#define MIBSPI1_PCDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 25U)) +#define MIBSPI1_PCPSL_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U) | (uint32)((uint32)1U << 17U) | (uint32)((uint32)1U << 25U)) + +#define MIBSPI1_DELAY_CONFIGVALUE ((uint32)((uint32)1U << 24U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 0U)) + +#define MIBSPI1_FMT0_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)255U << 8U) | (uint32)((uint32)8U << 0U)) +#define MIBSPI1_FMT1_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) +#define MIBSPI1_FMT2_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) +#define MIBSPI1_FMT3_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) + +#define MIBSPI1_MIBSPIE_CONFIGVALUE 1U +#define MIBSPI1_LTGPEND_CONFIGVALUE ((uint32)((uint32)((3U+3U+0U+0U+0U+0U+0U+0U)-1U) << 8U)) + +#define MIBSPI1_TGCTRL0_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)0U << 8U))) +#define MIBSPI1_TGCTRL1_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)3U << 8U))) +#define MIBSPI1_TGCTRL2_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+3U) << 8U))) +#define MIBSPI1_TGCTRL3_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+3U+0U) << 8U))) +#define MIBSPI1_TGCTRL4_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+3U+0U+0U) << 8U))) +#define MIBSPI1_TGCTRL5_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+3U+0U+0U+0U) << 8U))) +#define MIBSPI1_TGCTRL6_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+3U+0U+0U+0U+0U) << 8U))) +#define MIBSPI1_TGCTRL7_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(3U+3U+0U+0U+0U+0U+0U) << 8U))) + +#define MIBSPI1_UERRCTRL_CONFIGVALUE (0x00000005U) + + +#define MIBSPI3_GCR1_CONFIGVALUE (0x01000000U | (uint32)((uint32)1U << 1U) | 1U) +#define MIBSPI3_INT0_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) +#define MIBSPI3_LVL_CONFIGVALUE ((uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 6U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 0U)) + +#define MIBSPI3_PCFUN_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U)) +#define MIBSPI3_PCDIR_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U)) +#define MIBSPI3_PCPDR_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U)) +#define MIBSPI3_PCDIS_CONFIGVALUE ((uint32)((uint32)0U << 0U) | (uint32)((uint32)0U << 1U) | (uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 3U) | (uint32)((uint32)0U << 4U) | (uint32)((uint32)0U << 5U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 9U) | (uint32)((uint32)0U << 10U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 11U) | (uint32)((uint32)0U << 24U)) +#define MIBSPI3_PCPSL_CONFIGVALUE ((uint32)((uint32)1U << 0U) | (uint32)((uint32)1U << 1U) | (uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 3U) | (uint32)((uint32)1U << 4U) | (uint32)((uint32)1U << 5U) | (uint32)((uint32)1U << 8U) | (uint32)((uint32)1U << 9U) | (uint32)((uint32)1U << 10U) | (uint32)((uint32)1U << 16U) | (uint32)((uint32)1U << 11U) | (uint32)((uint32)1U << 24U)) + +#define MIBSPI3_DELAY_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)0U << 8U) | (uint32)((uint32)0U << 0U)) + +#define MIBSPI3_FMT0_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)14U << 0U)) +#define MIBSPI3_FMT1_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) +#define MIBSPI3_FMT2_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) +#define MIBSPI3_FMT3_CONFIGVALUE ((uint32)((uint32)0U << 24U) | (uint32)((uint32)0U << 23U) | (uint32)((uint32)0U << 22U) | (uint32)((uint32)0U << 21U) | (uint32)((uint32)0U << 20U) | (uint32)((uint32)0U << 17U) | (uint32)((uint32)0U << 16U) | (uint32)((uint32)79U << 8U) | (uint32)((uint32)16U << 0U)) + +#define MIBSPI3_MIBSPIE_CONFIGVALUE 1U +#define MIBSPI3_LTGPEND_CONFIGVALUE ((uint32)((uint32)((8U+0U+0U+0U+0U+0U+0U+0U)-1U) << 8U)) + +#define MIBSPI3_TGCTRL0_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)0U << 8U))) +#define MIBSPI3_TGCTRL1_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)8U << 8U))) +#define MIBSPI3_TGCTRL2_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U) << 8U))) +#define MIBSPI3_TGCTRL3_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U) << 8U))) +#define MIBSPI3_TGCTRL4_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U+0U) << 8U))) +#define MIBSPI3_TGCTRL5_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U+0U+0U) << 8U))) +#define MIBSPI3_TGCTRL6_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U+0U+0U+0U) << 8U))) +#define MIBSPI3_TGCTRL7_CONFIGVALUE (0xFFFF7FFFU & ((uint32)((uint32)1U << 30U) | (uint32)((uint32)0U << 29U) | (uint32)((uint32)TRG_ALWAYS << 20U) | (uint32)((uint32)TRG_DISABLED << 16U) | (uint32)((uint32)(8U+0U+0U+0U+0U+0U+0U) << 8U))) + +#define MIBSPI3_UERRCTRL_CONFIGVALUE (0x00000005U) + + +/** + * @defgroup MIBSPI MIBSPI + * @brief Multi-Buffered Serial Peripheral Interface Module. + * + * The MibSPI/MibSPIP is a high-speed synchronous serial input/output port that allows a serial bit stream of + * programmed length (2 to 16 bits) to be shifted in and out of the device at a programmed bit-transfer rate. + * The MibSPI has a programmable buffer memory that enables programmed transmission to be completed + * without CPU intervention + * + * Related Files + * - reg_mibspi.h + * - mibspi.h + * - mibspi.c + * @addtogroup MIBSPI + * @{ + */ + +/* MIBSPI Interface Functions */ +void mibspiInit(void); +void mibspiSetFunctional(mibspiBASE_t *mibspi, uint32 port); +void mibspiSetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data); +uint32 mibspiGetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data); +void mibspiTransfer(mibspiBASE_t *mibspi, uint32 group); +boolean mibspiIsTransferComplete(mibspiBASE_t *mibspi, uint32 group); +void mibspiEnableGroupNotification(mibspiBASE_t *mibspi, uint32 group, uint32 level); +void mibspiDisableGroupNotification(mibspiBASE_t *mibspi, uint32 group); +void mibspiEnableLoopback(mibspiBASE_t *mibspi, loopBackType_t Loopbacktype); +void mibspiDisableLoopback(mibspiBASE_t *mibspi); +void mibspiPmodeSet(mibspiBASE_t *mibspi, mibspiPmode_t Pmode, mibspiDFMT_t DFMT); +void mibspi1GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type); +void mibspi3GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type); + +/** @fn void mibspiNotification(mibspiBASE_t *mibspi, uint32 flags) +* @brief Error interrupt callback +* @param[in] mibspi - mibSpi module base address +* @param[in] flags - Copy of error interrupt flags +* +* This is a error callback that is provided by the application and is call upon +* an error interrupt. The paramer passed to the callback is a copy of the error +* interrupt flag register. +*/ +void mibspiNotification(mibspiBASE_t *mibspi, uint32 flags); + + +/** @fn void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32 group) +* @brief Transfer complete notification callback +* @param[in] mibspi - mibSpi module base address +* @param[in] group - Transfer group +* +* This is a callback function provided by the application. It is call when +* a transfer is complete. The parameter is the transfer group that triggered +* the interrupt. +*/ +void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32 group); + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/pinmux.h b/TestBoardFirmware/Testboard_HAL_drivers/include/pinmux.h index 8ec7bdf5..a7ff2418 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/pinmux.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/pinmux.h @@ -1,531 +1,531 @@ -/** @file pinmux.h -* @brief PINMUX Driver Implementation File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __PINMUX_H__ -#define __PINMUX_H__ - -#include "reg_pinmux.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -#define PINMUX_PIN_3_SHIFT 16U -#define PINMUX_PIN_4_SHIFT 24U -#define PINMUX_PIN_6_SHIFT 8U -#define PINMUX_PIN_9_SHIFT 0U -#define PINMUX_PIN_14_SHIFT 24U -#define PINMUX_PIN_16_SHIFT 16U -#define PINMUX_PIN_22_SHIFT 0U -#define PINMUX_PIN_23_SHIFT 16U -#define PINMUX_PIN_24_SHIFT 24U -#define PINMUX_PIN_25_SHIFT 0U -#define PINMUX_PIN_30_SHIFT 8U -#define PINMUX_PIN_31_SHIFT 16U -#define PINMUX_PIN_32_SHIFT 0U -#define PINMUX_PIN_33_SHIFT 0U -#define PINMUX_PIN_33_SHIFT 0U -#define PINMUX_PIN_35_SHIFT 16U -#define PINMUX_PIN_36_SHIFT 0U -#define PINMUX_PIN_37_SHIFT 8U -#define PINMUX_PIN_38_SHIFT 16U -#define PINMUX_PIN_39_SHIFT 0U -#define PINMUX_PIN_40_SHIFT 8U -#define PINMUX_PIN_41_SHIFT 16U -#define PINMUX_PIN_51_SHIFT 8U -#define PINMUX_PIN_52_SHIFT 16U -#define PINMUX_PIN_53_SHIFT 24U -#define PINMUX_PIN_54_SHIFT 8U -#define PINMUX_PIN_55_SHIFT 16U -#define PINMUX_PIN_86_SHIFT 0U -#define PINMUX_PIN_91_SHIFT 24U -#define PINMUX_PIN_92_SHIFT 0U -#define PINMUX_PIN_96_SHIFT 16U -#define PINMUX_PIN_97_SHIFT 24U -#define PINMUX_PIN_98_SHIFT 0U -#define PINMUX_PIN_99_SHIFT 8U -#define PINMUX_PIN_100_SHIFT 16U -#define PINMUX_PIN_105_SHIFT 24U -#define PINMUX_PIN_106_SHIFT 0U -#define PINMUX_PIN_107_SHIFT 8U -#define PINMUX_PIN_118_SHIFT 0U -#define PINMUX_PIN_124_SHIFT 16U -#define PINMUX_PIN_127_SHIFT 8U -#define PINMUX_PIN_130_SHIFT 16U -#define PINMUX_PIN_139_SHIFT 0U -#define PINMUX_PIN_140_SHIFT 8U -#define PINMUX_PIN_141_SHIFT 16U -#define PINMUX_PIN_133_SHIFT 8U -#define PINMUX_PIN_1_SHIFT 0U -#define PINMUX_PIN_2_SHIFT 8U -#define PINMUX_PIN_5_SHIFT 0U -#define PINMUX_PIN_15_SHIFT 8U -#define PINMUX_PIN_125_SHIFT 8U -#define PINMUX_PIN_126_SHIFT 24U - - -#define PINMUX_GATE_EMIF_CLK_SHIFT 8U -#define PINMUX_GIOB_DISABLE_HET2_SHIFT 16U -#define PINMUX_ALT_ADC_TRIGGER_SHIFT 0U -#define PINMUX_ETHERNET_SHIFT 24U -#define PINMUX_ETPWM1_SHIFT 0U -#define PINMUX_ETPWM2_SHIFT 8U -#define PINMUX_ETPWM3_SHIFT 16U -#define PINMUX_ETPWM4_SHIFT 24U -#define PINMUX_ETPWM5_SHIFT 0U -#define PINMUX_ETPWM6_SHIFT 8U -#define PINMUX_ETPWM7_SHIFT 16U -#define PINMUX_ETPWM_TIME_BASE_SYNC_SHIFT 24U -#define PINMUX_ETPWM_TBCLK_SYNC_SHIFT 0U -#define PINMUX_TZ1_SHIFT 16U -#define PINMUX_TZ2_SHIFT 24U -#define PINMUX_TZ3_SHIFT 0U -#define PINMUX_EPWM1SYNCI_SHIFT 8U - -#define PINMUX_PIN_3_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_3_SHIFT)) -#define PINMUX_PIN_4_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_4_SHIFT)) -#define PINMUX_PIN_6_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_6_SHIFT)) -#define PINMUX_PIN_9_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_9_SHIFT)) -#define PINMUX_PIN_14_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_14_SHIFT)) -#define PINMUX_PIN_16_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_16_SHIFT)) -#define PINMUX_PIN_22_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_22_SHIFT)) -#define PINMUX_PIN_23_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_23_SHIFT)) -#define PINMUX_PIN_24_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_24_SHIFT)) -#define PINMUX_PIN_25_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_25_SHIFT)) -#define PINMUX_PIN_30_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_30_SHIFT)) -#define PINMUX_PIN_31_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_31_SHIFT)) -#define PINMUX_PIN_32_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_32_SHIFT)) -#define PINMUX_PIN_33_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_33_SHIFT)) -#define PINMUX_PIN_35_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_35_SHIFT)) -#define PINMUX_PIN_36_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_36_SHIFT)) -#define PINMUX_PIN_37_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_37_SHIFT)) -#define PINMUX_PIN_38_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_38_SHIFT)) -#define PINMUX_PIN_39_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_39_SHIFT)) -#define PINMUX_PIN_40_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_40_SHIFT)) -#define PINMUX_PIN_41_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_41_SHIFT)) -#define PINMUX_PIN_51_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_51_SHIFT)) -#define PINMUX_PIN_52_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_52_SHIFT)) -#define PINMUX_PIN_53_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_53_SHIFT)) -#define PINMUX_PIN_54_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_54_SHIFT)) -#define PINMUX_PIN_55_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_55_SHIFT)) -#define PINMUX_PIN_86_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_86_SHIFT)) -#define PINMUX_PIN_91_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_91_SHIFT)) -#define PINMUX_PIN_92_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_92_SHIFT)) -#define PINMUX_PIN_96_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_96_SHIFT)) -#define PINMUX_PIN_97_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_97_SHIFT)) -#define PINMUX_PIN_98_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_98_SHIFT)) -#define PINMUX_PIN_99_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_99_SHIFT)) -#define PINMUX_PIN_100_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_100_SHIFT)) -#define PINMUX_PIN_105_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_105_SHIFT)) -#define PINMUX_PIN_106_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_106_SHIFT)) -#define PINMUX_PIN_107_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_107_SHIFT)) -#define PINMUX_PIN_118_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_118_SHIFT)) -#define PINMUX_PIN_124_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_124_SHIFT)) -#define PINMUX_PIN_127_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_127_SHIFT)) -#define PINMUX_PIN_130_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_130_SHIFT)) -#define PINMUX_PIN_139_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_139_SHIFT)) -#define PINMUX_PIN_140_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_140_SHIFT)) -#define PINMUX_PIN_141_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_141_SHIFT)) -#define PINMUX_PIN_133_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_133_SHIFT)) -#define PINMUX_PIN_1_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_1_SHIFT)) -#define PINMUX_PIN_2_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_2_SHIFT)) -#define PINMUX_PIN_5_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_5_SHIFT)) -#define PINMUX_PIN_15_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_15_SHIFT)) -#define PINMUX_PIN_125_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_125_SHIFT)) -#define PINMUX_PIN_126_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_126_SHIFT)) - -#define PINMUX_GATE_EMIF_CLK_MASK (~(uint32)((uint32)0xFFU << PINMUX_GATE_EMIF_CLK_SHIFT)) -#define PINMUX_GIOB_DISABLE_HET2_MASK (~(uint32)((uint32)0xFFU << PINMUX_GIOB_DISABLE_HET2_SHIFT)) -#define PINMUX_ALT_ADC_TRIGGER_MASK (~(uint32)((uint32)0xFFU << PINMUX_ALT_ADC_TRIGGER_SHIFT)) -#define PINMUX_ETHERNET_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETHERNET_SHIFT)) - -#define PINMUX_ETPWM1_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM1_SHIFT)) -#define PINMUX_ETPWM2_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM2_SHIFT)) -#define PINMUX_ETPWM3_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM3_SHIFT)) -#define PINMUX_ETPWM4_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM4_SHIFT)) -#define PINMUX_ETPWM5_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM5_SHIFT)) -#define PINMUX_ETPWM6_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM6_SHIFT)) -#define PINMUX_ETPWM7_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM7_SHIFT)) -#define PINMUX_ETPWM_TIME_BASE_SYNC_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM_TIME_BASE_SYNC_SHIFT)) -#define PINMUX_ETPWM_TBCLK_SYNC_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM_TBCLK_SYNC_SHIFT)) -#define PINMUX_TZ1_MASK (~(uint32)((uint32)0xFFU << PINMUX_TZ1_SHIFT)) -#define PINMUX_TZ2_MASK (~(uint32)((uint32)0xFFU << PINMUX_TZ2_SHIFT)) -#define PINMUX_TZ3_MASK (~(uint32)((uint32)0xFFU << PINMUX_TZ3_SHIFT)) -#define PINMUX_EPWM1SYNCI_MASK (~(uint32)((uint32)0xFFU << PINMUX_EPWM1SYNCI_SHIFT)) - - -#define PINMUX_PIN_3_MIBSPI3NCS_3 ((uint32)((uint32)0x1U << PINMUX_PIN_3_SHIFT)) -#define PINMUX_PIN_3_I2C_SCL ((uint32)((uint32)0x2U << PINMUX_PIN_3_SHIFT)) -#define PINMUX_PIN_3_HET1_29 ((uint32)((uint32)0x4U << PINMUX_PIN_3_SHIFT)) -#define PINMUX_PIN_3_nTZ1 ((uint32)((uint32)0x8U << PINMUX_PIN_3_SHIFT)) - -#define PINMUX_PIN_4_MIBSPI3NCS_2 ((uint32)((uint32)0x1U << PINMUX_PIN_4_SHIFT)) -#define PINMUX_PIN_4_I2C_SDA ((uint32)((uint32)0x2U << PINMUX_PIN_4_SHIFT)) -#define PINMUX_PIN_4_HET1_27 ((uint32)((uint32)0x4U << PINMUX_PIN_4_SHIFT)) -#define PINMUX_PIN_4_nTZ2 ((uint32)((uint32)0x8U << PINMUX_PIN_4_SHIFT)) - -#define PINMUX_PIN_6_HET1_11 ((uint32)((uint32)0x1U << PINMUX_PIN_6_SHIFT)) -#define PINMUX_PIN_6_MIBSPI3NCS_4 ((uint32)((uint32)0x2U << PINMUX_PIN_6_SHIFT)) -#define PINMUX_PIN_6_HET2_18 ((uint32)((uint32)0x4U << PINMUX_PIN_6_SHIFT)) -#define PINMUX_PIN_6_ETPWM1SYNCO ((uint32)((uint32)0x20U << PINMUX_PIN_6_SHIFT)) - -#define PINMUX_PIN_9_GIOA_2 ((uint32)((uint32)0x1U << PINMUX_PIN_9_SHIFT)) -#define PINMUX_PIN_9_HET2_0 ((uint32)((uint32)0x8U << PINMUX_PIN_9_SHIFT)) -#define PINMUX_PIN_9_EQEP2I ((uint32)((uint32)0x10U << PINMUX_PIN_9_SHIFT)) - -#define PINMUX_PIN_14_GIOA_5 ((uint32)((uint32)0x1U << PINMUX_PIN_14_SHIFT)) -#define PINMUX_PIN_14_EXTCLKIN ((uint32)((uint32)0x2U << PINMUX_PIN_14_SHIFT)) -#define PINMUX_PIN_14_ETPWM1A ((uint32)((uint32)0x4U << PINMUX_PIN_14_SHIFT)) - -#define PINMUX_PIN_16_GIOA_6 ((uint32)((uint32)0x1U << PINMUX_PIN_16_SHIFT)) -#define PINMUX_PIN_16_HET2_4 ((uint32)((uint32)0x2U << PINMUX_PIN_16_SHIFT)) -#define PINMUX_PIN_16_ETPWM1B ((uint32)((uint32)0x4U << PINMUX_PIN_16_SHIFT)) - -#define PINMUX_PIN_22_GIOA_7 ((uint32)((uint32)0x1U << PINMUX_PIN_22_SHIFT)) -#define PINMUX_PIN_22_HET2_6 ((uint32)((uint32)0x2U << PINMUX_PIN_22_SHIFT)) -#define PINMUX_PIN_22_ETPWM2A ((uint32)((uint32)0x4U << PINMUX_PIN_22_SHIFT)) - -#define PINMUX_PIN_23_HET1_01 ((uint32)((uint32)0x1U << PINMUX_PIN_23_SHIFT)) -#define PINMUX_PIN_23_SPI4NENA ((uint32)((uint32)0x2U << PINMUX_PIN_23_SHIFT)) -#define PINMUX_PIN_23_HET2_8 ((uint32)((uint32)0x10U << PINMUX_PIN_23_SHIFT)) -#define PINMUX_PIN_23_EQEP2A ((uint32)((uint32)0x20U << PINMUX_PIN_23_SHIFT)) - -#define PINMUX_PIN_24_HET1_03 ((uint32)((uint32)0x1U << PINMUX_PIN_24_SHIFT)) -#define PINMUX_PIN_24_SPI4NCS_0 ((uint32)((uint32)0x2U << PINMUX_PIN_24_SHIFT)) -#define PINMUX_PIN_24_HET2_10 ((uint32)((uint32)0x10U << PINMUX_PIN_24_SHIFT)) -#define PINMUX_PIN_24_EQEP2B ((uint32)((uint32)0x20U << PINMUX_PIN_24_SHIFT)) - -#define PINMUX_PIN_25_HET1_0 ((uint32)((uint32)0x1U << PINMUX_PIN_25_SHIFT)) -#define PINMUX_PIN_25_SPI4CLK ((uint32)((uint32)0x2U << PINMUX_PIN_25_SHIFT)) -#define PINMUX_PIN_25_ETPWM2B ((uint32)((uint32)0x4U << PINMUX_PIN_25_SHIFT)) - -#define PINMUX_PIN_30_HET1_02 ((uint32)((uint32)0x1U << PINMUX_PIN_30_SHIFT)) -#define PINMUX_PIN_30_SPI4SIMO ((uint32)((uint32)0x2U << PINMUX_PIN_30_SHIFT)) -#define PINMUX_PIN_30_ETPWM3A ((uint32)((uint32)0x4U << PINMUX_PIN_30_SHIFT)) - -#define PINMUX_PIN_31_HET1_05 ((uint32)((uint32)0x1U << PINMUX_PIN_31_SHIFT)) -#define PINMUX_PIN_31_SPI4SOMI ((uint32)((uint32)0x2U << PINMUX_PIN_31_SHIFT)) -#define PINMUX_PIN_31_HET2_12 ((uint32)((uint32)0x4U << PINMUX_PIN_31_SHIFT)) -#define PINMUX_PIN_31_ETPWM3B ((uint32)((uint32)0x8U << PINMUX_PIN_31_SHIFT)) - -#define PINMUX_PIN_32_MIBSPI5NCS_0 ((uint32)((uint32)0x1U << PINMUX_PIN_32_SHIFT)) -#define PINMUX_PIN_32_ETPWM4A ((uint32)((uint32)0x4U << PINMUX_PIN_32_SHIFT)) - -#define PINMUX_PIN_33_HET1_07 ((uint32)((uint32)0x1U << PINMUX_PIN_33_SHIFT)) -#define PINMUX_PIN_33_HET2_14 ((uint32)((uint32)0x8U << PINMUX_PIN_33_SHIFT)) -#define PINMUX_PIN_33_ETPWM7B ((uint32)((uint32)0x10U << PINMUX_PIN_33_SHIFT)) - -#define PINMUX_PIN_35_HET1_09 ((uint32)((uint32)0x1U << PINMUX_PIN_35_SHIFT)) -#define PINMUX_PIN_35_HET2_16 ((uint32)((uint32)0x2U << PINMUX_PIN_35_SHIFT)) -#define PINMUX_PIN_35_ETPWM7A ((uint32)((uint32)0x10U << PINMUX_PIN_35_SHIFT)) - -#define PINMUX_PIN_36_HET1_04 ((uint32)((uint32)0x1U << PINMUX_PIN_36_SHIFT)) -#define PINMUX_PIN_36_ETPWM4B ((uint32)((uint32)0x2U << PINMUX_PIN_36_SHIFT)) - -#define PINMUX_PIN_37_MIBSPI3NCS_1 ((uint32)((uint32)0x1U << PINMUX_PIN_37_SHIFT)) -#define PINMUX_PIN_37_HET1_25 ((uint32)((uint32)0x2U << PINMUX_PIN_37_SHIFT)) -#define PINMUX_PIN_37_MDCLK ((uint32)((uint32)0x4U << PINMUX_PIN_37_SHIFT)) - -#define PINMUX_PIN_38_HET1_06 ((uint32)((uint32)0x1U << PINMUX_PIN_38_SHIFT)) -#define PINMUX_PIN_38_SCIRX ((uint32)((uint32)0x2U << PINMUX_PIN_38_SHIFT)) -#define PINMUX_PIN_38_ETPWM5A ((uint32)((uint32)0x4U << PINMUX_PIN_38_SHIFT)) - -#define PINMUX_PIN_39_HET1_13 ((uint32)((uint32)0x1U << PINMUX_PIN_39_SHIFT)) -#define PINMUX_PIN_39_SCITX ((uint32)((uint32)0x2U << PINMUX_PIN_39_SHIFT)) -#define PINMUX_PIN_39_ETPWM5B ((uint32)((uint32)0x4U << PINMUX_PIN_39_SHIFT)) - -#define PINMUX_PIN_40_MIBSPI1NCS_2 ((uint32)((uint32)0x1U << PINMUX_PIN_40_SHIFT)) -#define PINMUX_PIN_40_HET1_19 ((uint32)((uint32)0x2U << PINMUX_PIN_40_SHIFT)) -#define PINMUX_PIN_40_MDIO ((uint32)((uint32)0x4U << PINMUX_PIN_40_SHIFT)) - -#define PINMUX_PIN_41_HET1_15 ((uint32)((uint32)0x1U << PINMUX_PIN_41_SHIFT)) -#define PINMUX_PIN_41_MIBSPI1NCS_4 ((uint32)((uint32)0x2U << PINMUX_PIN_41_SHIFT)) -#define PINMUX_PIN_41_ECAP1 ((uint32)((uint32)0x4U << PINMUX_PIN_41_SHIFT)) - -#define PINMUX_PIN_51_MIBSPI3SOMI ((uint32)((uint32)0x1U << PINMUX_PIN_51_SHIFT)) -#define PINMUX_PIN_51_AWM_EXT_ENA ((uint32)((uint32)0x2U << PINMUX_PIN_51_SHIFT)) -#define PINMUX_PIN_51_ECAP2 ((uint32)((uint32)0x4U << PINMUX_PIN_51_SHIFT)) - -#define PINMUX_PIN_52_MIBSPI3SIMO ((uint32)((uint32)0x1U << PINMUX_PIN_52_SHIFT)) -#define PINMUX_PIN_52_AWM_EXT_SEL_0 ((uint32)((uint32)0x2U << PINMUX_PIN_52_SHIFT)) -#define PINMUX_PIN_52_ECAP3 ((uint32)((uint32)0x4U << PINMUX_PIN_52_SHIFT)) - -#define PINMUX_PIN_53_MIBSPI3CLK ((uint32)((uint32)0x1U << PINMUX_PIN_53_SHIFT)) -#define PINMUX_PIN_53_AWM_EXT_SEL_1 ((uint32)((uint32)0x2U << PINMUX_PIN_53_SHIFT)) -#define PINMUX_PIN_53_EQEP1A ((uint32)((uint32)0x4U << PINMUX_PIN_53_SHIFT)) - -#define PINMUX_PIN_54_MIBSPI3NENA ((uint32)((uint32)0x1U << PINMUX_PIN_54_SHIFT)) -#define PINMUX_PIN_54_MIBSPI3NCS_5 ((uint32)((uint32)0x2U << PINMUX_PIN_54_SHIFT)) -#define PINMUX_PIN_54_HET1_31 ((uint32)((uint32)0x4U << PINMUX_PIN_54_SHIFT)) -#define PINMUX_PIN_54_EQEP1B ((uint32)((uint32)0x8U << PINMUX_PIN_54_SHIFT)) - -#define PINMUX_PIN_55_MIBSPI3NCS_0 ((uint32)((uint32)0x1U << PINMUX_PIN_55_SHIFT)) -#define PINMUX_PIN_55_AD2EVT ((uint32)((uint32)0x2U << PINMUX_PIN_55_SHIFT)) -#define PINMUX_PIN_55_GIOB_2 ((uint32)((uint32)0x4U << PINMUX_PIN_55_SHIFT)) -#define PINMUX_PIN_55_EQEP1I ((uint32)((uint32)0x8U << PINMUX_PIN_55_SHIFT)) - -#define PINMUX_PIN_86_AD1EVT ((uint32)((uint32)0x1U << PINMUX_PIN_86_SHIFT)) -#define PINMUX_PIN_86_MII_RX_ER ((uint32)((uint32)0x2U << PINMUX_PIN_86_SHIFT)) -#define PINMUX_PIN_86_RMII_RX_ER ((uint32)((uint32)0x4U << PINMUX_PIN_86_SHIFT)) - -#define PINMUX_PIN_91_HET1_24 ((uint32)((uint32)0x1U << PINMUX_PIN_91_SHIFT)) -#define PINMUX_PIN_91_MIBSPI1NCS_5 ((uint32)((uint32)0x2U << PINMUX_PIN_91_SHIFT)) -#define PINMUX_PIN_91_MII_RXD_0 ((uint32)((uint32)0x4U << PINMUX_PIN_91_SHIFT)) -#define PINMUX_PIN_91_RMII_RXD_0 ((uint32)((uint32)0x8U << PINMUX_PIN_91_SHIFT)) - -#define PINMUX_PIN_92_HET1_26 ((uint32)((uint32)0x1U << PINMUX_PIN_92_SHIFT)) -#define PINMUX_PIN_92_MII_RXD_1 ((uint32)((uint32)0x2U << PINMUX_PIN_92_SHIFT)) -#define PINMUX_PIN_92_RMII_RXD_1 ((uint32)((uint32)0x4U << PINMUX_PIN_92_SHIFT)) - -#define PINMUX_PIN_96_MIBSPI1NENA ((uint32)((uint32)0x1U << PINMUX_PIN_96_SHIFT)) -#define PINMUX_PIN_96_HET1_23 ((uint32)((uint32)0x2U << PINMUX_PIN_96_SHIFT)) -#define PINMUX_PIN_96_MII_RXD_2 ((uint32)((uint32)0x4U << PINMUX_PIN_96_SHIFT)) -#define PINMUX_PIN_96_ECAP4 ((uint32)((uint32)0x10U << PINMUX_PIN_96_SHIFT)) - -#define PINMUX_PIN_97_MIBSPI5NENA ((uint32)((uint32)0x1U << PINMUX_PIN_97_SHIFT)) -#define PINMUX_PIN_97_MII_RXD_3 ((uint32)((uint32)0x4U << PINMUX_PIN_97_SHIFT)) -#define PINMUX_PIN_97_MIBSPI5SOMI_1 ((uint32)((uint32)0x10U << PINMUX_PIN_97_SHIFT)) -#define PINMUX_PIN_97_ECAP5 ((uint32)((uint32)0x20U << PINMUX_PIN_97_SHIFT)) - -#define PINMUX_PIN_98_MIBSPI5SOMI_0 ((uint32)((uint32)0x1U << PINMUX_PIN_98_SHIFT)) -#define PINMUX_PIN_98_MII_TXD_0 ((uint32)((uint32)0x4U << PINMUX_PIN_98_SHIFT)) -#define PINMUX_PIN_98_RMII_TXD_0 ((uint32)((uint32)0x8U << PINMUX_PIN_98_SHIFT)) - -#define PINMUX_PIN_99_MIBSPI5SIMO_0 ((uint32)((uint32)0x1U << PINMUX_PIN_99_SHIFT)) -#define PINMUX_PIN_99_MII_TXD_1 ((uint32)((uint32)0x4U << PINMUX_PIN_99_SHIFT)) -#define PINMUX_PIN_99_RMII_TXD_1 ((uint32)((uint32)0x8U << PINMUX_PIN_99_SHIFT)) -#define PINMUX_PIN_99_MIBSPI5SOMI_2 ((uint32)((uint32)0x10U << PINMUX_PIN_99_SHIFT)) - -#define PINMUX_PIN_100_MIBSPI5CLK ((uint32)((uint32)0x1U << PINMUX_PIN_100_SHIFT)) -#define PINMUX_PIN_100_MII_TXEN ((uint32)((uint32)0x4U << PINMUX_PIN_100_SHIFT)) -#define PINMUX_PIN_100_RMII_TXEN ((uint32)((uint32)0x8U << PINMUX_PIN_100_SHIFT)) - -#define PINMUX_PIN_105_MIBSPI1NCS_0 ((uint32)((uint32)0x1U << PINMUX_PIN_105_SHIFT)) -#define PINMUX_PIN_105_MIBSPI1SOMI_1 ((uint32)((uint32)0x2U << PINMUX_PIN_105_SHIFT)) -#define PINMUX_PIN_105_MII_TXD_2 ((uint32)((uint32)0x4U << PINMUX_PIN_105_SHIFT)) -#define PINMUX_PIN_105_ECAP6 ((uint32)((uint32)0x10U << PINMUX_PIN_105_SHIFT)) - -#define PINMUX_PIN_106_HET1_08 ((uint32)((uint32)0x1U << PINMUX_PIN_106_SHIFT)) -#define PINMUX_PIN_106_MIBSPI1SIMO_1 ((uint32)((uint32)0x2U << PINMUX_PIN_106_SHIFT)) -#define PINMUX_PIN_106_MII_TXD_3 ((uint32)((uint32)0x4U << PINMUX_PIN_106_SHIFT)) - -#define PINMUX_PIN_107_HET1_28 ((uint32)((uint32)0x1U << PINMUX_PIN_107_SHIFT)) -#define PINMUX_PIN_107_MII_RXCLK ((uint32)((uint32)0x2U << PINMUX_PIN_107_SHIFT)) -#define PINMUX_PIN_107_RMII_REFCLK ((uint32)((uint32)0x4U << PINMUX_PIN_107_SHIFT)) -#define PINMUX_PIN_107_MII_RX_AVCLK4 ((uint32)((uint32)0x8U << PINMUX_PIN_107_SHIFT)) - -#define PINMUX_PIN_118_HET1_10 ((uint32)((uint32)0x1U << PINMUX_PIN_118_SHIFT)) -#define PINMUX_PIN_118_MII_TX_CLK ((uint32)((uint32)0x2U << PINMUX_PIN_118_SHIFT)) -#define PINMUX_PIN_118_MII_TX_AVCLK4 ((uint32)((uint32)0x8U << PINMUX_PIN_118_SHIFT)) -#define PINMUX_PIN_118_nTZ3 ((uint32)((uint32)0x10U << PINMUX_PIN_118_SHIFT)) - -#define PINMUX_PIN_124_HET1_12 ((uint32)((uint32)0x1U << PINMUX_PIN_124_SHIFT)) -#define PINMUX_PIN_124_MII_CRS ((uint32)((uint32)0x2U << PINMUX_PIN_124_SHIFT)) -#define PINMUX_PIN_124_RMII_CRS_DV ((uint32)((uint32)0x4U << PINMUX_PIN_124_SHIFT)) - -#define PINMUX_PIN_127_HET1_30 ((uint32)((uint32)0x1U << PINMUX_PIN_127_SHIFT)) -#define PINMUX_PIN_127_MII_RX_DV ((uint32)((uint32)0x2U << PINMUX_PIN_127_SHIFT)) -#define PINMUX_PIN_127_EQEP2S ((uint32)((uint32)0x8U << PINMUX_PIN_127_SHIFT)) - -#define PINMUX_PIN_130_MIBSPI1NCS_1 ((uint32)((uint32)0x1U << PINMUX_PIN_130_SHIFT)) -#define PINMUX_PIN_130_HET1_17 ((uint32)((uint32)0x2U << PINMUX_PIN_130_SHIFT)) -#define PINMUX_PIN_130_MII_COL ((uint32)((uint32)0x4U << PINMUX_PIN_130_SHIFT)) -#define PINMUX_PIN_130_EQEP1S ((uint32)((uint32)0x10U << PINMUX_PIN_130_SHIFT)) - -#define PINMUX_PIN_139_HET1_16 ((uint32)((uint32)0x1U << PINMUX_PIN_139_SHIFT)) -#define PINMUX_PIN_139_ETPWM1SYNCI ((uint32)((uint32)0x2U << PINMUX_PIN_139_SHIFT)) -#define PINMUX_PIN_139_ETPWM1SYNCO ((uint32)((uint32)0x4U << PINMUX_PIN_139_SHIFT)) - -#define PINMUX_PIN_140_HET1_18 ((uint32)((uint32)0x1U << PINMUX_PIN_140_SHIFT)) -#define PINMUX_PIN_140_ETPWM6A ((uint32)((uint32)0x2U << PINMUX_PIN_140_SHIFT)) - -#define PINMUX_PIN_141_HET1_20 ((uint32)((uint32)0x1U << PINMUX_PIN_141_SHIFT)) -#define PINMUX_PIN_141_ETPWM6B ((uint32)((uint32)0x2U << PINMUX_PIN_141_SHIFT)) - -#define PINMUX_PIN_133_GIOB_1 ((uint32)((uint32)0x1U << PINMUX_PIN_133_SHIFT)) - -#define PINMUX_PIN_1_GIOB_3 ((uint32)((uint32)0x1U << PINMUX_PIN_1_SHIFT)) - -#define PINMUX_PIN_2_GIOA_0 ((uint32)((uint32)0x1U << PINMUX_PIN_2_SHIFT)) - -#define PINMUX_PIN_5_GIOA_1 ((uint32)((uint32)0x1U << PINMUX_PIN_5_SHIFT)) - -#define PINMUX_PIN_15_HET1_22 ((uint32)((uint32)0x1U << PINMUX_PIN_15_SHIFT)) - -#define PINMUX_PIN_125_HET1_14 ((uint32)((uint32)0x1U << PINMUX_PIN_125_SHIFT)) - -#define PINMUX_PIN_126_GIOB_0 ((uint32)((uint32)0x1U << PINMUX_PIN_126_SHIFT)) - -#define PINMUX_GATE_EMIF_CLK_ON ((uint32)((uint32)0x0 << PINMUX_GATE_EMIF_CLK_SHIFT)) -#define PINMUX_GIOB_DISABLE_HET2_ON ((uint32)((uint32)0x1U << PINMUX_GIOB_DISABLE_HET2_SHIFT)) -#define PINMUX_GATE_EMIF_CLK_OFF ((uint32)((uint32)0x1U << PINMUX_GATE_EMIF_CLK_SHIFT)) -#define PINMUX_GIOB_DISABLE_HET2_OFF ((uint32)((uint32)0x0 << PINMUX_GIOB_DISABLE_HET2_SHIFT)) -#define PINMUX_ALT_ADC_TRIGGER_1 ((uint32)((uint32)0x1U << PINMUX_ALT_ADC_TRIGGER_SHIFT)) -#define PINMUX_ALT_ADC_TRIGGER_2 ((uint32)((uint32)0x2U << PINMUX_ALT_ADC_TRIGGER_SHIFT)) -#define PINMUX_ETHERNET_MII ((uint32)((uint32)0x0 << PINMUX_ETHERNET_SHIFT)) -#define PINMUX_ETHERNET_RMII ((uint32)((uint32)0x1U << PINMUX_ETHERNET_SHIFT)) - -#define PINMUX_ETPWM1_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM1_SHIFT)) -#define PINMUX_ETPWM1_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM1_SHIFT)) -#define PINMUX_ETPWM1_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM1_SHIFT)) -#define PINMUX_ETPWM2_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM2_SHIFT)) -#define PINMUX_ETPWM2_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM2_SHIFT)) -#define PINMUX_ETPWM2_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM2_SHIFT)) -#define PINMUX_ETPWM3_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM3_SHIFT)) -#define PINMUX_ETPWM3_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM3_SHIFT)) -#define PINMUX_ETPWM3_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM3_SHIFT)) -#define PINMUX_ETPWM4_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM4_SHIFT)) -#define PINMUX_ETPWM4_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM4_SHIFT)) -#define PINMUX_ETPWM4_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM4_SHIFT)) -#define PINMUX_ETPWM5_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM5_SHIFT)) -#define PINMUX_ETPWM5_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM5_SHIFT)) -#define PINMUX_ETPWM5_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM5_SHIFT)) -#define PINMUX_ETPWM6_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM6_SHIFT)) -#define PINMUX_ETPWM6_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM6_SHIFT)) -#define PINMUX_ETPWM6_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM6_SHIFT)) -#define PINMUX_ETPWM7_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM7_SHIFT)) -#define PINMUX_ETPWM7_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM7_SHIFT)) -#define PINMUX_ETPWM7_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM7_SHIFT)) -#define PINMUX_ETPWM_TIME_BASE_SYNC_ON ((uint32)((uint32)0x2U << PINMUX_ETPWM_TIME_BASE_SYNC_SHIFT)) -#define PINMUX_ETPWM_TBCLK_SYNC_ON ((uint32)((uint32)0x2U << PINMUX_ETPWM_TBCLK_SYNC_SHIFT)) -#define PINMUX_ETPWM_TIME_BASE_SYNC_OFF ((uint32)((uint32)0x0 << PINMUX_ETPWM_TIME_BASE_SYNC_SHIFT)) -#define PINMUX_ETPWM_TBCLK_SYNC_OFF ((uint32)((uint32)0x0 << PINMUX_ETPWM_TBCLK_SYNC_SHIFT)) -#define PINMUX_TZ1_ASYNC ((uint32)((uint32)0x1U << PINMUX_TZ1_SHIFT)) -#define PINMUX_TZ1_SYNC ((uint32)((uint32)0x2U << PINMUX_TZ1_SHIFT)) -#define PINMUX_TZ1_FILTERED ((uint32)((uint32)0x4U << PINMUX_TZ1_SHIFT)) -#define PINMUX_TZ2_ASYNC ((uint32)((uint32)0x1U << PINMUX_TZ2_SHIFT)) -#define PINMUX_TZ2_SYNC ((uint32)((uint32)0x2U << PINMUX_TZ2_SHIFT)) -#define PINMUX_TZ2_FILTERED ((uint32)((uint32)0x4U << PINMUX_TZ2_SHIFT)) -#define PINMUX_TZ3_ASYNC ((uint32)((uint32)0x1U << PINMUX_TZ3_SHIFT)) -#define PINMUX_TZ3_SYNC ((uint32)((uint32)0x2U << PINMUX_TZ3_SHIFT)) -#define PINMUX_TZ3_FILTERED ((uint32)((uint32)0x4U << PINMUX_TZ3_SHIFT)) -#define PINMUX_EPWM1SYNCI_ASYNC ((uint32)((uint32)0x1U << PINMUX_EPWM1SYNCI_SHIFT)) -#define PINMUX_EPWM1SYNCI_SYNC ((uint32)((uint32)0x2U << PINMUX_EPWM1SYNCI_SHIFT)) -#define PINMUX_EPWM1SYNCI_FILTERED ((uint32)((uint32)0x4U << PINMUX_EPWM1SYNCI_SHIFT)) - -typedef struct pinmux_config_reg -{ - uint32 CONFIG_PINMMR0; - uint32 CONFIG_PINMMR1; - uint32 CONFIG_PINMMR2; - uint32 CONFIG_PINMMR3; - uint32 CONFIG_PINMMR4; - uint32 CONFIG_PINMMR5; - uint32 CONFIG_PINMMR6; - uint32 CONFIG_PINMMR7; - uint32 CONFIG_PINMMR8; - uint32 CONFIG_PINMMR9; - uint32 CONFIG_PINMMR10; - uint32 CONFIG_PINMMR11; - uint32 CONFIG_PINMMR12; - uint32 CONFIG_PINMMR13; - uint32 CONFIG_PINMMR14; - uint32 CONFIG_PINMMR15; - uint32 CONFIG_PINMMR16; - uint32 CONFIG_PINMMR17; - uint32 CONFIG_PINMMR18; - uint32 CONFIG_PINMMR19; - uint32 CONFIG_PINMMR20; - uint32 CONFIG_PINMMR21; - uint32 CONFIG_PINMMR22; - uint32 CONFIG_PINMMR23; - uint32 CONFIG_PINMMR24; - uint32 CONFIG_PINMMR25; - uint32 CONFIG_PINMMR26; - uint32 CONFIG_PINMMR27; - uint32 CONFIG_PINMMR28; - uint32 CONFIG_PINMMR29; - uint32 CONFIG_PINMMR30; - uint32 CONFIG_PINMMR31; - uint32 CONFIG_PINMMR32; - uint32 CONFIG_PINMMR33; - uint32 CONFIG_PINMMR34; - uint32 CONFIG_PINMMR35; - uint32 CONFIG_PINMMR36; - uint32 CONFIG_PINMMR37; - uint32 CONFIG_PINMMR38; - uint32 CONFIG_PINMMR39; - uint32 CONFIG_PINMMR40; - uint32 CONFIG_PINMMR41; - uint32 CONFIG_PINMMR42; - uint32 CONFIG_PINMMR43; - uint32 CONFIG_PINMMR44; - uint32 CONFIG_PINMMR45; - uint32 CONFIG_PINMMR46; - uint32 CONFIG_PINMMR47; -}pinmux_config_reg_t; - -/** - * @defgroup IOMM IOMM - * @brief I/O Multiplexing and Control Module. - * - * The IOMM contains memory-mapped registers (MMR) that control device-specific multiplexed functions. - * The safety and diagnostic features of the IOMM are: - * - Kicker mechanism to protect the MMRs from accidental writes - * - Master-id checker to only allow the CPU to write to the MMRs - * - Error indication for access violations - * - * Related Files - * - reg_pinmux.h - * - pinmux.h - * - pinmux.c - * @addtogroup IOMM - * @{ - */ - -/** @fn void muxInit(void) -* @brief Initializes the PINMUX Driver -* -* This function initializes the PINMUX module and configures the selected -* pinmux settings as per the user selection in the GUI -*/ -void muxInit(void); -void pinmuxGetConfigValue(pinmux_config_reg_t *config_reg, config_value_type_t type); -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif /*extern "C" */ -#endif +/** @file pinmux.h +* @brief PINMUX Driver Implementation File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __PINMUX_H__ +#define __PINMUX_H__ + +#include "reg_pinmux.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +#define PINMUX_PIN_3_SHIFT 16U +#define PINMUX_PIN_4_SHIFT 24U +#define PINMUX_PIN_6_SHIFT 8U +#define PINMUX_PIN_9_SHIFT 0U +#define PINMUX_PIN_14_SHIFT 24U +#define PINMUX_PIN_16_SHIFT 16U +#define PINMUX_PIN_22_SHIFT 0U +#define PINMUX_PIN_23_SHIFT 16U +#define PINMUX_PIN_24_SHIFT 24U +#define PINMUX_PIN_25_SHIFT 0U +#define PINMUX_PIN_30_SHIFT 8U +#define PINMUX_PIN_31_SHIFT 16U +#define PINMUX_PIN_32_SHIFT 0U +#define PINMUX_PIN_33_SHIFT 0U +#define PINMUX_PIN_33_SHIFT 0U +#define PINMUX_PIN_35_SHIFT 16U +#define PINMUX_PIN_36_SHIFT 0U +#define PINMUX_PIN_37_SHIFT 8U +#define PINMUX_PIN_38_SHIFT 16U +#define PINMUX_PIN_39_SHIFT 0U +#define PINMUX_PIN_40_SHIFT 8U +#define PINMUX_PIN_41_SHIFT 16U +#define PINMUX_PIN_51_SHIFT 8U +#define PINMUX_PIN_52_SHIFT 16U +#define PINMUX_PIN_53_SHIFT 24U +#define PINMUX_PIN_54_SHIFT 8U +#define PINMUX_PIN_55_SHIFT 16U +#define PINMUX_PIN_86_SHIFT 0U +#define PINMUX_PIN_91_SHIFT 24U +#define PINMUX_PIN_92_SHIFT 0U +#define PINMUX_PIN_96_SHIFT 16U +#define PINMUX_PIN_97_SHIFT 24U +#define PINMUX_PIN_98_SHIFT 0U +#define PINMUX_PIN_99_SHIFT 8U +#define PINMUX_PIN_100_SHIFT 16U +#define PINMUX_PIN_105_SHIFT 24U +#define PINMUX_PIN_106_SHIFT 0U +#define PINMUX_PIN_107_SHIFT 8U +#define PINMUX_PIN_118_SHIFT 0U +#define PINMUX_PIN_124_SHIFT 16U +#define PINMUX_PIN_127_SHIFT 8U +#define PINMUX_PIN_130_SHIFT 16U +#define PINMUX_PIN_139_SHIFT 0U +#define PINMUX_PIN_140_SHIFT 8U +#define PINMUX_PIN_141_SHIFT 16U +#define PINMUX_PIN_133_SHIFT 8U +#define PINMUX_PIN_1_SHIFT 0U +#define PINMUX_PIN_2_SHIFT 8U +#define PINMUX_PIN_5_SHIFT 0U +#define PINMUX_PIN_15_SHIFT 8U +#define PINMUX_PIN_125_SHIFT 8U +#define PINMUX_PIN_126_SHIFT 24U + + +#define PINMUX_GATE_EMIF_CLK_SHIFT 8U +#define PINMUX_GIOB_DISABLE_HET2_SHIFT 16U +#define PINMUX_ALT_ADC_TRIGGER_SHIFT 0U +#define PINMUX_ETHERNET_SHIFT 24U +#define PINMUX_ETPWM1_SHIFT 0U +#define PINMUX_ETPWM2_SHIFT 8U +#define PINMUX_ETPWM3_SHIFT 16U +#define PINMUX_ETPWM4_SHIFT 24U +#define PINMUX_ETPWM5_SHIFT 0U +#define PINMUX_ETPWM6_SHIFT 8U +#define PINMUX_ETPWM7_SHIFT 16U +#define PINMUX_ETPWM_TIME_BASE_SYNC_SHIFT 24U +#define PINMUX_ETPWM_TBCLK_SYNC_SHIFT 0U +#define PINMUX_TZ1_SHIFT 16U +#define PINMUX_TZ2_SHIFT 24U +#define PINMUX_TZ3_SHIFT 0U +#define PINMUX_EPWM1SYNCI_SHIFT 8U + +#define PINMUX_PIN_3_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_3_SHIFT)) +#define PINMUX_PIN_4_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_4_SHIFT)) +#define PINMUX_PIN_6_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_6_SHIFT)) +#define PINMUX_PIN_9_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_9_SHIFT)) +#define PINMUX_PIN_14_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_14_SHIFT)) +#define PINMUX_PIN_16_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_16_SHIFT)) +#define PINMUX_PIN_22_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_22_SHIFT)) +#define PINMUX_PIN_23_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_23_SHIFT)) +#define PINMUX_PIN_24_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_24_SHIFT)) +#define PINMUX_PIN_25_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_25_SHIFT)) +#define PINMUX_PIN_30_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_30_SHIFT)) +#define PINMUX_PIN_31_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_31_SHIFT)) +#define PINMUX_PIN_32_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_32_SHIFT)) +#define PINMUX_PIN_33_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_33_SHIFT)) +#define PINMUX_PIN_35_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_35_SHIFT)) +#define PINMUX_PIN_36_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_36_SHIFT)) +#define PINMUX_PIN_37_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_37_SHIFT)) +#define PINMUX_PIN_38_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_38_SHIFT)) +#define PINMUX_PIN_39_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_39_SHIFT)) +#define PINMUX_PIN_40_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_40_SHIFT)) +#define PINMUX_PIN_41_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_41_SHIFT)) +#define PINMUX_PIN_51_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_51_SHIFT)) +#define PINMUX_PIN_52_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_52_SHIFT)) +#define PINMUX_PIN_53_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_53_SHIFT)) +#define PINMUX_PIN_54_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_54_SHIFT)) +#define PINMUX_PIN_55_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_55_SHIFT)) +#define PINMUX_PIN_86_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_86_SHIFT)) +#define PINMUX_PIN_91_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_91_SHIFT)) +#define PINMUX_PIN_92_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_92_SHIFT)) +#define PINMUX_PIN_96_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_96_SHIFT)) +#define PINMUX_PIN_97_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_97_SHIFT)) +#define PINMUX_PIN_98_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_98_SHIFT)) +#define PINMUX_PIN_99_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_99_SHIFT)) +#define PINMUX_PIN_100_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_100_SHIFT)) +#define PINMUX_PIN_105_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_105_SHIFT)) +#define PINMUX_PIN_106_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_106_SHIFT)) +#define PINMUX_PIN_107_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_107_SHIFT)) +#define PINMUX_PIN_118_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_118_SHIFT)) +#define PINMUX_PIN_124_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_124_SHIFT)) +#define PINMUX_PIN_127_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_127_SHIFT)) +#define PINMUX_PIN_130_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_130_SHIFT)) +#define PINMUX_PIN_139_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_139_SHIFT)) +#define PINMUX_PIN_140_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_140_SHIFT)) +#define PINMUX_PIN_141_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_141_SHIFT)) +#define PINMUX_PIN_133_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_133_SHIFT)) +#define PINMUX_PIN_1_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_1_SHIFT)) +#define PINMUX_PIN_2_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_2_SHIFT)) +#define PINMUX_PIN_5_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_5_SHIFT)) +#define PINMUX_PIN_15_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_15_SHIFT)) +#define PINMUX_PIN_125_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_125_SHIFT)) +#define PINMUX_PIN_126_MASK (~(uint32)((uint32)0xFFU << PINMUX_PIN_126_SHIFT)) + +#define PINMUX_GATE_EMIF_CLK_MASK (~(uint32)((uint32)0xFFU << PINMUX_GATE_EMIF_CLK_SHIFT)) +#define PINMUX_GIOB_DISABLE_HET2_MASK (~(uint32)((uint32)0xFFU << PINMUX_GIOB_DISABLE_HET2_SHIFT)) +#define PINMUX_ALT_ADC_TRIGGER_MASK (~(uint32)((uint32)0xFFU << PINMUX_ALT_ADC_TRIGGER_SHIFT)) +#define PINMUX_ETHERNET_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETHERNET_SHIFT)) + +#define PINMUX_ETPWM1_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM1_SHIFT)) +#define PINMUX_ETPWM2_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM2_SHIFT)) +#define PINMUX_ETPWM3_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM3_SHIFT)) +#define PINMUX_ETPWM4_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM4_SHIFT)) +#define PINMUX_ETPWM5_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM5_SHIFT)) +#define PINMUX_ETPWM6_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM6_SHIFT)) +#define PINMUX_ETPWM7_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM7_SHIFT)) +#define PINMUX_ETPWM_TIME_BASE_SYNC_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM_TIME_BASE_SYNC_SHIFT)) +#define PINMUX_ETPWM_TBCLK_SYNC_MASK (~(uint32)((uint32)0xFFU << PINMUX_ETPWM_TBCLK_SYNC_SHIFT)) +#define PINMUX_TZ1_MASK (~(uint32)((uint32)0xFFU << PINMUX_TZ1_SHIFT)) +#define PINMUX_TZ2_MASK (~(uint32)((uint32)0xFFU << PINMUX_TZ2_SHIFT)) +#define PINMUX_TZ3_MASK (~(uint32)((uint32)0xFFU << PINMUX_TZ3_SHIFT)) +#define PINMUX_EPWM1SYNCI_MASK (~(uint32)((uint32)0xFFU << PINMUX_EPWM1SYNCI_SHIFT)) + + +#define PINMUX_PIN_3_MIBSPI3NCS_3 ((uint32)((uint32)0x1U << PINMUX_PIN_3_SHIFT)) +#define PINMUX_PIN_3_I2C_SCL ((uint32)((uint32)0x2U << PINMUX_PIN_3_SHIFT)) +#define PINMUX_PIN_3_HET1_29 ((uint32)((uint32)0x4U << PINMUX_PIN_3_SHIFT)) +#define PINMUX_PIN_3_nTZ1 ((uint32)((uint32)0x8U << PINMUX_PIN_3_SHIFT)) + +#define PINMUX_PIN_4_MIBSPI3NCS_2 ((uint32)((uint32)0x1U << PINMUX_PIN_4_SHIFT)) +#define PINMUX_PIN_4_I2C_SDA ((uint32)((uint32)0x2U << PINMUX_PIN_4_SHIFT)) +#define PINMUX_PIN_4_HET1_27 ((uint32)((uint32)0x4U << PINMUX_PIN_4_SHIFT)) +#define PINMUX_PIN_4_nTZ2 ((uint32)((uint32)0x8U << PINMUX_PIN_4_SHIFT)) + +#define PINMUX_PIN_6_HET1_11 ((uint32)((uint32)0x1U << PINMUX_PIN_6_SHIFT)) +#define PINMUX_PIN_6_MIBSPI3NCS_4 ((uint32)((uint32)0x2U << PINMUX_PIN_6_SHIFT)) +#define PINMUX_PIN_6_HET2_18 ((uint32)((uint32)0x4U << PINMUX_PIN_6_SHIFT)) +#define PINMUX_PIN_6_ETPWM1SYNCO ((uint32)((uint32)0x20U << PINMUX_PIN_6_SHIFT)) + +#define PINMUX_PIN_9_GIOA_2 ((uint32)((uint32)0x1U << PINMUX_PIN_9_SHIFT)) +#define PINMUX_PIN_9_HET2_0 ((uint32)((uint32)0x8U << PINMUX_PIN_9_SHIFT)) +#define PINMUX_PIN_9_EQEP2I ((uint32)((uint32)0x10U << PINMUX_PIN_9_SHIFT)) + +#define PINMUX_PIN_14_GIOA_5 ((uint32)((uint32)0x1U << PINMUX_PIN_14_SHIFT)) +#define PINMUX_PIN_14_EXTCLKIN ((uint32)((uint32)0x2U << PINMUX_PIN_14_SHIFT)) +#define PINMUX_PIN_14_ETPWM1A ((uint32)((uint32)0x4U << PINMUX_PIN_14_SHIFT)) + +#define PINMUX_PIN_16_GIOA_6 ((uint32)((uint32)0x1U << PINMUX_PIN_16_SHIFT)) +#define PINMUX_PIN_16_HET2_4 ((uint32)((uint32)0x2U << PINMUX_PIN_16_SHIFT)) +#define PINMUX_PIN_16_ETPWM1B ((uint32)((uint32)0x4U << PINMUX_PIN_16_SHIFT)) + +#define PINMUX_PIN_22_GIOA_7 ((uint32)((uint32)0x1U << PINMUX_PIN_22_SHIFT)) +#define PINMUX_PIN_22_HET2_6 ((uint32)((uint32)0x2U << PINMUX_PIN_22_SHIFT)) +#define PINMUX_PIN_22_ETPWM2A ((uint32)((uint32)0x4U << PINMUX_PIN_22_SHIFT)) + +#define PINMUX_PIN_23_HET1_01 ((uint32)((uint32)0x1U << PINMUX_PIN_23_SHIFT)) +#define PINMUX_PIN_23_SPI4NENA ((uint32)((uint32)0x2U << PINMUX_PIN_23_SHIFT)) +#define PINMUX_PIN_23_HET2_8 ((uint32)((uint32)0x10U << PINMUX_PIN_23_SHIFT)) +#define PINMUX_PIN_23_EQEP2A ((uint32)((uint32)0x20U << PINMUX_PIN_23_SHIFT)) + +#define PINMUX_PIN_24_HET1_03 ((uint32)((uint32)0x1U << PINMUX_PIN_24_SHIFT)) +#define PINMUX_PIN_24_SPI4NCS_0 ((uint32)((uint32)0x2U << PINMUX_PIN_24_SHIFT)) +#define PINMUX_PIN_24_HET2_10 ((uint32)((uint32)0x10U << PINMUX_PIN_24_SHIFT)) +#define PINMUX_PIN_24_EQEP2B ((uint32)((uint32)0x20U << PINMUX_PIN_24_SHIFT)) + +#define PINMUX_PIN_25_HET1_0 ((uint32)((uint32)0x1U << PINMUX_PIN_25_SHIFT)) +#define PINMUX_PIN_25_SPI4CLK ((uint32)((uint32)0x2U << PINMUX_PIN_25_SHIFT)) +#define PINMUX_PIN_25_ETPWM2B ((uint32)((uint32)0x4U << PINMUX_PIN_25_SHIFT)) + +#define PINMUX_PIN_30_HET1_02 ((uint32)((uint32)0x1U << PINMUX_PIN_30_SHIFT)) +#define PINMUX_PIN_30_SPI4SIMO ((uint32)((uint32)0x2U << PINMUX_PIN_30_SHIFT)) +#define PINMUX_PIN_30_ETPWM3A ((uint32)((uint32)0x4U << PINMUX_PIN_30_SHIFT)) + +#define PINMUX_PIN_31_HET1_05 ((uint32)((uint32)0x1U << PINMUX_PIN_31_SHIFT)) +#define PINMUX_PIN_31_SPI4SOMI ((uint32)((uint32)0x2U << PINMUX_PIN_31_SHIFT)) +#define PINMUX_PIN_31_HET2_12 ((uint32)((uint32)0x4U << PINMUX_PIN_31_SHIFT)) +#define PINMUX_PIN_31_ETPWM3B ((uint32)((uint32)0x8U << PINMUX_PIN_31_SHIFT)) + +#define PINMUX_PIN_32_MIBSPI5NCS_0 ((uint32)((uint32)0x1U << PINMUX_PIN_32_SHIFT)) +#define PINMUX_PIN_32_ETPWM4A ((uint32)((uint32)0x4U << PINMUX_PIN_32_SHIFT)) + +#define PINMUX_PIN_33_HET1_07 ((uint32)((uint32)0x1U << PINMUX_PIN_33_SHIFT)) +#define PINMUX_PIN_33_HET2_14 ((uint32)((uint32)0x8U << PINMUX_PIN_33_SHIFT)) +#define PINMUX_PIN_33_ETPWM7B ((uint32)((uint32)0x10U << PINMUX_PIN_33_SHIFT)) + +#define PINMUX_PIN_35_HET1_09 ((uint32)((uint32)0x1U << PINMUX_PIN_35_SHIFT)) +#define PINMUX_PIN_35_HET2_16 ((uint32)((uint32)0x2U << PINMUX_PIN_35_SHIFT)) +#define PINMUX_PIN_35_ETPWM7A ((uint32)((uint32)0x10U << PINMUX_PIN_35_SHIFT)) + +#define PINMUX_PIN_36_HET1_04 ((uint32)((uint32)0x1U << PINMUX_PIN_36_SHIFT)) +#define PINMUX_PIN_36_ETPWM4B ((uint32)((uint32)0x2U << PINMUX_PIN_36_SHIFT)) + +#define PINMUX_PIN_37_MIBSPI3NCS_1 ((uint32)((uint32)0x1U << PINMUX_PIN_37_SHIFT)) +#define PINMUX_PIN_37_HET1_25 ((uint32)((uint32)0x2U << PINMUX_PIN_37_SHIFT)) +#define PINMUX_PIN_37_MDCLK ((uint32)((uint32)0x4U << PINMUX_PIN_37_SHIFT)) + +#define PINMUX_PIN_38_HET1_06 ((uint32)((uint32)0x1U << PINMUX_PIN_38_SHIFT)) +#define PINMUX_PIN_38_SCIRX ((uint32)((uint32)0x2U << PINMUX_PIN_38_SHIFT)) +#define PINMUX_PIN_38_ETPWM5A ((uint32)((uint32)0x4U << PINMUX_PIN_38_SHIFT)) + +#define PINMUX_PIN_39_HET1_13 ((uint32)((uint32)0x1U << PINMUX_PIN_39_SHIFT)) +#define PINMUX_PIN_39_SCITX ((uint32)((uint32)0x2U << PINMUX_PIN_39_SHIFT)) +#define PINMUX_PIN_39_ETPWM5B ((uint32)((uint32)0x4U << PINMUX_PIN_39_SHIFT)) + +#define PINMUX_PIN_40_MIBSPI1NCS_2 ((uint32)((uint32)0x1U << PINMUX_PIN_40_SHIFT)) +#define PINMUX_PIN_40_HET1_19 ((uint32)((uint32)0x2U << PINMUX_PIN_40_SHIFT)) +#define PINMUX_PIN_40_MDIO ((uint32)((uint32)0x4U << PINMUX_PIN_40_SHIFT)) + +#define PINMUX_PIN_41_HET1_15 ((uint32)((uint32)0x1U << PINMUX_PIN_41_SHIFT)) +#define PINMUX_PIN_41_MIBSPI1NCS_4 ((uint32)((uint32)0x2U << PINMUX_PIN_41_SHIFT)) +#define PINMUX_PIN_41_ECAP1 ((uint32)((uint32)0x4U << PINMUX_PIN_41_SHIFT)) + +#define PINMUX_PIN_51_MIBSPI3SOMI ((uint32)((uint32)0x1U << PINMUX_PIN_51_SHIFT)) +#define PINMUX_PIN_51_AWM_EXT_ENA ((uint32)((uint32)0x2U << PINMUX_PIN_51_SHIFT)) +#define PINMUX_PIN_51_ECAP2 ((uint32)((uint32)0x4U << PINMUX_PIN_51_SHIFT)) + +#define PINMUX_PIN_52_MIBSPI3SIMO ((uint32)((uint32)0x1U << PINMUX_PIN_52_SHIFT)) +#define PINMUX_PIN_52_AWM_EXT_SEL_0 ((uint32)((uint32)0x2U << PINMUX_PIN_52_SHIFT)) +#define PINMUX_PIN_52_ECAP3 ((uint32)((uint32)0x4U << PINMUX_PIN_52_SHIFT)) + +#define PINMUX_PIN_53_MIBSPI3CLK ((uint32)((uint32)0x1U << PINMUX_PIN_53_SHIFT)) +#define PINMUX_PIN_53_AWM_EXT_SEL_1 ((uint32)((uint32)0x2U << PINMUX_PIN_53_SHIFT)) +#define PINMUX_PIN_53_EQEP1A ((uint32)((uint32)0x4U << PINMUX_PIN_53_SHIFT)) + +#define PINMUX_PIN_54_MIBSPI3NENA ((uint32)((uint32)0x1U << PINMUX_PIN_54_SHIFT)) +#define PINMUX_PIN_54_MIBSPI3NCS_5 ((uint32)((uint32)0x2U << PINMUX_PIN_54_SHIFT)) +#define PINMUX_PIN_54_HET1_31 ((uint32)((uint32)0x4U << PINMUX_PIN_54_SHIFT)) +#define PINMUX_PIN_54_EQEP1B ((uint32)((uint32)0x8U << PINMUX_PIN_54_SHIFT)) + +#define PINMUX_PIN_55_MIBSPI3NCS_0 ((uint32)((uint32)0x1U << PINMUX_PIN_55_SHIFT)) +#define PINMUX_PIN_55_AD2EVT ((uint32)((uint32)0x2U << PINMUX_PIN_55_SHIFT)) +#define PINMUX_PIN_55_GIOB_2 ((uint32)((uint32)0x4U << PINMUX_PIN_55_SHIFT)) +#define PINMUX_PIN_55_EQEP1I ((uint32)((uint32)0x8U << PINMUX_PIN_55_SHIFT)) + +#define PINMUX_PIN_86_AD1EVT ((uint32)((uint32)0x1U << PINMUX_PIN_86_SHIFT)) +#define PINMUX_PIN_86_MII_RX_ER ((uint32)((uint32)0x2U << PINMUX_PIN_86_SHIFT)) +#define PINMUX_PIN_86_RMII_RX_ER ((uint32)((uint32)0x4U << PINMUX_PIN_86_SHIFT)) + +#define PINMUX_PIN_91_HET1_24 ((uint32)((uint32)0x1U << PINMUX_PIN_91_SHIFT)) +#define PINMUX_PIN_91_MIBSPI1NCS_5 ((uint32)((uint32)0x2U << PINMUX_PIN_91_SHIFT)) +#define PINMUX_PIN_91_MII_RXD_0 ((uint32)((uint32)0x4U << PINMUX_PIN_91_SHIFT)) +#define PINMUX_PIN_91_RMII_RXD_0 ((uint32)((uint32)0x8U << PINMUX_PIN_91_SHIFT)) + +#define PINMUX_PIN_92_HET1_26 ((uint32)((uint32)0x1U << PINMUX_PIN_92_SHIFT)) +#define PINMUX_PIN_92_MII_RXD_1 ((uint32)((uint32)0x2U << PINMUX_PIN_92_SHIFT)) +#define PINMUX_PIN_92_RMII_RXD_1 ((uint32)((uint32)0x4U << PINMUX_PIN_92_SHIFT)) + +#define PINMUX_PIN_96_MIBSPI1NENA ((uint32)((uint32)0x1U << PINMUX_PIN_96_SHIFT)) +#define PINMUX_PIN_96_HET1_23 ((uint32)((uint32)0x2U << PINMUX_PIN_96_SHIFT)) +#define PINMUX_PIN_96_MII_RXD_2 ((uint32)((uint32)0x4U << PINMUX_PIN_96_SHIFT)) +#define PINMUX_PIN_96_ECAP4 ((uint32)((uint32)0x10U << PINMUX_PIN_96_SHIFT)) + +#define PINMUX_PIN_97_MIBSPI5NENA ((uint32)((uint32)0x1U << PINMUX_PIN_97_SHIFT)) +#define PINMUX_PIN_97_MII_RXD_3 ((uint32)((uint32)0x4U << PINMUX_PIN_97_SHIFT)) +#define PINMUX_PIN_97_MIBSPI5SOMI_1 ((uint32)((uint32)0x10U << PINMUX_PIN_97_SHIFT)) +#define PINMUX_PIN_97_ECAP5 ((uint32)((uint32)0x20U << PINMUX_PIN_97_SHIFT)) + +#define PINMUX_PIN_98_MIBSPI5SOMI_0 ((uint32)((uint32)0x1U << PINMUX_PIN_98_SHIFT)) +#define PINMUX_PIN_98_MII_TXD_0 ((uint32)((uint32)0x4U << PINMUX_PIN_98_SHIFT)) +#define PINMUX_PIN_98_RMII_TXD_0 ((uint32)((uint32)0x8U << PINMUX_PIN_98_SHIFT)) + +#define PINMUX_PIN_99_MIBSPI5SIMO_0 ((uint32)((uint32)0x1U << PINMUX_PIN_99_SHIFT)) +#define PINMUX_PIN_99_MII_TXD_1 ((uint32)((uint32)0x4U << PINMUX_PIN_99_SHIFT)) +#define PINMUX_PIN_99_RMII_TXD_1 ((uint32)((uint32)0x8U << PINMUX_PIN_99_SHIFT)) +#define PINMUX_PIN_99_MIBSPI5SOMI_2 ((uint32)((uint32)0x10U << PINMUX_PIN_99_SHIFT)) + +#define PINMUX_PIN_100_MIBSPI5CLK ((uint32)((uint32)0x1U << PINMUX_PIN_100_SHIFT)) +#define PINMUX_PIN_100_MII_TXEN ((uint32)((uint32)0x4U << PINMUX_PIN_100_SHIFT)) +#define PINMUX_PIN_100_RMII_TXEN ((uint32)((uint32)0x8U << PINMUX_PIN_100_SHIFT)) + +#define PINMUX_PIN_105_MIBSPI1NCS_0 ((uint32)((uint32)0x1U << PINMUX_PIN_105_SHIFT)) +#define PINMUX_PIN_105_MIBSPI1SOMI_1 ((uint32)((uint32)0x2U << PINMUX_PIN_105_SHIFT)) +#define PINMUX_PIN_105_MII_TXD_2 ((uint32)((uint32)0x4U << PINMUX_PIN_105_SHIFT)) +#define PINMUX_PIN_105_ECAP6 ((uint32)((uint32)0x10U << PINMUX_PIN_105_SHIFT)) + +#define PINMUX_PIN_106_HET1_08 ((uint32)((uint32)0x1U << PINMUX_PIN_106_SHIFT)) +#define PINMUX_PIN_106_MIBSPI1SIMO_1 ((uint32)((uint32)0x2U << PINMUX_PIN_106_SHIFT)) +#define PINMUX_PIN_106_MII_TXD_3 ((uint32)((uint32)0x4U << PINMUX_PIN_106_SHIFT)) + +#define PINMUX_PIN_107_HET1_28 ((uint32)((uint32)0x1U << PINMUX_PIN_107_SHIFT)) +#define PINMUX_PIN_107_MII_RXCLK ((uint32)((uint32)0x2U << PINMUX_PIN_107_SHIFT)) +#define PINMUX_PIN_107_RMII_REFCLK ((uint32)((uint32)0x4U << PINMUX_PIN_107_SHIFT)) +#define PINMUX_PIN_107_MII_RX_AVCLK4 ((uint32)((uint32)0x8U << PINMUX_PIN_107_SHIFT)) + +#define PINMUX_PIN_118_HET1_10 ((uint32)((uint32)0x1U << PINMUX_PIN_118_SHIFT)) +#define PINMUX_PIN_118_MII_TX_CLK ((uint32)((uint32)0x2U << PINMUX_PIN_118_SHIFT)) +#define PINMUX_PIN_118_MII_TX_AVCLK4 ((uint32)((uint32)0x8U << PINMUX_PIN_118_SHIFT)) +#define PINMUX_PIN_118_nTZ3 ((uint32)((uint32)0x10U << PINMUX_PIN_118_SHIFT)) + +#define PINMUX_PIN_124_HET1_12 ((uint32)((uint32)0x1U << PINMUX_PIN_124_SHIFT)) +#define PINMUX_PIN_124_MII_CRS ((uint32)((uint32)0x2U << PINMUX_PIN_124_SHIFT)) +#define PINMUX_PIN_124_RMII_CRS_DV ((uint32)((uint32)0x4U << PINMUX_PIN_124_SHIFT)) + +#define PINMUX_PIN_127_HET1_30 ((uint32)((uint32)0x1U << PINMUX_PIN_127_SHIFT)) +#define PINMUX_PIN_127_MII_RX_DV ((uint32)((uint32)0x2U << PINMUX_PIN_127_SHIFT)) +#define PINMUX_PIN_127_EQEP2S ((uint32)((uint32)0x8U << PINMUX_PIN_127_SHIFT)) + +#define PINMUX_PIN_130_MIBSPI1NCS_1 ((uint32)((uint32)0x1U << PINMUX_PIN_130_SHIFT)) +#define PINMUX_PIN_130_HET1_17 ((uint32)((uint32)0x2U << PINMUX_PIN_130_SHIFT)) +#define PINMUX_PIN_130_MII_COL ((uint32)((uint32)0x4U << PINMUX_PIN_130_SHIFT)) +#define PINMUX_PIN_130_EQEP1S ((uint32)((uint32)0x10U << PINMUX_PIN_130_SHIFT)) + +#define PINMUX_PIN_139_HET1_16 ((uint32)((uint32)0x1U << PINMUX_PIN_139_SHIFT)) +#define PINMUX_PIN_139_ETPWM1SYNCI ((uint32)((uint32)0x2U << PINMUX_PIN_139_SHIFT)) +#define PINMUX_PIN_139_ETPWM1SYNCO ((uint32)((uint32)0x4U << PINMUX_PIN_139_SHIFT)) + +#define PINMUX_PIN_140_HET1_18 ((uint32)((uint32)0x1U << PINMUX_PIN_140_SHIFT)) +#define PINMUX_PIN_140_ETPWM6A ((uint32)((uint32)0x2U << PINMUX_PIN_140_SHIFT)) + +#define PINMUX_PIN_141_HET1_20 ((uint32)((uint32)0x1U << PINMUX_PIN_141_SHIFT)) +#define PINMUX_PIN_141_ETPWM6B ((uint32)((uint32)0x2U << PINMUX_PIN_141_SHIFT)) + +#define PINMUX_PIN_133_GIOB_1 ((uint32)((uint32)0x1U << PINMUX_PIN_133_SHIFT)) + +#define PINMUX_PIN_1_GIOB_3 ((uint32)((uint32)0x1U << PINMUX_PIN_1_SHIFT)) + +#define PINMUX_PIN_2_GIOA_0 ((uint32)((uint32)0x1U << PINMUX_PIN_2_SHIFT)) + +#define PINMUX_PIN_5_GIOA_1 ((uint32)((uint32)0x1U << PINMUX_PIN_5_SHIFT)) + +#define PINMUX_PIN_15_HET1_22 ((uint32)((uint32)0x1U << PINMUX_PIN_15_SHIFT)) + +#define PINMUX_PIN_125_HET1_14 ((uint32)((uint32)0x1U << PINMUX_PIN_125_SHIFT)) + +#define PINMUX_PIN_126_GIOB_0 ((uint32)((uint32)0x1U << PINMUX_PIN_126_SHIFT)) + +#define PINMUX_GATE_EMIF_CLK_ON ((uint32)((uint32)0x0 << PINMUX_GATE_EMIF_CLK_SHIFT)) +#define PINMUX_GIOB_DISABLE_HET2_ON ((uint32)((uint32)0x1U << PINMUX_GIOB_DISABLE_HET2_SHIFT)) +#define PINMUX_GATE_EMIF_CLK_OFF ((uint32)((uint32)0x1U << PINMUX_GATE_EMIF_CLK_SHIFT)) +#define PINMUX_GIOB_DISABLE_HET2_OFF ((uint32)((uint32)0x0 << PINMUX_GIOB_DISABLE_HET2_SHIFT)) +#define PINMUX_ALT_ADC_TRIGGER_1 ((uint32)((uint32)0x1U << PINMUX_ALT_ADC_TRIGGER_SHIFT)) +#define PINMUX_ALT_ADC_TRIGGER_2 ((uint32)((uint32)0x2U << PINMUX_ALT_ADC_TRIGGER_SHIFT)) +#define PINMUX_ETHERNET_MII ((uint32)((uint32)0x0 << PINMUX_ETHERNET_SHIFT)) +#define PINMUX_ETHERNET_RMII ((uint32)((uint32)0x1U << PINMUX_ETHERNET_SHIFT)) + +#define PINMUX_ETPWM1_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM1_SHIFT)) +#define PINMUX_ETPWM1_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM1_SHIFT)) +#define PINMUX_ETPWM1_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM1_SHIFT)) +#define PINMUX_ETPWM2_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM2_SHIFT)) +#define PINMUX_ETPWM2_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM2_SHIFT)) +#define PINMUX_ETPWM2_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM2_SHIFT)) +#define PINMUX_ETPWM3_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM3_SHIFT)) +#define PINMUX_ETPWM3_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM3_SHIFT)) +#define PINMUX_ETPWM3_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM3_SHIFT)) +#define PINMUX_ETPWM4_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM4_SHIFT)) +#define PINMUX_ETPWM4_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM4_SHIFT)) +#define PINMUX_ETPWM4_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM4_SHIFT)) +#define PINMUX_ETPWM5_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM5_SHIFT)) +#define PINMUX_ETPWM5_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM5_SHIFT)) +#define PINMUX_ETPWM5_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM5_SHIFT)) +#define PINMUX_ETPWM6_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM6_SHIFT)) +#define PINMUX_ETPWM6_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM6_SHIFT)) +#define PINMUX_ETPWM6_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM6_SHIFT)) +#define PINMUX_ETPWM7_EQEPERR12 ((uint32)((uint32)0x1U << PINMUX_ETPWM7_SHIFT)) +#define PINMUX_ETPWM7_EQEPERR1 ((uint32)((uint32)0x2U << PINMUX_ETPWM7_SHIFT)) +#define PINMUX_ETPWM7_EQEPERR2 ((uint32)((uint32)0x4U << PINMUX_ETPWM7_SHIFT)) +#define PINMUX_ETPWM_TIME_BASE_SYNC_ON ((uint32)((uint32)0x2U << PINMUX_ETPWM_TIME_BASE_SYNC_SHIFT)) +#define PINMUX_ETPWM_TBCLK_SYNC_ON ((uint32)((uint32)0x2U << PINMUX_ETPWM_TBCLK_SYNC_SHIFT)) +#define PINMUX_ETPWM_TIME_BASE_SYNC_OFF ((uint32)((uint32)0x0 << PINMUX_ETPWM_TIME_BASE_SYNC_SHIFT)) +#define PINMUX_ETPWM_TBCLK_SYNC_OFF ((uint32)((uint32)0x0 << PINMUX_ETPWM_TBCLK_SYNC_SHIFT)) +#define PINMUX_TZ1_ASYNC ((uint32)((uint32)0x1U << PINMUX_TZ1_SHIFT)) +#define PINMUX_TZ1_SYNC ((uint32)((uint32)0x2U << PINMUX_TZ1_SHIFT)) +#define PINMUX_TZ1_FILTERED ((uint32)((uint32)0x4U << PINMUX_TZ1_SHIFT)) +#define PINMUX_TZ2_ASYNC ((uint32)((uint32)0x1U << PINMUX_TZ2_SHIFT)) +#define PINMUX_TZ2_SYNC ((uint32)((uint32)0x2U << PINMUX_TZ2_SHIFT)) +#define PINMUX_TZ2_FILTERED ((uint32)((uint32)0x4U << PINMUX_TZ2_SHIFT)) +#define PINMUX_TZ3_ASYNC ((uint32)((uint32)0x1U << PINMUX_TZ3_SHIFT)) +#define PINMUX_TZ3_SYNC ((uint32)((uint32)0x2U << PINMUX_TZ3_SHIFT)) +#define PINMUX_TZ3_FILTERED ((uint32)((uint32)0x4U << PINMUX_TZ3_SHIFT)) +#define PINMUX_EPWM1SYNCI_ASYNC ((uint32)((uint32)0x1U << PINMUX_EPWM1SYNCI_SHIFT)) +#define PINMUX_EPWM1SYNCI_SYNC ((uint32)((uint32)0x2U << PINMUX_EPWM1SYNCI_SHIFT)) +#define PINMUX_EPWM1SYNCI_FILTERED ((uint32)((uint32)0x4U << PINMUX_EPWM1SYNCI_SHIFT)) + +typedef struct pinmux_config_reg +{ + uint32 CONFIG_PINMMR0; + uint32 CONFIG_PINMMR1; + uint32 CONFIG_PINMMR2; + uint32 CONFIG_PINMMR3; + uint32 CONFIG_PINMMR4; + uint32 CONFIG_PINMMR5; + uint32 CONFIG_PINMMR6; + uint32 CONFIG_PINMMR7; + uint32 CONFIG_PINMMR8; + uint32 CONFIG_PINMMR9; + uint32 CONFIG_PINMMR10; + uint32 CONFIG_PINMMR11; + uint32 CONFIG_PINMMR12; + uint32 CONFIG_PINMMR13; + uint32 CONFIG_PINMMR14; + uint32 CONFIG_PINMMR15; + uint32 CONFIG_PINMMR16; + uint32 CONFIG_PINMMR17; + uint32 CONFIG_PINMMR18; + uint32 CONFIG_PINMMR19; + uint32 CONFIG_PINMMR20; + uint32 CONFIG_PINMMR21; + uint32 CONFIG_PINMMR22; + uint32 CONFIG_PINMMR23; + uint32 CONFIG_PINMMR24; + uint32 CONFIG_PINMMR25; + uint32 CONFIG_PINMMR26; + uint32 CONFIG_PINMMR27; + uint32 CONFIG_PINMMR28; + uint32 CONFIG_PINMMR29; + uint32 CONFIG_PINMMR30; + uint32 CONFIG_PINMMR31; + uint32 CONFIG_PINMMR32; + uint32 CONFIG_PINMMR33; + uint32 CONFIG_PINMMR34; + uint32 CONFIG_PINMMR35; + uint32 CONFIG_PINMMR36; + uint32 CONFIG_PINMMR37; + uint32 CONFIG_PINMMR38; + uint32 CONFIG_PINMMR39; + uint32 CONFIG_PINMMR40; + uint32 CONFIG_PINMMR41; + uint32 CONFIG_PINMMR42; + uint32 CONFIG_PINMMR43; + uint32 CONFIG_PINMMR44; + uint32 CONFIG_PINMMR45; + uint32 CONFIG_PINMMR46; + uint32 CONFIG_PINMMR47; +}pinmux_config_reg_t; + +/** + * @defgroup IOMM IOMM + * @brief I/O Multiplexing and Control Module. + * + * The IOMM contains memory-mapped registers (MMR) that control device-specific multiplexed functions. + * The safety and diagnostic features of the IOMM are: + * - Kicker mechanism to protect the MMRs from accidental writes + * - Master-id checker to only allow the CPU to write to the MMRs + * - Error indication for access violations + * + * Related Files + * - reg_pinmux.h + * - pinmux.h + * - pinmux.c + * @addtogroup IOMM + * @{ + */ + +/** @fn void muxInit(void) +* @brief Initializes the PINMUX Driver +* +* This function initializes the PINMUX module and configures the selected +* pinmux settings as per the user selection in the GUI +*/ +void muxInit(void); +void pinmuxGetConfigValue(pinmux_config_reg_t *config_reg, config_value_type_t type); +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif /*extern "C" */ +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_adc.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_adc.h index 4919db7f..a3f6f250 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_adc.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_adc.h @@ -1,261 +1,261 @@ -/** @file reg_adc.h -* @brief ADC Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the ADC driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_ADC_H__ -#define __REG_ADC_H__ - -#include "sys_common.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Adc Register Frame Definition */ -/** @struct adcBase -* @brief ADC Register Frame Definition -* -* This type is used to access the ADC Registers. -*/ -/** @typedef adcBASE_t -* @brief ADC Register Frame Type Definition -* -* This type is used to access the ADC Registers. -*/ -typedef volatile struct adcBase -{ - uint32 RSTCR; /**< 0x0000: Reset control register */ - uint32 OPMODECR; /**< 0x0004: Operating mode control register */ - uint32 CLOCKCR; /**< 0x0008: Clock control register */ - uint32 CALCR; /**< 0x000C: Calibration control register */ - uint32 GxMODECR[3U]; /**< 0x0010,0x0014,0x0018: Group 0-2 mode control register */ - uint32 EVSRC; /**< 0x001C: Group 0 trigger source control register */ - uint32 G1SRC; /**< 0x0020: Group 1 trigger source control register */ - uint32 G2SRC; /**< 0x0024: Group 2 trigger source control register */ - uint32 GxINTENA[3U]; /**< 0x0028,0x002C,0x0030: Group 0-2 interrupt enable register */ - uint32 GxINTFLG[3U]; /**< 0x0034,0x0038,0x003C: Group 0-2 interrupt flag register */ - uint32 GxINTCR[3U]; /**< 0x0040-0x0048: Group 0-2 interrupt threshold register */ - uint32 EVDMACR; /**< 0x004C: Group 0 DMA control register */ - uint32 G1DMACR; /**< 0x0050: Group 1 DMA control register */ - uint32 G2DMACR; /**< 0x0054: Group 2 DMA control register */ - uint32 BNDCR; /**< 0x0058: Buffer boundary control register */ - uint32 BNDEND; /**< 0x005C: Buffer boundary end register */ - uint32 EVSAMP; /**< 0x0060: Group 0 sample window register */ - uint32 G1SAMP; /**< 0x0064: Group 1 sample window register */ - uint32 G2SAMP; /**< 0x0068: Group 2 sample window register */ - uint32 EVSR; /**< 0x006C: Group 0 status register */ - uint32 G1SR; /**< 0x0070: Group 1 status register */ - uint32 G2SR; /**< 0x0074: Group 2 status register */ - uint32 GxSEL[3U]; /**< 0x0078-0x007C: Group 0-2 channel select register */ - uint32 CALR; /**< 0x0084: Calibration register */ - uint32 SMSTATE; /**< 0x0088: State machine state register */ - uint32 LASTCONV; /**< 0x008C: Last conversion register */ - struct - { - uint32 BUF0; /**< 0x0090,0x00B0,0x00D0: Group 0-2 result buffer 1 register */ - uint32 BUF1; /**< 0x0094,0x00B4,0x00D4: Group 0-2 result buffer 1 register */ - uint32 BUF2; /**< 0x0098,0x00B8,0x00D8: Group 0-2 result buffer 2 register */ - uint32 BUF3; /**< 0x009C,0x00BC,0x00DC: Group 0-2 result buffer 3 register */ - uint32 BUF4; /**< 0x00A0,0x00C0,0x00E0: Group 0-2 result buffer 4 register */ - uint32 BUF5; /**< 0x00A4,0x00C4,0x00E4: Group 0-2 result buffer 5 register */ - uint32 BUF6; /**< 0x00A8,0x00C8,0x00E8: Group 0-2 result buffer 6 register */ - uint32 BUF7; /**< 0x00AC,0x00CC,0x00EC: Group 0-2 result buffer 7 register */ - } GxBUF[3U]; - uint32 EVEMUBUFFER; /**< 0x00F0: Group 0 emulation result buffer */ - uint32 G1EMUBUFFER; /**< 0x00F4: Group 1 emulation result buffer */ - uint32 G2EMUBUFFER; /**< 0x00F8: Group 2 emulation result buffer */ - uint32 EVTDIR; /**< 0x00FC: Event pin direction register */ - uint32 EVTOUT; /**< 0x0100: Event pin digital output register */ - uint32 EVTIN; /**< 0x0104: Event pin digital input register */ - uint32 EVTSET; /**< 0x0108: Event pin set register */ - uint32 EVTCLR; /**< 0x010C: Event pin clear register */ - uint32 EVTPDR; /**< 0x0110: Event pin open drain register */ - uint32 EVTDIS; /**< 0x0114: Event pin pull disable register */ - uint32 EVTPSEL; /**< 0x0118: Event pin pull select register */ - uint32 EVSAMPDISEN; /**< 0x011C: Group 0 sample discharge register */ - uint32 G1SAMPDISEN; /**< 0x0120: Group 1 sample discharge register */ - uint32 G2SAMPDISEN; /**< 0x0124: Group 2 sample discharge register */ - uint32 MAGINTCR1; /**< 0x0128: Magnitude interrupt control register 1 */ - uint32 MAGINT1MASK; /**< 0x012C: Magnitude interrupt mask register 1 */ - uint32 MAGINTCR2; /**< 0x0130: Magnitude interrupt control register 2 */ - uint32 MAGINT2MASK; /**< 0x0134: Magnitude interrupt mask register 2 */ - uint32 MAGINTCR3; /**< 0x0138: Magnitude interrupt control register 3 */ - uint32 MAGINT3MASK; /**< 0x013C: Magnitude interrupt mask register 3 */ - uint32 rsvd1; /**< 0x0140: Reserved */ - uint32 rsvd2; /**< 0x0144: Reserved */ - uint32 rsvd3; /**< 0x0148: Reserved */ - uint32 rsvd4; /**< 0x014C: Reserved */ - uint32 rsvd5; /**< 0x0150: Reserved */ - uint32 rsvd6; /**< 0x0154: Reserved */ - uint32 MAGTHRINTENASET; /**< 0x0158: Magnitude interrupt set register */ - uint32 MAGTHRINTENACLR; /**< 0x015C: Magnitude interrupt clear register */ - uint32 MAGTHRINTFLG; /**< 0x0160: Magnitude interrupt flag register */ - uint32 MAGTHRINTOFFSET; /**< 0x0164: Magnitude interrupt offset register */ - uint32 GxFIFORESETCR[3U]; /**< 0x0168,0x016C,0x0170: Group 0-2 fifo reset register */ - uint32 EVRAMADDR; /**< 0x0174: Group 0 RAM pointer register */ - uint32 G1RAMADDR; /**< 0x0178: Group 1 RAM pointer register */ - uint32 G2RAMADDR; /**< 0x017C: Group 2 RAM pointer register */ - uint32 PARCR; /**< 0x0180: Parity control register */ - uint32 PARADDR; /**< 0x0184: Parity error address register */ - uint32 PWRUPDLYCTRL; /**< 0x0188: Power-Up delay control register */ - uint32 rsvd7; /**< 0x018C: Reserved */ - uint32 ADEVCHNSELMODECTRL; /**< 0x0190: Event Group Channel Selection Mode Control Register */ - uint32 ADG1CHNSELMODECTRL; /**< 0x0194: Group1 Channel Selection Mode Control Register */ - uint32 ADG2CHNSELMODECTRL; /**< 0x0198: Group2 Channel Selection Mode Control Register */ - uint32 ADEVCURRCOUNT; /**< 0x019C: Event Group Current Count Register */ - uint32 ADEVMAXCOUNT; /**< 0x01A0: Event Group Max Count Register */ - uint32 ADG1CURRCOUNT; /**< 0x01A4: Group1 Current Count Register */ - uint32 ADG1MAXCOUNT; /**< 0x01A8: Group1 Max Count Register */ - uint32 ADG2CURRCOUNT; /**< 0x01AC: Group2 Current Count Register */ - uint32 ADG2MAXCOUNT; /**< 0x01B0: Group2 Max Count Register */ -} adcBASE_t; - - -/** @struct adcLUTEntry -* @brief ADC Look-Up Table Entry -* -* This type is used to access ADC Look-Up Table Entry -*/ -/** @typedef adcLUTEntry_t -* @brief ADC Look-Up Table Entry -* -* This type is used to access the Look-Up Table Entry. -*/ -typedef struct adcLUTEntry -{ -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - uint8 EV_INT_CHN_MUX_SEL; - uint8 EV_EXT_CHN_MUX_SEL; - uint16 rsvd; -#else - uint16 rsvd; - uint8 EV_EXT_CHN_MUX_SEL; - uint8 EV_INT_CHN_MUX_SEL; -#endif -}adcLUTEntry_t; - - -/** @struct adcLUT -* @brief ADC Look-Up Table -* -* This type is used to access ADC Look-Up Table -*/ -/** @typedef adcLUT_t -* @brief ADC Look-Up Table -* -* This type is used to access the ADC Look-Up Table. -*/ -typedef volatile struct adcLUT -{ - adcLUTEntry_t eventGroup[32]; - adcLUTEntry_t Group1[32]; - adcLUTEntry_t Group2[32]; -} adcLUT_t; - - -/** @def adcREG1 -* @brief ADC1 Register Frame Pointer -* -* This pointer is used by the ADC driver to access the ADC1 registers. -*/ -#define adcREG1 ((adcBASE_t *)0xFFF7C000U) - -/** @def adcREG2 -* @brief ADC2 Register Frame Pointer -* -* This pointer is used by the ADC driver to access the ADC2 registers. -*/ -#define adcREG2 ((adcBASE_t *)0xFFF7C200U) - -/** @def adcRAM1 -* @brief ADC1 RAM Pointer -* -* This pointer is used by the ADC driver to access the ADC1 RAM. -*/ -#define adcRAM1 (*(volatile uint32 *)0xFF3E0000U) - -/** @def adcRAM2 -* @brief ADC2 RAM Pointer -* -* This pointer is used by the ADC driver to access the ADC2 RAM. -*/ -#define adcRAM2 (*(volatile uint32 *)0xFF3A0000U) - -/** @def adcPARRAM1 -* @brief ADC1 Parity RAM Pointer -* -* This pointer is used by the ADC driver to access the ADC1 Parity RAM. -*/ -#define adcPARRAM1 (*(volatile uint32 *)(0xFF3E0000U + 0x1000U)) - -/** @def adcPARRAM2 -* @brief ADC2 Parity RAM Pointer -* -* This pointer is used by the ADC driver to access the ADC2 Parity RAM. -*/ -#define adcPARRAM2 (*(volatile uint32 *)(0xFF3A0000U + 0x1000U)) - -/** @def adcLUT1 -* @brief ADC1 Look-Up Table -* -* This pointer is used by the ADC driver to access the ADC1 Look-Up Table. -*/ -#define adcLUT1 ((adcLUT_t *) 0xFF3E2000U) - -/** @def adcLUT2 -* @brief ADC2 Look-Up Table -* -* This pointer is used by the ADC driver to access the ADC2 Look-Up Table. -*/ -#define adcLUT2 ((adcLUT_t *) 0xFF3A2000U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_adc.h +* @brief ADC Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the ADC driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_ADC_H__ +#define __REG_ADC_H__ + +#include "sys_common.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Adc Register Frame Definition */ +/** @struct adcBase +* @brief ADC Register Frame Definition +* +* This type is used to access the ADC Registers. +*/ +/** @typedef adcBASE_t +* @brief ADC Register Frame Type Definition +* +* This type is used to access the ADC Registers. +*/ +typedef volatile struct adcBase +{ + uint32 RSTCR; /**< 0x0000: Reset control register */ + uint32 OPMODECR; /**< 0x0004: Operating mode control register */ + uint32 CLOCKCR; /**< 0x0008: Clock control register */ + uint32 CALCR; /**< 0x000C: Calibration control register */ + uint32 GxMODECR[3U]; /**< 0x0010,0x0014,0x0018: Group 0-2 mode control register */ + uint32 EVSRC; /**< 0x001C: Group 0 trigger source control register */ + uint32 G1SRC; /**< 0x0020: Group 1 trigger source control register */ + uint32 G2SRC; /**< 0x0024: Group 2 trigger source control register */ + uint32 GxINTENA[3U]; /**< 0x0028,0x002C,0x0030: Group 0-2 interrupt enable register */ + uint32 GxINTFLG[3U]; /**< 0x0034,0x0038,0x003C: Group 0-2 interrupt flag register */ + uint32 GxINTCR[3U]; /**< 0x0040-0x0048: Group 0-2 interrupt threshold register */ + uint32 EVDMACR; /**< 0x004C: Group 0 DMA control register */ + uint32 G1DMACR; /**< 0x0050: Group 1 DMA control register */ + uint32 G2DMACR; /**< 0x0054: Group 2 DMA control register */ + uint32 BNDCR; /**< 0x0058: Buffer boundary control register */ + uint32 BNDEND; /**< 0x005C: Buffer boundary end register */ + uint32 EVSAMP; /**< 0x0060: Group 0 sample window register */ + uint32 G1SAMP; /**< 0x0064: Group 1 sample window register */ + uint32 G2SAMP; /**< 0x0068: Group 2 sample window register */ + uint32 EVSR; /**< 0x006C: Group 0 status register */ + uint32 G1SR; /**< 0x0070: Group 1 status register */ + uint32 G2SR; /**< 0x0074: Group 2 status register */ + uint32 GxSEL[3U]; /**< 0x0078-0x007C: Group 0-2 channel select register */ + uint32 CALR; /**< 0x0084: Calibration register */ + uint32 SMSTATE; /**< 0x0088: State machine state register */ + uint32 LASTCONV; /**< 0x008C: Last conversion register */ + struct + { + uint32 BUF0; /**< 0x0090,0x00B0,0x00D0: Group 0-2 result buffer 1 register */ + uint32 BUF1; /**< 0x0094,0x00B4,0x00D4: Group 0-2 result buffer 1 register */ + uint32 BUF2; /**< 0x0098,0x00B8,0x00D8: Group 0-2 result buffer 2 register */ + uint32 BUF3; /**< 0x009C,0x00BC,0x00DC: Group 0-2 result buffer 3 register */ + uint32 BUF4; /**< 0x00A0,0x00C0,0x00E0: Group 0-2 result buffer 4 register */ + uint32 BUF5; /**< 0x00A4,0x00C4,0x00E4: Group 0-2 result buffer 5 register */ + uint32 BUF6; /**< 0x00A8,0x00C8,0x00E8: Group 0-2 result buffer 6 register */ + uint32 BUF7; /**< 0x00AC,0x00CC,0x00EC: Group 0-2 result buffer 7 register */ + } GxBUF[3U]; + uint32 EVEMUBUFFER; /**< 0x00F0: Group 0 emulation result buffer */ + uint32 G1EMUBUFFER; /**< 0x00F4: Group 1 emulation result buffer */ + uint32 G2EMUBUFFER; /**< 0x00F8: Group 2 emulation result buffer */ + uint32 EVTDIR; /**< 0x00FC: Event pin direction register */ + uint32 EVTOUT; /**< 0x0100: Event pin digital output register */ + uint32 EVTIN; /**< 0x0104: Event pin digital input register */ + uint32 EVTSET; /**< 0x0108: Event pin set register */ + uint32 EVTCLR; /**< 0x010C: Event pin clear register */ + uint32 EVTPDR; /**< 0x0110: Event pin open drain register */ + uint32 EVTDIS; /**< 0x0114: Event pin pull disable register */ + uint32 EVTPSEL; /**< 0x0118: Event pin pull select register */ + uint32 EVSAMPDISEN; /**< 0x011C: Group 0 sample discharge register */ + uint32 G1SAMPDISEN; /**< 0x0120: Group 1 sample discharge register */ + uint32 G2SAMPDISEN; /**< 0x0124: Group 2 sample discharge register */ + uint32 MAGINTCR1; /**< 0x0128: Magnitude interrupt control register 1 */ + uint32 MAGINT1MASK; /**< 0x012C: Magnitude interrupt mask register 1 */ + uint32 MAGINTCR2; /**< 0x0130: Magnitude interrupt control register 2 */ + uint32 MAGINT2MASK; /**< 0x0134: Magnitude interrupt mask register 2 */ + uint32 MAGINTCR3; /**< 0x0138: Magnitude interrupt control register 3 */ + uint32 MAGINT3MASK; /**< 0x013C: Magnitude interrupt mask register 3 */ + uint32 rsvd1; /**< 0x0140: Reserved */ + uint32 rsvd2; /**< 0x0144: Reserved */ + uint32 rsvd3; /**< 0x0148: Reserved */ + uint32 rsvd4; /**< 0x014C: Reserved */ + uint32 rsvd5; /**< 0x0150: Reserved */ + uint32 rsvd6; /**< 0x0154: Reserved */ + uint32 MAGTHRINTENASET; /**< 0x0158: Magnitude interrupt set register */ + uint32 MAGTHRINTENACLR; /**< 0x015C: Magnitude interrupt clear register */ + uint32 MAGTHRINTFLG; /**< 0x0160: Magnitude interrupt flag register */ + uint32 MAGTHRINTOFFSET; /**< 0x0164: Magnitude interrupt offset register */ + uint32 GxFIFORESETCR[3U]; /**< 0x0168,0x016C,0x0170: Group 0-2 fifo reset register */ + uint32 EVRAMADDR; /**< 0x0174: Group 0 RAM pointer register */ + uint32 G1RAMADDR; /**< 0x0178: Group 1 RAM pointer register */ + uint32 G2RAMADDR; /**< 0x017C: Group 2 RAM pointer register */ + uint32 PARCR; /**< 0x0180: Parity control register */ + uint32 PARADDR; /**< 0x0184: Parity error address register */ + uint32 PWRUPDLYCTRL; /**< 0x0188: Power-Up delay control register */ + uint32 rsvd7; /**< 0x018C: Reserved */ + uint32 ADEVCHNSELMODECTRL; /**< 0x0190: Event Group Channel Selection Mode Control Register */ + uint32 ADG1CHNSELMODECTRL; /**< 0x0194: Group1 Channel Selection Mode Control Register */ + uint32 ADG2CHNSELMODECTRL; /**< 0x0198: Group2 Channel Selection Mode Control Register */ + uint32 ADEVCURRCOUNT; /**< 0x019C: Event Group Current Count Register */ + uint32 ADEVMAXCOUNT; /**< 0x01A0: Event Group Max Count Register */ + uint32 ADG1CURRCOUNT; /**< 0x01A4: Group1 Current Count Register */ + uint32 ADG1MAXCOUNT; /**< 0x01A8: Group1 Max Count Register */ + uint32 ADG2CURRCOUNT; /**< 0x01AC: Group2 Current Count Register */ + uint32 ADG2MAXCOUNT; /**< 0x01B0: Group2 Max Count Register */ +} adcBASE_t; + + +/** @struct adcLUTEntry +* @brief ADC Look-Up Table Entry +* +* This type is used to access ADC Look-Up Table Entry +*/ +/** @typedef adcLUTEntry_t +* @brief ADC Look-Up Table Entry +* +* This type is used to access the Look-Up Table Entry. +*/ +typedef struct adcLUTEntry +{ +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + uint8 EV_INT_CHN_MUX_SEL; + uint8 EV_EXT_CHN_MUX_SEL; + uint16 rsvd; +#else + uint16 rsvd; + uint8 EV_EXT_CHN_MUX_SEL; + uint8 EV_INT_CHN_MUX_SEL; +#endif +}adcLUTEntry_t; + + +/** @struct adcLUT +* @brief ADC Look-Up Table +* +* This type is used to access ADC Look-Up Table +*/ +/** @typedef adcLUT_t +* @brief ADC Look-Up Table +* +* This type is used to access the ADC Look-Up Table. +*/ +typedef volatile struct adcLUT +{ + adcLUTEntry_t eventGroup[32]; + adcLUTEntry_t Group1[32]; + adcLUTEntry_t Group2[32]; +} adcLUT_t; + + +/** @def adcREG1 +* @brief ADC1 Register Frame Pointer +* +* This pointer is used by the ADC driver to access the ADC1 registers. +*/ +#define adcREG1 ((adcBASE_t *)0xFFF7C000U) + +/** @def adcREG2 +* @brief ADC2 Register Frame Pointer +* +* This pointer is used by the ADC driver to access the ADC2 registers. +*/ +#define adcREG2 ((adcBASE_t *)0xFFF7C200U) + +/** @def adcRAM1 +* @brief ADC1 RAM Pointer +* +* This pointer is used by the ADC driver to access the ADC1 RAM. +*/ +#define adcRAM1 (*(volatile uint32 *)0xFF3E0000U) + +/** @def adcRAM2 +* @brief ADC2 RAM Pointer +* +* This pointer is used by the ADC driver to access the ADC2 RAM. +*/ +#define adcRAM2 (*(volatile uint32 *)0xFF3A0000U) + +/** @def adcPARRAM1 +* @brief ADC1 Parity RAM Pointer +* +* This pointer is used by the ADC driver to access the ADC1 Parity RAM. +*/ +#define adcPARRAM1 (*(volatile uint32 *)(0xFF3E0000U + 0x1000U)) + +/** @def adcPARRAM2 +* @brief ADC2 Parity RAM Pointer +* +* This pointer is used by the ADC driver to access the ADC2 Parity RAM. +*/ +#define adcPARRAM2 (*(volatile uint32 *)(0xFF3A0000U + 0x1000U)) + +/** @def adcLUT1 +* @brief ADC1 Look-Up Table +* +* This pointer is used by the ADC driver to access the ADC1 Look-Up Table. +*/ +#define adcLUT1 ((adcLUT_t *) 0xFF3E2000U) + +/** @def adcLUT2 +* @brief ADC2 Look-Up Table +* +* This pointer is used by the ADC driver to access the ADC2 Look-Up Table. +*/ +#define adcLUT2 ((adcLUT_t *) 0xFF3A2000U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_can.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_can.h index db6211ad..03fbe92b 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_can.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_can.h @@ -1,208 +1,208 @@ -/** @file reg_can.h -* @brief CAN Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the CAN driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_CAN_H__ -#define __REG_CAN_H__ - -#include "sys_common.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Can Register Frame Definition */ -/** @struct canBase -* @brief CAN Register Frame Definition -* -* This type is used to access the CAN Registers. -*/ -/** @typedef canBASE_t -* @brief CAN Register Frame Type Definition -* -* This type is used to access the CAN Registers. -*/ -typedef volatile struct canBase -{ - uint32 CTL; /**< 0x0000: Control Register */ - uint32 ES; /**< 0x0004: Error and Status Register */ - uint32 EERC; /**< 0x0008: Error Counter Register */ - uint32 BTR; /**< 0x000C: Bit Timing Register */ - uint32 INT; /**< 0x0010: Interrupt Register */ - uint32 TEST; /**< 0x0014: Test Register */ - uint32 rsvd1; /**< 0x0018: Reserved */ - uint32 PERR; /**< 0x001C: Parity/SECDED Error Code Register */ - uint32 rsvd2[24]; /**< 0x002C - 0x7C: Reserved */ - uint32 ABOTR; /**< 0x0080: Auto Bus On Time Register */ - uint32 TXRQX; /**< 0x0084: Transmission Request X Register */ - uint32 TXRQx[4U]; /**< 0x0088-0x0094: Transmission Request Registers */ - uint32 NWDATX; /**< 0x0098: New Data X Register */ - uint32 NWDATx[4U]; /**< 0x009C-0x00A8: New Data Registers */ - uint32 INTPNDX; /**< 0x00AC: Interrupt Pending X Register */ - uint32 INTPNDx[4U]; /**< 0x00B0-0x00BC: Interrupt Pending Registers */ - uint32 MSGVALX; /**< 0x00C0: Message Valid X Register */ - uint32 MSGVALx[4U]; /**< 0x00C4-0x00D0: Message Valid Registers */ - uint32 rsvd3; /**< 0x00D4: Reserved */ - uint32 INTMUXx[4U]; /**< 0x00D8-0x00E4: Interrupt Multiplexer Registers */ - uint32 rsvd4[6]; /**< 0x00E8: Reserved */ -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - uint8 IF1NO; /**< 0x0100: IF1 Command Register, Msg Number */ - uint8 IF1STAT; /**< 0x0100: IF1 Command Register, Status */ - uint8 IF1CMD; /**< 0x0100: IF1 Command Register, Command */ - uint8 rsvd9; /**< 0x0100: IF1 Command Register, Reserved */ -#else - uint8 rsvd9; /**< 0x0100: IF1 Command Register, Reserved */ - uint8 IF1CMD; /**< 0x0100: IF1 Command Register, Command */ - uint8 IF1STAT; /**< 0x0100: IF1 Command Register, Status */ - uint8 IF1NO; /**< 0x0100: IF1 Command Register, Msg Number */ -#endif - uint32 IF1MSK; /**< 0x0104: IF1 Mask Register */ - uint32 IF1ARB; /**< 0x0108: IF1 Arbitration Register */ - uint32 IF1MCTL; /**< 0x010C: IF1 Message Control Register */ - uint8 IF1DATx[8U]; /**< 0x0110-0x0114: IF1 Data A and B Registers */ - uint32 rsvd5[2]; /**< 0x0118: Reserved */ -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - uint8 IF2NO; /**< 0x0120: IF2 Command Register, Msg No */ - uint8 IF2STAT; /**< 0x0120: IF2 Command Register, Status */ - uint8 IF2CMD; /**< 0x0120: IF2 Command Register, Command */ - uint8 rsvd10; /**< 0x0120: IF2 Command Register, Reserved */ -#else - uint8 rsvd10; /**< 0x0120: IF2 Command Register, Reserved */ - uint8 IF2CMD; /**< 0x0120: IF2 Command Register, Command */ - uint8 IF2STAT; /**< 0x0120: IF2 Command Register, Status */ - uint8 IF2NO; /**< 0x0120: IF2 Command Register, Msg Number */ -#endif - uint32 IF2MSK; /**< 0x0124: IF2 Mask Register */ - uint32 IF2ARB; /**< 0x0128: IF2 Arbitration Register */ - uint32 IF2MCTL; /**< 0x012C: IF2 Message Control Register */ - uint8 IF2DATx[8U]; /**< 0x0130-0x0134: IF2 Data A and B Registers */ - uint32 rsvd6[2]; /**< 0x0138: Reserved */ - uint32 IF3OBS; /**< 0x0140: IF3 Observation Register */ - uint32 IF3MSK; /**< 0x0144: IF3 Mask Register */ - uint32 IF3ARB; /**< 0x0148: IF3 Arbitration Register */ - uint32 IF3MCTL; /**< 0x014C: IF3 Message Control Register */ - uint8 IF3DATx[8U]; /**< 0x0150-0x0154: IF3 Data A and B Registers */ - uint32 rsvd7[2]; /**< 0x0158: Reserved */ - uint32 IF3UEy[4U]; /**< 0x0160-0x016C: IF3 Update Enable Registers */ - uint32 rsvd8[28]; /**< 0x0170: Reserved */ - uint32 TIOC; /**< 0x01E0: TX IO Control Register */ - uint32 RIOC; /**< 0x01E4: RX IO Control Register */ -} canBASE_t; - - -/** @def canREG1 -* @brief CAN1 Register Frame Pointer -* -* This pointer is used by the CAN driver to access the CAN1 registers. -*/ -#define canREG1 ((canBASE_t *)0xFFF7DC00U) - -/** @def canREG2 -* @brief CAN2 Register Frame Pointer -* -* This pointer is used by the CAN driver to access the CAN2 registers. -*/ -#define canREG2 ((canBASE_t *)0xFFF7DE00U) - -/** @def canREG3 -* @brief CAN3 Register Frame Pointer -* -* This pointer is used by the CAN driver to access the CAN3 registers. -*/ -#define canREG3 ((canBASE_t *)0xFFF7E000U) - -/** @def canRAM1 -* @brief CAN1 Mailbox RAM Pointer -* -* This pointer is used by the CAN driver to access the CAN1 RAM. -*/ -#define canRAM1 (*(volatile uint32 *)0xFF1E0000U) - -/** @def canRAM2 -* @brief CAN2 Mailbox RAM Pointer -* -* This pointer is used by the CAN driver to access the CAN2 RAM. -*/ -#define canRAM2 (*(volatile uint32 *)0xFF1C0000U) - -/** @def canRAM3 -* @brief CAN3 Mailbox RAM Pointer -* -* This pointer is used by the CAN driver to access the CAN3 RAM. -*/ -#define canRAM3 (*(volatile uint32 *)0xFF1A0000U) - -/** @def canPARRAM1 -* @brief CAN1 Mailbox Parity RAM Pointer -* -* This pointer is used by the CAN driver to access the CAN1 Parity RAM -* for testing RAM parity error detect logic. -*/ -#define canPARRAM1 (*(volatile uint32 *)(0xFF1E0000U + 0x10U)) - -/** @def canPARRAM2 -* @brief CAN2 Mailbox Parity RAM Pointer -* -* This pointer is used by the CAN driver to access the CAN2 Parity RAM -* for testing RAM parity error detect logic. -*/ -#define canPARRAM2 (*(volatile uint32 *)(0xFF1C0000U + 0x10U)) - -/** @def canPARRAM3 -* @brief CAN3 Mailbox Parity RAM Pointer -* -* This pointer is used by the CAN driver to access the CAN3 Parity RAM -* for testing RAM parity error detect logic. -*/ -#define canPARRAM3 (*(volatile uint32 *)(0xFF1A0000U + 0x10U)) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_can.h +* @brief CAN Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the CAN driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_CAN_H__ +#define __REG_CAN_H__ + +#include "sys_common.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Can Register Frame Definition */ +/** @struct canBase +* @brief CAN Register Frame Definition +* +* This type is used to access the CAN Registers. +*/ +/** @typedef canBASE_t +* @brief CAN Register Frame Type Definition +* +* This type is used to access the CAN Registers. +*/ +typedef volatile struct canBase +{ + uint32 CTL; /**< 0x0000: Control Register */ + uint32 ES; /**< 0x0004: Error and Status Register */ + uint32 EERC; /**< 0x0008: Error Counter Register */ + uint32 BTR; /**< 0x000C: Bit Timing Register */ + uint32 INT; /**< 0x0010: Interrupt Register */ + uint32 TEST; /**< 0x0014: Test Register */ + uint32 rsvd1; /**< 0x0018: Reserved */ + uint32 PERR; /**< 0x001C: Parity/SECDED Error Code Register */ + uint32 rsvd2[24]; /**< 0x002C - 0x7C: Reserved */ + uint32 ABOTR; /**< 0x0080: Auto Bus On Time Register */ + uint32 TXRQX; /**< 0x0084: Transmission Request X Register */ + uint32 TXRQx[4U]; /**< 0x0088-0x0094: Transmission Request Registers */ + uint32 NWDATX; /**< 0x0098: New Data X Register */ + uint32 NWDATx[4U]; /**< 0x009C-0x00A8: New Data Registers */ + uint32 INTPNDX; /**< 0x00AC: Interrupt Pending X Register */ + uint32 INTPNDx[4U]; /**< 0x00B0-0x00BC: Interrupt Pending Registers */ + uint32 MSGVALX; /**< 0x00C0: Message Valid X Register */ + uint32 MSGVALx[4U]; /**< 0x00C4-0x00D0: Message Valid Registers */ + uint32 rsvd3; /**< 0x00D4: Reserved */ + uint32 INTMUXx[4U]; /**< 0x00D8-0x00E4: Interrupt Multiplexer Registers */ + uint32 rsvd4[6]; /**< 0x00E8: Reserved */ +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + uint8 IF1NO; /**< 0x0100: IF1 Command Register, Msg Number */ + uint8 IF1STAT; /**< 0x0100: IF1 Command Register, Status */ + uint8 IF1CMD; /**< 0x0100: IF1 Command Register, Command */ + uint8 rsvd9; /**< 0x0100: IF1 Command Register, Reserved */ +#else + uint8 rsvd9; /**< 0x0100: IF1 Command Register, Reserved */ + uint8 IF1CMD; /**< 0x0100: IF1 Command Register, Command */ + uint8 IF1STAT; /**< 0x0100: IF1 Command Register, Status */ + uint8 IF1NO; /**< 0x0100: IF1 Command Register, Msg Number */ +#endif + uint32 IF1MSK; /**< 0x0104: IF1 Mask Register */ + uint32 IF1ARB; /**< 0x0108: IF1 Arbitration Register */ + uint32 IF1MCTL; /**< 0x010C: IF1 Message Control Register */ + uint8 IF1DATx[8U]; /**< 0x0110-0x0114: IF1 Data A and B Registers */ + uint32 rsvd5[2]; /**< 0x0118: Reserved */ +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + uint8 IF2NO; /**< 0x0120: IF2 Command Register, Msg No */ + uint8 IF2STAT; /**< 0x0120: IF2 Command Register, Status */ + uint8 IF2CMD; /**< 0x0120: IF2 Command Register, Command */ + uint8 rsvd10; /**< 0x0120: IF2 Command Register, Reserved */ +#else + uint8 rsvd10; /**< 0x0120: IF2 Command Register, Reserved */ + uint8 IF2CMD; /**< 0x0120: IF2 Command Register, Command */ + uint8 IF2STAT; /**< 0x0120: IF2 Command Register, Status */ + uint8 IF2NO; /**< 0x0120: IF2 Command Register, Msg Number */ +#endif + uint32 IF2MSK; /**< 0x0124: IF2 Mask Register */ + uint32 IF2ARB; /**< 0x0128: IF2 Arbitration Register */ + uint32 IF2MCTL; /**< 0x012C: IF2 Message Control Register */ + uint8 IF2DATx[8U]; /**< 0x0130-0x0134: IF2 Data A and B Registers */ + uint32 rsvd6[2]; /**< 0x0138: Reserved */ + uint32 IF3OBS; /**< 0x0140: IF3 Observation Register */ + uint32 IF3MSK; /**< 0x0144: IF3 Mask Register */ + uint32 IF3ARB; /**< 0x0148: IF3 Arbitration Register */ + uint32 IF3MCTL; /**< 0x014C: IF3 Message Control Register */ + uint8 IF3DATx[8U]; /**< 0x0150-0x0154: IF3 Data A and B Registers */ + uint32 rsvd7[2]; /**< 0x0158: Reserved */ + uint32 IF3UEy[4U]; /**< 0x0160-0x016C: IF3 Update Enable Registers */ + uint32 rsvd8[28]; /**< 0x0170: Reserved */ + uint32 TIOC; /**< 0x01E0: TX IO Control Register */ + uint32 RIOC; /**< 0x01E4: RX IO Control Register */ +} canBASE_t; + + +/** @def canREG1 +* @brief CAN1 Register Frame Pointer +* +* This pointer is used by the CAN driver to access the CAN1 registers. +*/ +#define canREG1 ((canBASE_t *)0xFFF7DC00U) + +/** @def canREG2 +* @brief CAN2 Register Frame Pointer +* +* This pointer is used by the CAN driver to access the CAN2 registers. +*/ +#define canREG2 ((canBASE_t *)0xFFF7DE00U) + +/** @def canREG3 +* @brief CAN3 Register Frame Pointer +* +* This pointer is used by the CAN driver to access the CAN3 registers. +*/ +#define canREG3 ((canBASE_t *)0xFFF7E000U) + +/** @def canRAM1 +* @brief CAN1 Mailbox RAM Pointer +* +* This pointer is used by the CAN driver to access the CAN1 RAM. +*/ +#define canRAM1 (*(volatile uint32 *)0xFF1E0000U) + +/** @def canRAM2 +* @brief CAN2 Mailbox RAM Pointer +* +* This pointer is used by the CAN driver to access the CAN2 RAM. +*/ +#define canRAM2 (*(volatile uint32 *)0xFF1C0000U) + +/** @def canRAM3 +* @brief CAN3 Mailbox RAM Pointer +* +* This pointer is used by the CAN driver to access the CAN3 RAM. +*/ +#define canRAM3 (*(volatile uint32 *)0xFF1A0000U) + +/** @def canPARRAM1 +* @brief CAN1 Mailbox Parity RAM Pointer +* +* This pointer is used by the CAN driver to access the CAN1 Parity RAM +* for testing RAM parity error detect logic. +*/ +#define canPARRAM1 (*(volatile uint32 *)(0xFF1E0000U + 0x10U)) + +/** @def canPARRAM2 +* @brief CAN2 Mailbox Parity RAM Pointer +* +* This pointer is used by the CAN driver to access the CAN2 Parity RAM +* for testing RAM parity error detect logic. +*/ +#define canPARRAM2 (*(volatile uint32 *)(0xFF1C0000U + 0x10U)) + +/** @def canPARRAM3 +* @brief CAN3 Mailbox Parity RAM Pointer +* +* This pointer is used by the CAN driver to access the CAN3 Parity RAM +* for testing RAM parity error detect logic. +*/ +#define canPARRAM3 (*(volatile uint32 *)(0xFF1A0000U + 0x10U)) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_crc.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_crc.h index 7ba7df65..25c8dc2a 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_crc.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_crc.h @@ -1,127 +1,127 @@ -/** @file reg_crc.h -* @brief CRC Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the CRC driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_CRC_H__ -#define __REG_CRC_H__ - -#include "sys_common.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Crc Register Frame Definition */ -/** @struct crcBase -* @brief CRC Register Frame Definition -* -* This type is used to access the CRC Registers. -*/ -/** @typedef crcBASE_t -* @brief CRC Register Frame Type Definition -* -* This type is used to access the CRC Registers. -*/ -typedef volatile struct crcBase -{ - uint32 CTRL0; /**< 0x0000: Global Control Register 0 >**/ - uint32 rvd1; /**< 0x0004: reserved >**/ - uint32 CTRL1; /**< 0x0008: Global Control Register 1 >**/ - uint32 rvd2; /**< 0x000C: reserved >**/ - uint32 CTRL2; /**< 0x0010: Global Control Register 2 >**/ - uint32 rvd3; /**< 0x0014: reserved >**/ - uint32 INTS; /**< 0x0018: Interrupt Enable Set Register >**/ - uint32 rvd4; /**< 0x001C: reserved >**/ - uint32 INTR; /**< 0x0020: Interrupt Enable Reset Register >**/ - uint32 rvd5; /**< 0x0024: reserved >**/ - uint32 STATUS; /**< 0x0028: Interrupt Status Register >**/ - uint32 rvd6; /**< 0x002C: reserved >**/ - uint32 INT_OFFSET_REG; /**< 0x0030: Interrupt Offset >**/ - uint32 rvd7; /**< 0x0034: reserved >**/ - uint32 BUSY; /**< 0x0038: CRC Busy Register >**/ - uint32 rvd8; /**< 0x003C: reserved >**/ - uint32 PCOUNT_REG1; /**< 0x0040: Pattern Counter Preload Register1 >**/ - uint32 SCOUNT_REG1; /**< 0x0044: Sector Counter Preload Register1 >**/ - uint32 CURSEC_REG1; /**< 0x0048: Current Sector Register 1 >**/ - uint32 WDTOPLD1; /**< 0x004C: Channel 1 Watchdog Timeout Preload Register A >**/ - uint32 BCTOPLD1; /**< 0x0050: Channel 1 Block Complete Timeout Preload Register B >**/ - uint32 rvd9[3]; /**< 0x0054: reserved >**/ - uint32 PSA_SIGREGL1; /**< 0x0060: Channel 1 PSA signature low register >**/ - uint32 PSA_SIGREGH1; /**< 0x0064: Channel 1 PSA signature high register >**/ - uint32 REGL1; /**< 0x0068: Channel 1 CRC value low register >**/ - uint32 REGH1; /**< 0x006C: Channel 1 CRC value high register >**/ - uint32 PSA_SECSIGREGL1; /**< 0x0070: Channel 1 PSA sector signature low register >**/ - uint32 PSA_SECSIGREGH1; /**< 0x0074: Channel 1 PSA sector signature high register >**/ - uint32 RAW_DATAREGL1; /**< 0x0078: Channel 1 Raw Data Low Register >**/ - uint32 RAW_DATAREGH1; /**< 0x007C: Channel 1 Raw Data High Register >**/ - uint32 PCOUNT_REG2; /**< 0x0080: CRC Pattern Counter Preload Register2 >**/ - uint32 SCOUNT_REG2; /**< 0x0084: Sector Counter Preload Register2 >**/ - uint32 CURSEC_REG2; /**< 0x0088: Current Sector Register 2>**/ - uint32 WDTOPLD2; /**< 0x008C: Channel 2 Watchdog Timeout Preload Register A >**/ - uint32 BCTOPLD2; /**< 0x0090: Channel 2 Block Complete Timeout Preload Register B >**/ - uint32 rvd10[3]; /**< 0x0094: reserved >**/ - uint32 PSA_SIGREGL2; /**< 0x00A0: Channel 2 PSA signature low register >**/ - uint32 PSA_SIGREGH2; /**< 0x00A4: Channel 2 PSA signature high register >**/ - uint32 REGL2; /**< 0x00A8: Channel 2 CRC value low register >**/ - uint32 REGH2; /**< 0x00AC: Channel 2 CRC value high register >**/ - uint32 PSA_SECSIGREGL2; /**< 0x00B0: Channel 2 PSA sector signature low register >**/ - uint32 PSA_SECSIGREGH2; /**< 0x00B4: Channel 2 PSA sector signature high register >**/ - uint32 RAW_DATAREGL2; /**< 0x00B8: Channel 2 Raw Data Low Register >**/ - uint32 RAW_DATAREGH2; /**< 0x00BC: Channel 2 Raw Data High Register >**/ -}crcBASE_t; - -/** @def crcREG -* @brief CRC Register Frame Pointer -* -* This pointer is used by the CRC driver to access the CRC registers. -*/ -#define crcREG ((crcBASE_t *)0xFE000000U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_crc.h +* @brief CRC Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the CRC driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_CRC_H__ +#define __REG_CRC_H__ + +#include "sys_common.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Crc Register Frame Definition */ +/** @struct crcBase +* @brief CRC Register Frame Definition +* +* This type is used to access the CRC Registers. +*/ +/** @typedef crcBASE_t +* @brief CRC Register Frame Type Definition +* +* This type is used to access the CRC Registers. +*/ +typedef volatile struct crcBase +{ + uint32 CTRL0; /**< 0x0000: Global Control Register 0 >**/ + uint32 rvd1; /**< 0x0004: reserved >**/ + uint32 CTRL1; /**< 0x0008: Global Control Register 1 >**/ + uint32 rvd2; /**< 0x000C: reserved >**/ + uint32 CTRL2; /**< 0x0010: Global Control Register 2 >**/ + uint32 rvd3; /**< 0x0014: reserved >**/ + uint32 INTS; /**< 0x0018: Interrupt Enable Set Register >**/ + uint32 rvd4; /**< 0x001C: reserved >**/ + uint32 INTR; /**< 0x0020: Interrupt Enable Reset Register >**/ + uint32 rvd5; /**< 0x0024: reserved >**/ + uint32 STATUS; /**< 0x0028: Interrupt Status Register >**/ + uint32 rvd6; /**< 0x002C: reserved >**/ + uint32 INT_OFFSET_REG; /**< 0x0030: Interrupt Offset >**/ + uint32 rvd7; /**< 0x0034: reserved >**/ + uint32 BUSY; /**< 0x0038: CRC Busy Register >**/ + uint32 rvd8; /**< 0x003C: reserved >**/ + uint32 PCOUNT_REG1; /**< 0x0040: Pattern Counter Preload Register1 >**/ + uint32 SCOUNT_REG1; /**< 0x0044: Sector Counter Preload Register1 >**/ + uint32 CURSEC_REG1; /**< 0x0048: Current Sector Register 1 >**/ + uint32 WDTOPLD1; /**< 0x004C: Channel 1 Watchdog Timeout Preload Register A >**/ + uint32 BCTOPLD1; /**< 0x0050: Channel 1 Block Complete Timeout Preload Register B >**/ + uint32 rvd9[3]; /**< 0x0054: reserved >**/ + uint32 PSA_SIGREGL1; /**< 0x0060: Channel 1 PSA signature low register >**/ + uint32 PSA_SIGREGH1; /**< 0x0064: Channel 1 PSA signature high register >**/ + uint32 REGL1; /**< 0x0068: Channel 1 CRC value low register >**/ + uint32 REGH1; /**< 0x006C: Channel 1 CRC value high register >**/ + uint32 PSA_SECSIGREGL1; /**< 0x0070: Channel 1 PSA sector signature low register >**/ + uint32 PSA_SECSIGREGH1; /**< 0x0074: Channel 1 PSA sector signature high register >**/ + uint32 RAW_DATAREGL1; /**< 0x0078: Channel 1 Raw Data Low Register >**/ + uint32 RAW_DATAREGH1; /**< 0x007C: Channel 1 Raw Data High Register >**/ + uint32 PCOUNT_REG2; /**< 0x0080: CRC Pattern Counter Preload Register2 >**/ + uint32 SCOUNT_REG2; /**< 0x0084: Sector Counter Preload Register2 >**/ + uint32 CURSEC_REG2; /**< 0x0088: Current Sector Register 2>**/ + uint32 WDTOPLD2; /**< 0x008C: Channel 2 Watchdog Timeout Preload Register A >**/ + uint32 BCTOPLD2; /**< 0x0090: Channel 2 Block Complete Timeout Preload Register B >**/ + uint32 rvd10[3]; /**< 0x0094: reserved >**/ + uint32 PSA_SIGREGL2; /**< 0x00A0: Channel 2 PSA signature low register >**/ + uint32 PSA_SIGREGH2; /**< 0x00A4: Channel 2 PSA signature high register >**/ + uint32 REGL2; /**< 0x00A8: Channel 2 CRC value low register >**/ + uint32 REGH2; /**< 0x00AC: Channel 2 CRC value high register >**/ + uint32 PSA_SECSIGREGL2; /**< 0x00B0: Channel 2 PSA sector signature low register >**/ + uint32 PSA_SECSIGREGH2; /**< 0x00B4: Channel 2 PSA sector signature high register >**/ + uint32 RAW_DATAREGL2; /**< 0x00B8: Channel 2 Raw Data Low Register >**/ + uint32 RAW_DATAREGH2; /**< 0x00BC: Channel 2 Raw Data High Register >**/ +}crcBASE_t; + +/** @def crcREG +* @brief CRC Register Frame Pointer +* +* This pointer is used by the CRC driver to access the CRC registers. +*/ +#define crcREG ((crcBASE_t *)0xFE000000U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_dcc.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_dcc.h index 7edde031..e6cb2d35 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_dcc.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_dcc.h @@ -1,103 +1,103 @@ -/** @file reg_dcc.h -* @brief DCC Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the DCC driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_DCC_H__ -#define __REG_DCC_H__ - -#include "sys_common.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Dcc Register Frame Definition */ -/** @struct dccBase -* @brief DCC Base Register Definition -* -* This structure is used to access the DCC module registers. -*/ -/** @typedef dccBASE_t -* @brief DCC Register Frame Type Definition -* -* This type is used to access the DCC Registers. -*/ -typedef volatile struct dccBase -{ - uint32 GCTRL; /**< 0x0000: DCC Control Register */ - uint32 REV; /**< 0x0004: DCC Revision Id Register */ - uint32 CNT0SEED; /**< 0x0008: DCC Counter0 Seed Register */ - uint32 VALID0SEED; /**< 0x000C: DCC Valid0 Seed Register */ - uint32 CNT1SEED; /**< 0x0010: DCC Counter1 Seed Register */ - uint32 STAT; /**< 0x0014: DCC Status Register */ - uint32 CNT0; /**< 0x0018: DCC Counter0 Value Register */ - uint32 VALID0; /**< 0x001C: DCC Valid0 Value Register */ - uint32 CNT1; /**< 0x0020: DCC Counter1 Value Register */ - uint32 CNT1CLKSRC; /**< 0x0024: DCC Counter1 Clock Source Selection Register */ - uint32 CNT0CLKSRC; /**< 0x0028: DCC Counter0 Clock Source Selection Register */ -} dccBASE_t; - - -/** @def dccREG1 -* @brief DCC1 Register Frame Pointer -* -* This pointer is used by the DCC driver to access the dcc2 module registers. -*/ -#define dccREG1 ((dccBASE_t *)0xFFFFEC00U) - - -/** @def dccREG2 -* @brief DCC2 Register Frame Pointer -* -* This pointer is used by the DCC driver to access the dcc2 module registers. -*/ -#define dccREG2 ((dccBASE_t *)0xFFFFF400U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_dcc.h +* @brief DCC Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the DCC driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_DCC_H__ +#define __REG_DCC_H__ + +#include "sys_common.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Dcc Register Frame Definition */ +/** @struct dccBase +* @brief DCC Base Register Definition +* +* This structure is used to access the DCC module registers. +*/ +/** @typedef dccBASE_t +* @brief DCC Register Frame Type Definition +* +* This type is used to access the DCC Registers. +*/ +typedef volatile struct dccBase +{ + uint32 GCTRL; /**< 0x0000: DCC Control Register */ + uint32 REV; /**< 0x0004: DCC Revision Id Register */ + uint32 CNT0SEED; /**< 0x0008: DCC Counter0 Seed Register */ + uint32 VALID0SEED; /**< 0x000C: DCC Valid0 Seed Register */ + uint32 CNT1SEED; /**< 0x0010: DCC Counter1 Seed Register */ + uint32 STAT; /**< 0x0014: DCC Status Register */ + uint32 CNT0; /**< 0x0018: DCC Counter0 Value Register */ + uint32 VALID0; /**< 0x001C: DCC Valid0 Value Register */ + uint32 CNT1; /**< 0x0020: DCC Counter1 Value Register */ + uint32 CNT1CLKSRC; /**< 0x0024: DCC Counter1 Clock Source Selection Register */ + uint32 CNT0CLKSRC; /**< 0x0028: DCC Counter0 Clock Source Selection Register */ +} dccBASE_t; + + +/** @def dccREG1 +* @brief DCC1 Register Frame Pointer +* +* This pointer is used by the DCC driver to access the dcc2 module registers. +*/ +#define dccREG1 ((dccBASE_t *)0xFFFFEC00U) + + +/** @def dccREG2 +* @brief DCC2 Register Frame Pointer +* +* This pointer is used by the DCC driver to access the dcc2 module registers. +*/ +#define dccREG2 ((dccBASE_t *)0xFFFFF400U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_dma.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_dma.h index 60cc45fb..088cbf18 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_dma.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_dma.h @@ -1,185 +1,185 @@ -/** @file reg_dma.h -* @brief DMA Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the DMA driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_DMA_H__ -#define __REG_DMA_H__ - -#include "sys_common.h" - -#ifdef __cplusplus -extern "C" { -#endif -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* DMA Register Frame Definition */ -/** @struct dmaBase -* @brief DMA Register Frame Definition -* -* This type is used to access the DMA Registers. -*/ -/** @struct dmaBASE_t -* @brief DMA Register Definition -* -* This structure is used to access the DMA module egisters. -*/ -typedef volatile struct dmaBase -{ - - uint32 GCTRL; /**< 0x0000: Global Control Register */ - uint32 PEND; /**< 0x0004: Channel Pending Register */ - uint32 FBREG; /**< 0x0008: Fall Back Register */ - uint32 DMASTAT; /**< 0x000C: Status Register */ - uint32 rsvd1; /**< 0x0010: Reserved */ - uint32 HWCHENAS; /**< 0x0014: HW Channel Enable Set */ - uint32 rsvd2; /**< 0x0018: Reserved */ - uint32 HWCHENAR; /**< 0x001C: HW Channel Enable Reset */ - uint32 rsvd3; /**< 0x0020: Reserved */ - uint32 SWCHENAS; /**< 0x0024: SW Channel Enable Set */ - uint32 rsvd4; /**< 0x0028: Reserved */ - uint32 SWCHENAR; /**< 0x002C: SW Channel Enable Reset */ - uint32 rsvd5; /**< 0x0030: Reserved */ - uint32 CHPRIOS; /**< 0x0034: Channel Priority Set */ - uint32 rsvd6; /**< 0x0038: Reserved */ - uint32 CHPRIOR; /**< 0x003C: Channel Priority Reset */ - uint32 rsvd7; /**< 0x0040: Reserved */ - uint32 GCHIENAS; /**< 0x0044: Global Channel Interrupt Enable Set */ - uint32 rsvd8; /**< 0x0048: Reserved */ - uint32 GCHIENAR; /**< 0x004C: Global Channel Interrupt Enable Reset */ - uint32 rsvd9; /**< 0x0050: Reserved */ - uint32 DREQASI[8U]; /**< 0x0054 - 0x70: DMA Request Assignment Register */ - uint32 rsvd10[8U]; /**< 0x0074 - 0x90: Reserved */ - uint32 PAR[4U]; /**< 0x0094 - 0xA0: Port Assignment Register */ - uint32 rsvd11[4U]; /**< 0x00A4 - 0xB0: Reserved */ - uint32 FTCMAP; /**< 0x00B4: FTC Interrupt Mapping Register */ - uint32 rsvd12; /**< 0x00B8: Reserved */ - uint32 LFSMAP; /**< 0x00BC: LFS Interrupt Mapping Register */ - uint32 rsvd13; /**< 0x00C0: Reserved */ - uint32 HBCMAP; /**< 0x00C4: HBC Interrupt Mapping Register */ - uint32 rsvd14; /**< 0x00C8: Reserved */ - uint32 BTCMAP; /**< 0x00CC: BTC Interrupt Mapping Register */ - uint32 rsvd15; /**< 0x00D0: Reserved */ - uint32 BERMAP; /**< 0x00D4: BER Interrupt Mapping Register */ - uint32 rsvd16; /**< 0x00D8: Reserved */ - uint32 FTCINTENAS; /**< 0x00DC: FTC Interrupt Enable Set */ - uint32 rsvd17; /**< 0x00E0: Reserved */ - uint32 FTCINTENAR; /**< 0x00E4: FTC Interrupt Enable Reset */ - uint32 rsvd18; /**< 0x00E8: Reserved */ - uint32 LFSINTENAS; /**< 0x00EC: LFS Interrupt Enable Set */ - uint32 rsvd19; /**< 0x00F0: Reserved */ - uint32 LFSINTENAR; /**< 0x00F4: LFS Interrupt Enable Reset */ - uint32 rsvd20; /**< 0x00F8: Reserved */ - uint32 HBCINTENAS; /**< 0x00FC: HBC Interrupt Enable Set */ - uint32 rsvd21; /**< 0x0100: Reserved */ - uint32 HBCINTENAR; /**< 0x0104: HBC Interrupt Enable Reset */ - uint32 rsvd22; /**< 0x0108: Reserved */ - uint32 BTCINTENAS; /**< 0x010C: BTC Interrupt Enable Set */ - uint32 rsvd23; /**< 0x0110: Reserved */ - uint32 BTCINTENAR; /**< 0x0114: BTC Interrupt Enable Reset */ - uint32 rsvd24; /**< 0x0118: Reserved */ - uint32 GINTFLAG; /**< 0x011C: Global Interrupt Flag Register */ - uint32 rsvd25; /**< 0x0120: Reserved */ - uint32 FTCFLAG; /**< 0x0124: FTC Interrupt Flag Register */ - uint32 rsvd26; /**< 0x0128: Reserved */ - uint32 LFSFLAG; /**< 0x012C: LFS Interrupt Flag Register */ - uint32 rsvd27; /**< 0x0130: Reserved */ - uint32 HBCFLAG; /**< 0x0134: HBC Interrupt Flag Register */ - uint32 rsvd28; /**< 0x0138: Reserved */ - uint32 BTCFLAG; /**< 0x013C: BTC Interrupt Flag Register */ - uint32 rsvd29; /**< 0x0140: Reserved */ - uint32 BERFLAG; /**< 0x0144: BER Interrupt Flag Register */ - uint32 rsvd30; /**< 0x0148: Reserved */ - uint32 FTCAOFFSET; /**< 0x014C: FTCA Interrupt Channel Offset Register */ - uint32 LFSAOFFSET; /**< 0x0150: LFSA Interrupt Channel Offset Register */ - uint32 HBCAOFFSET; /**< 0x0154: HBCA Interrupt Channel Offset Register */ - uint32 BTCAOFFSET; /**< 0x0158: BTCA Interrupt Channel Offset Register */ - uint32 BERAOFFSET; /**< 0x015C: BERA Interrupt Channel Offset Register */ - uint32 FTCBOFFSET; /**< 0x0160: FTCB Interrupt Channel Offset Register */ - uint32 LFSBOFFSET; /**< 0x0164: LFSB Interrupt Channel Offset Register */ - uint32 HBCBOFFSET; /**< 0x0168: HBCB Interrupt Channel Offset Register */ - uint32 BTCBOFFSET; /**< 0x016C: BTCB Interrupt Channel Offset Register */ - uint32 BERBOFFSET; /**< 0x0170: BERB Interrupt Channel Offset Register */ - uint32 rsvd31; /**< 0x0174: Reserved */ - uint32 PTCRL; /**< 0x0178: Port Control Register */ - uint32 RTCTRL; /**< 0x017C: RAM Test Control Register */ - uint32 DCTRL; /**< 0x0180: Debug Control */ - uint32 WPR; /**< 0x0184: Watch Point Register */ - uint32 WMR; /**< 0x0188: Watch Mask Register */ - uint32 PAACSADDR; /**< 0x018C: */ - uint32 PAACDADDR; /**< 0x0190: */ - uint32 PAACTC; /**< 0x0194: */ - uint32 PBACSADDR; /**< 0x0198: Port B Active Channel Source Address Register */ - uint32 PBACDADDR; /**< 0x019C: Port B Active Channel Destination Address Register */ - uint32 PBACTC; /**< 0x01A0: Port B Active Channel Transfer Count Register */ - uint32 rsvd32; /**< 0x01A4: Reserved */ - uint32 DMAPCR; /**< 0x01A8: Parity Control Register */ - uint32 DMAPAR; /**< 0x01AC: DMA Parity Error Address Register */ - uint32 DMAMPCTRL; /**< 0x01B0: DMA Memory Protection Control Register */ - uint32 DMAMPST; /**< 0x01B4: DMA Memory Protection Status Register */ - struct - { - uint32 STARTADD; /**< 0x01B8, 0x01C0, 0x01C8, 0x1D0: DMA Memory Protection Region Start Address Register */ - uint32 ENDADD; /**< 0x01B8, 0x01C0, 0x01C8, 0x1D0: DMA Memory Protection Region Start Address Register */ - }DMAMPR[4U]; -} dmaBASE_t; - - -/** @def dmaREG -* @brief DMA1 Register Frame Pointer -* -* This pointer is used by the DMA driver to access the DMA module registers. -*/ -#define dmaREG ((dmaBASE_t *)0xFFFFF000U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -#ifdef __cplusplus -} -#endif - -#endif +/** @file reg_dma.h +* @brief DMA Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the DMA driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_DMA_H__ +#define __REG_DMA_H__ + +#include "sys_common.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* DMA Register Frame Definition */ +/** @struct dmaBase +* @brief DMA Register Frame Definition +* +* This type is used to access the DMA Registers. +*/ +/** @struct dmaBASE_t +* @brief DMA Register Definition +* +* This structure is used to access the DMA module egisters. +*/ +typedef volatile struct dmaBase +{ + + uint32 GCTRL; /**< 0x0000: Global Control Register */ + uint32 PEND; /**< 0x0004: Channel Pending Register */ + uint32 FBREG; /**< 0x0008: Fall Back Register */ + uint32 DMASTAT; /**< 0x000C: Status Register */ + uint32 rsvd1; /**< 0x0010: Reserved */ + uint32 HWCHENAS; /**< 0x0014: HW Channel Enable Set */ + uint32 rsvd2; /**< 0x0018: Reserved */ + uint32 HWCHENAR; /**< 0x001C: HW Channel Enable Reset */ + uint32 rsvd3; /**< 0x0020: Reserved */ + uint32 SWCHENAS; /**< 0x0024: SW Channel Enable Set */ + uint32 rsvd4; /**< 0x0028: Reserved */ + uint32 SWCHENAR; /**< 0x002C: SW Channel Enable Reset */ + uint32 rsvd5; /**< 0x0030: Reserved */ + uint32 CHPRIOS; /**< 0x0034: Channel Priority Set */ + uint32 rsvd6; /**< 0x0038: Reserved */ + uint32 CHPRIOR; /**< 0x003C: Channel Priority Reset */ + uint32 rsvd7; /**< 0x0040: Reserved */ + uint32 GCHIENAS; /**< 0x0044: Global Channel Interrupt Enable Set */ + uint32 rsvd8; /**< 0x0048: Reserved */ + uint32 GCHIENAR; /**< 0x004C: Global Channel Interrupt Enable Reset */ + uint32 rsvd9; /**< 0x0050: Reserved */ + uint32 DREQASI[8U]; /**< 0x0054 - 0x70: DMA Request Assignment Register */ + uint32 rsvd10[8U]; /**< 0x0074 - 0x90: Reserved */ + uint32 PAR[4U]; /**< 0x0094 - 0xA0: Port Assignment Register */ + uint32 rsvd11[4U]; /**< 0x00A4 - 0xB0: Reserved */ + uint32 FTCMAP; /**< 0x00B4: FTC Interrupt Mapping Register */ + uint32 rsvd12; /**< 0x00B8: Reserved */ + uint32 LFSMAP; /**< 0x00BC: LFS Interrupt Mapping Register */ + uint32 rsvd13; /**< 0x00C0: Reserved */ + uint32 HBCMAP; /**< 0x00C4: HBC Interrupt Mapping Register */ + uint32 rsvd14; /**< 0x00C8: Reserved */ + uint32 BTCMAP; /**< 0x00CC: BTC Interrupt Mapping Register */ + uint32 rsvd15; /**< 0x00D0: Reserved */ + uint32 BERMAP; /**< 0x00D4: BER Interrupt Mapping Register */ + uint32 rsvd16; /**< 0x00D8: Reserved */ + uint32 FTCINTENAS; /**< 0x00DC: FTC Interrupt Enable Set */ + uint32 rsvd17; /**< 0x00E0: Reserved */ + uint32 FTCINTENAR; /**< 0x00E4: FTC Interrupt Enable Reset */ + uint32 rsvd18; /**< 0x00E8: Reserved */ + uint32 LFSINTENAS; /**< 0x00EC: LFS Interrupt Enable Set */ + uint32 rsvd19; /**< 0x00F0: Reserved */ + uint32 LFSINTENAR; /**< 0x00F4: LFS Interrupt Enable Reset */ + uint32 rsvd20; /**< 0x00F8: Reserved */ + uint32 HBCINTENAS; /**< 0x00FC: HBC Interrupt Enable Set */ + uint32 rsvd21; /**< 0x0100: Reserved */ + uint32 HBCINTENAR; /**< 0x0104: HBC Interrupt Enable Reset */ + uint32 rsvd22; /**< 0x0108: Reserved */ + uint32 BTCINTENAS; /**< 0x010C: BTC Interrupt Enable Set */ + uint32 rsvd23; /**< 0x0110: Reserved */ + uint32 BTCINTENAR; /**< 0x0114: BTC Interrupt Enable Reset */ + uint32 rsvd24; /**< 0x0118: Reserved */ + uint32 GINTFLAG; /**< 0x011C: Global Interrupt Flag Register */ + uint32 rsvd25; /**< 0x0120: Reserved */ + uint32 FTCFLAG; /**< 0x0124: FTC Interrupt Flag Register */ + uint32 rsvd26; /**< 0x0128: Reserved */ + uint32 LFSFLAG; /**< 0x012C: LFS Interrupt Flag Register */ + uint32 rsvd27; /**< 0x0130: Reserved */ + uint32 HBCFLAG; /**< 0x0134: HBC Interrupt Flag Register */ + uint32 rsvd28; /**< 0x0138: Reserved */ + uint32 BTCFLAG; /**< 0x013C: BTC Interrupt Flag Register */ + uint32 rsvd29; /**< 0x0140: Reserved */ + uint32 BERFLAG; /**< 0x0144: BER Interrupt Flag Register */ + uint32 rsvd30; /**< 0x0148: Reserved */ + uint32 FTCAOFFSET; /**< 0x014C: FTCA Interrupt Channel Offset Register */ + uint32 LFSAOFFSET; /**< 0x0150: LFSA Interrupt Channel Offset Register */ + uint32 HBCAOFFSET; /**< 0x0154: HBCA Interrupt Channel Offset Register */ + uint32 BTCAOFFSET; /**< 0x0158: BTCA Interrupt Channel Offset Register */ + uint32 BERAOFFSET; /**< 0x015C: BERA Interrupt Channel Offset Register */ + uint32 FTCBOFFSET; /**< 0x0160: FTCB Interrupt Channel Offset Register */ + uint32 LFSBOFFSET; /**< 0x0164: LFSB Interrupt Channel Offset Register */ + uint32 HBCBOFFSET; /**< 0x0168: HBCB Interrupt Channel Offset Register */ + uint32 BTCBOFFSET; /**< 0x016C: BTCB Interrupt Channel Offset Register */ + uint32 BERBOFFSET; /**< 0x0170: BERB Interrupt Channel Offset Register */ + uint32 rsvd31; /**< 0x0174: Reserved */ + uint32 PTCRL; /**< 0x0178: Port Control Register */ + uint32 RTCTRL; /**< 0x017C: RAM Test Control Register */ + uint32 DCTRL; /**< 0x0180: Debug Control */ + uint32 WPR; /**< 0x0184: Watch Point Register */ + uint32 WMR; /**< 0x0188: Watch Mask Register */ + uint32 PAACSADDR; /**< 0x018C: */ + uint32 PAACDADDR; /**< 0x0190: */ + uint32 PAACTC; /**< 0x0194: */ + uint32 PBACSADDR; /**< 0x0198: Port B Active Channel Source Address Register */ + uint32 PBACDADDR; /**< 0x019C: Port B Active Channel Destination Address Register */ + uint32 PBACTC; /**< 0x01A0: Port B Active Channel Transfer Count Register */ + uint32 rsvd32; /**< 0x01A4: Reserved */ + uint32 DMAPCR; /**< 0x01A8: Parity Control Register */ + uint32 DMAPAR; /**< 0x01AC: DMA Parity Error Address Register */ + uint32 DMAMPCTRL; /**< 0x01B0: DMA Memory Protection Control Register */ + uint32 DMAMPST; /**< 0x01B4: DMA Memory Protection Status Register */ + struct + { + uint32 STARTADD; /**< 0x01B8, 0x01C0, 0x01C8, 0x1D0: DMA Memory Protection Region Start Address Register */ + uint32 ENDADD; /**< 0x01B8, 0x01C0, 0x01C8, 0x1D0: DMA Memory Protection Region Start Address Register */ + }DMAMPR[4U]; +} dmaBASE_t; + + +/** @def dmaREG +* @brief DMA1 Register Frame Pointer +* +* This pointer is used by the DMA driver to access the DMA module registers. +*/ +#define dmaREG ((dmaBASE_t *)0xFFFFF000U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_ecap.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_ecap.h index 9bfb07b1..da55fadf 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_ecap.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_ecap.h @@ -1,159 +1,159 @@ -/** @file reg_ecap.h -* @brief ECAP Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the ECAP driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_ECAP_H__ -#define __REG_ECAP_H__ - -#include "sys_common.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Ecap Register Frame Definition */ -/** @struct ecapBASE -* @brief ECAP Register Frame Definition -* -* This type is used to access the ECAP Registers. -*/ -/** @typedef ecapBASE_t -* @brief ECAP Register Frame Type Definition -* -* This type is used to access the ECAP Registers. -*/ -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - -typedef volatile struct ecapBASE - { - uint32 TSCTR; /**< 0x0000 Time stamp counter Register*/ - uint32 CTRPHS; /**< 0x0004 Counter phase Register*/ - uint32 CAP1; /**< 0x0008 Capture 1 Register*/ - uint32 CAP2; /**< 0x000C Capture 2 Register*/ - uint32 CAP3; /**< 0x0010 Capture 3 Register*/ - uint32 CAP4; /**< 0x0014 Capture 4 Register*/ - uint16 rsvd1[8U]; /**< 0x0018 Reserved*/ - uint16 ECCTL1; /**< 0x0028 Capture Control Reg 1 Register*/ - uint16 ECCTL2; /**< 0x002A Capture Control Reg 2 Register*/ - uint16 ECEINT; /**< 0x002C Interrupt enable Register*/ - uint16 ECFLG; /**< 0x002E Interrupt flags Register*/ - uint16 ECCLR; /**< 0x0030 Interrupt clear Register*/ - uint16 ECFRC; /**< 0x0032 Interrupt force Register*/ - uint16 rsvd2[6U]; /**< 0x0034 Reserved*/ - -}ecapBASE_t; - -#else - -typedef volatile struct ecapBASE - { - uint32 TSCTR; /**< 0x0000 Time stamp counter Register*/ - uint32 CTRPHS; /**< 0x0004 Counter phase Register*/ - uint32 CAP1; /**< 0x0008 Capture 1 Register*/ - uint32 CAP2; /**< 0x000C Capture 2 Register*/ - uint32 CAP3; /**< 0x0010 Capture 3 Register*/ - uint32 CAP4; /**< 0x0014 Capture 4 Register*/ - uint16 rsvd1[8U]; /**< 0x0018 Reserved*/ - uint16 ECCTL2; /**< 0x002A Capture Control Reg 2 Register*/ - uint16 ECCTL1; /**< 0x0028 Capture Control Reg 1 Register*/ - uint16 ECFLG; /**< 0x002E Interrupt flags Register*/ - uint16 ECEINT; /**< 0x002C Interrupt enable Register*/ - uint16 ECFRC; /**< 0x0032 Interrupt force Register*/ - uint16 ECCLR; /**< 0x0030 Interrupt clear Register*/ - uint16 rsvd2[6U]; /**< 0x0034 Reserved*/ - -}ecapBASE_t; - -#endif -/** @def ecapREG1 -* @brief ECAP1 Register Frame Pointer -* -* This pointer is used by the ECAP driver to access the ECAP1 registers. -*/ -#define ecapREG1 ((ecapBASE_t *)0xFCF79300U) - -/** @def ecapREG2 -* @brief ECAP2 Register Frame Pointer -* -* This pointer is used by the ECAP driver to access the ECAP2 registers. -*/ -#define ecapREG2 ((ecapBASE_t *)0xFCF79400U) - -/** @def ecapREG3 -* @brief ECAP3 Register Frame Pointer -* -* This pointer is used by the ECAP driver to access the ECAP3 registers. -*/ -#define ecapREG3 ((ecapBASE_t *)0xFCF79500U) - -/** @def ecapREG4 -* @brief ECAP4 Register Frame Pointer -* -* This pointer is used by the ECAP driver to access the ECAP4 registers. -*/ -#define ecapREG4 ((ecapBASE_t *)0xFCF79600U) - -/** @def ecapREG5 -* @brief ECAP5 Register Frame Pointer -* -* This pointer is used by the ECAP driver to access the ECAP5 registers. -*/ -#define ecapREG5 ((ecapBASE_t *)0xFCF79700U) - -/** @def ecapREG6 -* @brief ECAP6 Register Frame Pointer -* -* This pointer is used by the ECAP driver to access the ECAP6 registers. -*/ -#define ecapREG6 ((ecapBASE_t *)0xFCF79800U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_ecap.h +* @brief ECAP Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the ECAP driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_ECAP_H__ +#define __REG_ECAP_H__ + +#include "sys_common.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Ecap Register Frame Definition */ +/** @struct ecapBASE +* @brief ECAP Register Frame Definition +* +* This type is used to access the ECAP Registers. +*/ +/** @typedef ecapBASE_t +* @brief ECAP Register Frame Type Definition +* +* This type is used to access the ECAP Registers. +*/ +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + +typedef volatile struct ecapBASE + { + uint32 TSCTR; /**< 0x0000 Time stamp counter Register*/ + uint32 CTRPHS; /**< 0x0004 Counter phase Register*/ + uint32 CAP1; /**< 0x0008 Capture 1 Register*/ + uint32 CAP2; /**< 0x000C Capture 2 Register*/ + uint32 CAP3; /**< 0x0010 Capture 3 Register*/ + uint32 CAP4; /**< 0x0014 Capture 4 Register*/ + uint16 rsvd1[8U]; /**< 0x0018 Reserved*/ + uint16 ECCTL1; /**< 0x0028 Capture Control Reg 1 Register*/ + uint16 ECCTL2; /**< 0x002A Capture Control Reg 2 Register*/ + uint16 ECEINT; /**< 0x002C Interrupt enable Register*/ + uint16 ECFLG; /**< 0x002E Interrupt flags Register*/ + uint16 ECCLR; /**< 0x0030 Interrupt clear Register*/ + uint16 ECFRC; /**< 0x0032 Interrupt force Register*/ + uint16 rsvd2[6U]; /**< 0x0034 Reserved*/ + +}ecapBASE_t; + +#else + +typedef volatile struct ecapBASE + { + uint32 TSCTR; /**< 0x0000 Time stamp counter Register*/ + uint32 CTRPHS; /**< 0x0004 Counter phase Register*/ + uint32 CAP1; /**< 0x0008 Capture 1 Register*/ + uint32 CAP2; /**< 0x000C Capture 2 Register*/ + uint32 CAP3; /**< 0x0010 Capture 3 Register*/ + uint32 CAP4; /**< 0x0014 Capture 4 Register*/ + uint16 rsvd1[8U]; /**< 0x0018 Reserved*/ + uint16 ECCTL2; /**< 0x002A Capture Control Reg 2 Register*/ + uint16 ECCTL1; /**< 0x0028 Capture Control Reg 1 Register*/ + uint16 ECFLG; /**< 0x002E Interrupt flags Register*/ + uint16 ECEINT; /**< 0x002C Interrupt enable Register*/ + uint16 ECFRC; /**< 0x0032 Interrupt force Register*/ + uint16 ECCLR; /**< 0x0030 Interrupt clear Register*/ + uint16 rsvd2[6U]; /**< 0x0034 Reserved*/ + +}ecapBASE_t; + +#endif +/** @def ecapREG1 +* @brief ECAP1 Register Frame Pointer +* +* This pointer is used by the ECAP driver to access the ECAP1 registers. +*/ +#define ecapREG1 ((ecapBASE_t *)0xFCF79300U) + +/** @def ecapREG2 +* @brief ECAP2 Register Frame Pointer +* +* This pointer is used by the ECAP driver to access the ECAP2 registers. +*/ +#define ecapREG2 ((ecapBASE_t *)0xFCF79400U) + +/** @def ecapREG3 +* @brief ECAP3 Register Frame Pointer +* +* This pointer is used by the ECAP driver to access the ECAP3 registers. +*/ +#define ecapREG3 ((ecapBASE_t *)0xFCF79500U) + +/** @def ecapREG4 +* @brief ECAP4 Register Frame Pointer +* +* This pointer is used by the ECAP driver to access the ECAP4 registers. +*/ +#define ecapREG4 ((ecapBASE_t *)0xFCF79600U) + +/** @def ecapREG5 +* @brief ECAP5 Register Frame Pointer +* +* This pointer is used by the ECAP driver to access the ECAP5 registers. +*/ +#define ecapREG5 ((ecapBASE_t *)0xFCF79700U) + +/** @def ecapREG6 +* @brief ECAP6 Register Frame Pointer +* +* This pointer is used by the ECAP driver to access the ECAP6 registers. +*/ +#define ecapREG6 ((ecapBASE_t *)0xFCF79800U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_efc.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_efc.h index 18902884..48a36b9f 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_efc.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_efc.h @@ -1,96 +1,96 @@ -/** @file reg_efc.h -* @brief EFC Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_EFC_H__ -#define __REG_EFC_H__ - -#include "sys_common.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Efc Register Frame Definition */ -/** @struct efcBase -* @brief Efc Register Frame Definition -* -* This type is used to access the Efc Registers. -*/ -/** @typedef efcBASE_t -* @brief Efc Register Frame Type Definition -* -* This type is used to access the Efc Registers. -*/ -typedef volatile struct efcBase -{ - uint32 INSTRUCTION; /* 0x0 INSTRUCTION AN DUMPWORD REGISTER */ - uint32 ADDRESS; /* 0x4 ADDRESS REGISTER */ - uint32 DATA_UPPER; /* 0x8 DATA UPPER REGISTER */ - uint32 DATA_LOWER; /* 0xc DATA LOWER REGISTER */ - uint32 SYSTEM_CONFIG; /* 0x10 SYSTEM CONFIG REGISTER */ - uint32 SYSTEM_STATUS; /* 0x14 SYSTEM STATUS REGISTER */ - uint32 ACCUMULATOR; /* 0x18 ACCUMULATOR REGISTER */ - uint32 BOUNDARY; /* 0x1C BOUNDARY REGISTER */ - uint32 KEY_FLAG; /* 0x20 KEY FLAG REGISTER */ - uint32 KEY; /* 0x24 KEY REGISTER */ - uint32 rsvd1; /* 0x28 RESERVED */ - uint32 PINS; /* 0x2C PINS REGISTER */ - uint32 CRA; /* 0x30 CRA */ - uint32 READ; /* 0x34 READ REGISTER */ - uint32 PROGRAMME; /* 0x38 PROGRAMME REGISTER */ - uint32 ERROR; /* 0x3C ERROR STATUS REGISTER */ - uint32 SINGLE_BIT; /* 0x40 SINGLE BIT ERROR */ - uint32 TWO_BIT_ERROR; /* 0x44 DOUBLE BIT ERROR */ - uint32 SELF_TEST_CYCLES; /* 0x48 SELF TEST CYCLEX */ - uint32 SELF_TEST_SIGN; /* 0x4C SELF TEST SIGNATURE */ -} efcBASE_t; - -#define efcREG ((efcBASE_t *)0xFFF8C000U) -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_efc.h +* @brief EFC Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_EFC_H__ +#define __REG_EFC_H__ + +#include "sys_common.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Efc Register Frame Definition */ +/** @struct efcBase +* @brief Efc Register Frame Definition +* +* This type is used to access the Efc Registers. +*/ +/** @typedef efcBASE_t +* @brief Efc Register Frame Type Definition +* +* This type is used to access the Efc Registers. +*/ +typedef volatile struct efcBase +{ + uint32 INSTRUCTION; /* 0x0 INSTRUCTION AN DUMPWORD REGISTER */ + uint32 ADDRESS; /* 0x4 ADDRESS REGISTER */ + uint32 DATA_UPPER; /* 0x8 DATA UPPER REGISTER */ + uint32 DATA_LOWER; /* 0xc DATA LOWER REGISTER */ + uint32 SYSTEM_CONFIG; /* 0x10 SYSTEM CONFIG REGISTER */ + uint32 SYSTEM_STATUS; /* 0x14 SYSTEM STATUS REGISTER */ + uint32 ACCUMULATOR; /* 0x18 ACCUMULATOR REGISTER */ + uint32 BOUNDARY; /* 0x1C BOUNDARY REGISTER */ + uint32 KEY_FLAG; /* 0x20 KEY FLAG REGISTER */ + uint32 KEY; /* 0x24 KEY REGISTER */ + uint32 rsvd1; /* 0x28 RESERVED */ + uint32 PINS; /* 0x2C PINS REGISTER */ + uint32 CRA; /* 0x30 CRA */ + uint32 READ; /* 0x34 READ REGISTER */ + uint32 PROGRAMME; /* 0x38 PROGRAMME REGISTER */ + uint32 ERROR; /* 0x3C ERROR STATUS REGISTER */ + uint32 SINGLE_BIT; /* 0x40 SINGLE BIT ERROR */ + uint32 TWO_BIT_ERROR; /* 0x44 DOUBLE BIT ERROR */ + uint32 SELF_TEST_CYCLES; /* 0x48 SELF TEST CYCLEX */ + uint32 SELF_TEST_SIGN; /* 0x4C SELF TEST SIGNATURE */ +} efcBASE_t; + +#define efcREG ((efcBASE_t *)0xFFF8C000U) +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_eqep.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_eqep.h index 39342c63..5d513a3a 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_eqep.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_eqep.h @@ -1,151 +1,151 @@ -/** @file reg_eqep.h -* @brief EQEP Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the EQEP driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_EQEP_H__ -#define __REG_EQEP_H__ - -#include "sys_common.h" - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Eqep Register Frame Definition */ -/** @struct eqepBASE -* @brief EQEP Register Frame Definition -* -* This type is used to access the EQEP Registers. -*/ -/** @typedef eqepBASE_t -* @brief EQEP Register Frame Type Definition -* -* This type is used to access the EQEP Registers. -*/ -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - -typedef volatile struct eqepBASE -{ - uint32 QPOSCNT; /*< 0x0000 eQEP Position Counter*/ - uint32 QPOSINIT; /*< 0x0004 eQEP Initialization Position Count*/ - uint32 QPOSMAX; /*< 0x0008 eQEP Maximum Position Count*/ - uint32 QPOSCMP; /*< 0x000C eQEP Position Compare*/ - uint32 QPOSILAT; /*< 0x0010 eQEP Index Position Latch*/ - uint32 QPOSSLAT; /*< 0x0014 eQEP Strobe Position Latch*/ - uint32 QPOSLAT; /*< 0x0018 eQEP Position Latch*/ - uint32 QUTMR; /*< 0x001C eQEP Unit Timer*/ - uint32 QUPRD; /*< 0x0020 eQEP Unit Period*/ - uint16 QWDTMR; /*< 0x0024 eQEP Watchdog Timer*/ - uint16 QWDPRD; /*< 0x0026 eQEP Watchdog Period*/ - uint16 QDECCTL; /*< 0x0028 eQEP Decoder Control*/ - uint16 QEPCTL; /*< 0x002A eQEP Control*/ - uint16 QCAPCTL; /*< 0x002C eQEP Capture Control*/ - uint16 QPOSCTL; /*< 0x002E eQEP Position Compare Control*/ - uint16 QEINT; /*< 0x0030 eQEP Interrupt Enable Register*/ - uint16 QFLG; /*< 0x0032 eQEP Interrupt Flag Register*/ - uint16 QCLR; /*< 0x0034 eQEP Interrupt Clear Register*/ - uint16 QFRC; /*< 0x0036 eQEP Interrupt Force Register*/ - uint16 QEPSTS; /*< 0x0038 eQEP Status Register*/ - uint16 QCTMR; /*< 0x003A eQEP Capture Timer*/ - uint16 QCPRD; /*< 0x003C eQEP Capture Period*/ - uint16 QCTMRLAT; /*< 0x003E eQEP Capture Timer Latch*/ - uint16 QCPRDLAT; /*< 0x0040 eQEP Capture Period Latch*/ - uint16 rsvd_1; /*< 0x0042 Reserved*/ -} eqepBASE_t; - -#else - -typedef volatile struct eqepBASE -{ - uint32 QPOSCNT; /*< 0x0000 eQEP Position Counter*/ - uint32 QPOSINIT; /*< 0x0004 eQEP Initialization Position Count*/ - uint32 QPOSMAX; /*< 0x0008 eQEP Maximum Position Count*/ - uint32 QPOSCMP; /*< 0x000C eQEP Position Compare*/ - uint32 QPOSILAT; /*< 0x0010 eQEP Index Position Latch*/ - uint32 QPOSSLAT; /*< 0x0014 eQEP Strobe Position Latch*/ - uint32 QPOSLAT; /*< 0x0018 eQEP Position Latch*/ - uint32 QUTMR; /*< 0x001C eQEP Unit Timer*/ - uint32 QUPRD; /*< 0x0020 eQEP Unit Period*/ - uint16 QWDPRD; /*< 0x0026 eQEP Watchdog Period*/ - uint16 QWDTMR; /*< 0x0024 eQEP Watchdog Timer*/ - uint16 QEPCTL; /*< 0x002A eQEP Control*/ - uint16 QDECCTL; /*< 0x0028 eQEP Decoder Control*/ - uint16 QPOSCTL; /*< 0x002E eQEP Position Compare Control*/ - uint16 QCAPCTL; /*< 0x002C eQEP Capture Control*/ - uint16 QFLG; /*< 0x0032 eQEP Interrupt Flag Register*/ - uint16 QEINT; /*< 0x0030 eQEP Interrupt Enable Register*/ - uint16 QFRC; /*< 0x0036 eQEP Interrupt Force Register*/ - uint16 QCLR; /*< 0x0034 eQEP Interrupt Clear Register*/ - uint16 QCTMR; /*< 0x003A eQEP Capture Timer*/ - uint16 QEPSTS; /*< 0x0038 eQEP Status Register*/ - uint16 QCTMRLAT; /*< 0x003E eQEP Capture Timer Latch*/ - uint16 QCPRD; /*< 0x003C eQEP Capture Period*/ - uint16 rsvd_1; /*< 0x0042 Reserved*/ - uint16 QCPRDLAT; /*< 0x0040 eQEP Capture Period Latch*/ -} eqepBASE_t; - -#endif - -/** @def eqepREG1 -* @brief eQEP1 Register Frame Pointer -* -* This pointer is used by the eQEP driver to access the eQEP1 registers. -*/ -#define eqepREG1 ((eqepBASE_t *)0xFCF79900U) - -/** @def eqepREG2 -* @brief eQEP2 Register Frame Pointer -* -* This pointer is used by the eQEP driver to access the eQEP2 registers. -*/ -#define eqepREG2 ((eqepBASE_t *)0xFCF79A00U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_eqep.h +* @brief EQEP Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the EQEP driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_EQEP_H__ +#define __REG_EQEP_H__ + +#include "sys_common.h" + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Eqep Register Frame Definition */ +/** @struct eqepBASE +* @brief EQEP Register Frame Definition +* +* This type is used to access the EQEP Registers. +*/ +/** @typedef eqepBASE_t +* @brief EQEP Register Frame Type Definition +* +* This type is used to access the EQEP Registers. +*/ +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + +typedef volatile struct eqepBASE +{ + uint32 QPOSCNT; /*< 0x0000 eQEP Position Counter*/ + uint32 QPOSINIT; /*< 0x0004 eQEP Initialization Position Count*/ + uint32 QPOSMAX; /*< 0x0008 eQEP Maximum Position Count*/ + uint32 QPOSCMP; /*< 0x000C eQEP Position Compare*/ + uint32 QPOSILAT; /*< 0x0010 eQEP Index Position Latch*/ + uint32 QPOSSLAT; /*< 0x0014 eQEP Strobe Position Latch*/ + uint32 QPOSLAT; /*< 0x0018 eQEP Position Latch*/ + uint32 QUTMR; /*< 0x001C eQEP Unit Timer*/ + uint32 QUPRD; /*< 0x0020 eQEP Unit Period*/ + uint16 QWDTMR; /*< 0x0024 eQEP Watchdog Timer*/ + uint16 QWDPRD; /*< 0x0026 eQEP Watchdog Period*/ + uint16 QDECCTL; /*< 0x0028 eQEP Decoder Control*/ + uint16 QEPCTL; /*< 0x002A eQEP Control*/ + uint16 QCAPCTL; /*< 0x002C eQEP Capture Control*/ + uint16 QPOSCTL; /*< 0x002E eQEP Position Compare Control*/ + uint16 QEINT; /*< 0x0030 eQEP Interrupt Enable Register*/ + uint16 QFLG; /*< 0x0032 eQEP Interrupt Flag Register*/ + uint16 QCLR; /*< 0x0034 eQEP Interrupt Clear Register*/ + uint16 QFRC; /*< 0x0036 eQEP Interrupt Force Register*/ + uint16 QEPSTS; /*< 0x0038 eQEP Status Register*/ + uint16 QCTMR; /*< 0x003A eQEP Capture Timer*/ + uint16 QCPRD; /*< 0x003C eQEP Capture Period*/ + uint16 QCTMRLAT; /*< 0x003E eQEP Capture Timer Latch*/ + uint16 QCPRDLAT; /*< 0x0040 eQEP Capture Period Latch*/ + uint16 rsvd_1; /*< 0x0042 Reserved*/ +} eqepBASE_t; + +#else + +typedef volatile struct eqepBASE +{ + uint32 QPOSCNT; /*< 0x0000 eQEP Position Counter*/ + uint32 QPOSINIT; /*< 0x0004 eQEP Initialization Position Count*/ + uint32 QPOSMAX; /*< 0x0008 eQEP Maximum Position Count*/ + uint32 QPOSCMP; /*< 0x000C eQEP Position Compare*/ + uint32 QPOSILAT; /*< 0x0010 eQEP Index Position Latch*/ + uint32 QPOSSLAT; /*< 0x0014 eQEP Strobe Position Latch*/ + uint32 QPOSLAT; /*< 0x0018 eQEP Position Latch*/ + uint32 QUTMR; /*< 0x001C eQEP Unit Timer*/ + uint32 QUPRD; /*< 0x0020 eQEP Unit Period*/ + uint16 QWDPRD; /*< 0x0026 eQEP Watchdog Period*/ + uint16 QWDTMR; /*< 0x0024 eQEP Watchdog Timer*/ + uint16 QEPCTL; /*< 0x002A eQEP Control*/ + uint16 QDECCTL; /*< 0x0028 eQEP Decoder Control*/ + uint16 QPOSCTL; /*< 0x002E eQEP Position Compare Control*/ + uint16 QCAPCTL; /*< 0x002C eQEP Capture Control*/ + uint16 QFLG; /*< 0x0032 eQEP Interrupt Flag Register*/ + uint16 QEINT; /*< 0x0030 eQEP Interrupt Enable Register*/ + uint16 QFRC; /*< 0x0036 eQEP Interrupt Force Register*/ + uint16 QCLR; /*< 0x0034 eQEP Interrupt Clear Register*/ + uint16 QCTMR; /*< 0x003A eQEP Capture Timer*/ + uint16 QEPSTS; /*< 0x0038 eQEP Status Register*/ + uint16 QCTMRLAT; /*< 0x003E eQEP Capture Timer Latch*/ + uint16 QCPRD; /*< 0x003C eQEP Capture Period*/ + uint16 rsvd_1; /*< 0x0042 Reserved*/ + uint16 QCPRDLAT; /*< 0x0040 eQEP Capture Period Latch*/ +} eqepBASE_t; + +#endif + +/** @def eqepREG1 +* @brief eQEP1 Register Frame Pointer +* +* This pointer is used by the eQEP driver to access the eQEP1 registers. +*/ +#define eqepREG1 ((eqepBASE_t *)0xFCF79900U) + +/** @def eqepREG2 +* @brief eQEP2 Register Frame Pointer +* +* This pointer is used by the eQEP driver to access the eQEP2 registers. +*/ +#define eqepREG2 ((eqepBASE_t *)0xFCF79A00U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_esm.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_esm.h index ce5f5abe..c3223cc6 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_esm.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_esm.h @@ -1,106 +1,106 @@ -/** @file reg_esm.h -* @brief ESM Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the ESM driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_ESM_H__ -#define __REG_ESM_H__ - -#include "sys_common.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Esm Register Frame Definition */ -/** @struct esmBase -* @brief Esm Register Frame Definition -* -* This type is used to access the Esm Registers. -*/ -/** @typedef esmBASE_t -* @brief Esm Register Frame Type Definition -* -* This type is used to access the Esm Registers. -*/ -typedef volatile struct esmBase -{ - uint32 EEPAPR1; /* 0x0000 */ - uint32 DEPAPR1; /* 0x0004 */ - uint32 IESR1; /* 0x0008 */ - uint32 IECR1; /* 0x000C */ - uint32 ILSR1; /* 0x0010 */ - uint32 ILCR1; /* 0x0014 */ - uint32 SR1[3U]; /* 0x0018, 0x001C, 0x0020 */ - uint32 EPSR; /* 0x0024 */ - uint32 IOFFHR; /* 0x0028 */ - uint32 IOFFLR; /* 0x002C */ - uint32 LTCR; /* 0x0030 */ - uint32 LTCPR; /* 0x0034 */ - uint32 EKR; /* 0x0038 */ - uint32 SSR2; /* 0x003C */ - uint32 IEPSR4; /* 0x0040 */ - uint32 IEPCR4; /* 0x0044 */ - uint32 IESR4; /* 0x0048 */ - uint32 IECR4; /* 0x004C */ - uint32 ILSR4; /* 0x0050 */ - uint32 ILCR4; /* 0x0054 */ - uint32 SR4[3U]; /* 0x0058, 0x005C, 0x0060 */ -} esmBASE_t; - -/** @def esmREG -* @brief Esm Register Frame Pointer -* -* This pointer is used by the Esm driver to access the Esm registers. -*/ -#define esmREG ((esmBASE_t *)0xFFFFF500U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_esm.h +* @brief ESM Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the ESM driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_ESM_H__ +#define __REG_ESM_H__ + +#include "sys_common.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Esm Register Frame Definition */ +/** @struct esmBase +* @brief Esm Register Frame Definition +* +* This type is used to access the Esm Registers. +*/ +/** @typedef esmBASE_t +* @brief Esm Register Frame Type Definition +* +* This type is used to access the Esm Registers. +*/ +typedef volatile struct esmBase +{ + uint32 EEPAPR1; /* 0x0000 */ + uint32 DEPAPR1; /* 0x0004 */ + uint32 IESR1; /* 0x0008 */ + uint32 IECR1; /* 0x000C */ + uint32 ILSR1; /* 0x0010 */ + uint32 ILCR1; /* 0x0014 */ + uint32 SR1[3U]; /* 0x0018, 0x001C, 0x0020 */ + uint32 EPSR; /* 0x0024 */ + uint32 IOFFHR; /* 0x0028 */ + uint32 IOFFLR; /* 0x002C */ + uint32 LTCR; /* 0x0030 */ + uint32 LTCPR; /* 0x0034 */ + uint32 EKR; /* 0x0038 */ + uint32 SSR2; /* 0x003C */ + uint32 IEPSR4; /* 0x0040 */ + uint32 IEPCR4; /* 0x0044 */ + uint32 IESR4; /* 0x0048 */ + uint32 IECR4; /* 0x004C */ + uint32 ILSR4; /* 0x0050 */ + uint32 ILCR4; /* 0x0054 */ + uint32 SR4[3U]; /* 0x0058, 0x005C, 0x0060 */ +} esmBASE_t; + +/** @def esmREG +* @brief Esm Register Frame Pointer +* +* This pointer is used by the Esm driver to access the Esm registers. +*/ +#define esmREG ((esmBASE_t *)0xFFFFF500U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_etpwm.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_etpwm.h index a6b8a8f2..1a413024 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_etpwm.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_etpwm.h @@ -1,225 +1,225 @@ -/** @file reg_etpwm.h -* @brief ETPWM Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the ETPWM driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_ETPWM_H__ -#define __REG_ETPWM_H__ - -#include "sys_common.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* ETPWM Register Frame Definition */ -/** @struct etpwmBASE -* @brief ETPWM Register Frame Definition -* -* This type is used to access the ETPWM Registers. -*/ -/** @typedef etpwmBASE_t -* @brief ETPWM Register Frame Type Definition -* -* This type is used to access the ETPWM Registers. -*/ -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - -typedef volatile struct etpwmBASE -{ - uint16 TBCTL; /**< 0x0000 Time-Base Control Register*/ - uint16 TBSTS; /**< 0x0002 Time-Base Status Register*/ - uint16 rsvd1; /**< 0x0004 Reserved*/ - uint16 TBPHS; /**< 0x0006 Time-Base Phase Register*/ - uint16 TBCTR; /**< 0x0008 Time-Base Counter Register*/ - uint16 TBPRD; /**< 0x000A Time-Base Period Register*/ - uint16 rsvd2; /**< 0x000C Reserved*/ - uint16 CMPCTL; /**< 0x000E Counter-Compare Control Register*/ - uint16 rsvd3; /**< 0x0010 Reserved*/ - uint16 CMPA; /**< 0x0012 Counter-Compare A Register*/ - uint16 CMPB; /**< 0x0014 Counter-Compare B Register*/ - uint16 AQCTLA; /**< 0x0016 Action-Qualifier Control Register for Output A (ETPWMxA)*/ - uint16 AQCTLB; /**< 0x0018 Action-Qualifier Control Register for Output B (ETPWMxB)*/ - uint16 AQSFRC; /**< 0x001A Action-Qualifier Software Force Register*/ - uint16 AQCSFRC; /**< 0x001C Action-Qualifier Continuous S/W Force Register Set*/ - uint16 DBCTL; /**< 0x001E Dead-Band Generator Control Register*/ - uint16 DBRED; /**< 0x0020 Dead-Band Generator Rising Edge Delay Count Register*/ - uint16 DBFED; /**< 0x0022 Dead-Band Generator Falling Edge Delay Count Register*/ - uint16 TZSEL; /**< 0x0024 Trip-Zone Select Register*/ - uint16 TZDCSEL; /**< 0x0026 Trip Zone Digital Compare Select Register*/ - uint16 TZCTL; /**< 0x0028 Trip-Zone Control Register*/ - uint16 TZEINT; /**< 0x002A Trip-Zone Enable Interrupt Register*/ - uint16 TZFLG; /**< 0x002C Trip-Zone Flag Register*/ - uint16 TZCLR; /**< 0x002E Trip-Zone Clear Register*/ - uint16 TZFRC; /**< 0x0030 Trip-Zone Force Register*/ - uint16 ETSEL; /**< 0x0032 Event-Trigger Selection Register*/ - uint16 ETPS; /**< 0x0034 Event-Trigger Pre-Scale Register*/ - uint16 ETFLG; /**< 0x0036 Event-Trigger Flag Register*/ - uint16 ETCLR; /**< 0x0038 Event-Trigger Clear Register*/ - uint16 ETFRC; /**< 0x003A Event-Trigger Force Register*/ - uint16 PCCTL; /**< 0x003C PWM-Chopper Control Register*/ - uint16 rsvd4; /**< 0x003E Reserved*/ - uint16 rsvd5[16U]; /**< 0x0040 Reserved*/ - uint16 DCTRIPSEL; /**< 0x0060 Digital Compare Trip Select Register*/ - uint16 DCACTL; /**< 0x0062 Digital Compare A Control Register*/ - uint16 DCBCTL; /**< 0x0064 Digital Compare B Control Register*/ - uint16 DCFCTL; /**< 0x0066 Digital Compare Filter Control Register*/ - uint16 DCCAPCTL; /**< 0x0068 Digital Compare Capture Control Register*/ - uint16 DCFOFFSET; /**< 0x006A Digital Compare Filter Offset Register*/ - uint16 DCFOFFSETCNT; /**< 0x006C Digital Compare Filter Offset Counter Register*/ - uint16 DCFWINDOW; /**< 0x006E Digital Compare Filter Window Register*/ - uint16 DCFWINDOWCNT; /**< 0x0070 Digital Compare Filter Window Counter Register*/ - uint16 DCCAP; /**< 0x0072 Digital Compare Counter Capture Register*/ -} etpwmBASE_t; - -#else - -typedef volatile struct etpwmBASE -{ - uint16 TBSTS; /**< 0x0000 Time-Base Status Register*/ - uint16 TBCTL; /**< 0x0002 Time-Base Control Register*/ - uint16 TBPHS; /**< 0x0004 Time-Base Phase Register*/ - uint16 rsvd1; /**< 0x0006 Reserved*/ - uint16 TBPRD; /**< 0x0008 Time-Base Period Register*/ - uint16 TBCTR; /**< 0x000A Time-Base Counter Register*/ - uint16 CMPCTL; /**< 0x000C Counter-Compare Control Register*/ - uint16 rsvd2; /**< 0x000E Reserved*/ - uint16 CMPA; /**< 0x0010 Counter-Compare A Register*/ - uint16 rsvd3; /**< 0x0012 Reserved*/ - uint16 AQCTLA; /**< 0x0014 Action-Qualifier Control Register for Output A (ETPWMxA)*/ - uint16 CMPB; /**< 0x0016 Counter-Compare B Register*/ - uint16 AQSFRC; /**< 0x0018 Action-Qualifier Software Force Register*/ - uint16 AQCTLB; /**< 0x001A Action-Qualifier Control Register for Output B (ETPWMxB)*/ - uint16 DBCTL; /**< 0x001C Dead-Band Generator Control Register*/ - uint16 AQCSFRC; /**< 0x001E Action-Qualifier Continuous S/W Force Register Set*/ - uint16 DBFED; /**< 0x0020 Dead-Band Generator Falling Edge Delay Count Register*/ - uint16 DBRED; /**< 0x0022 Dead-Band Generator Rising Edge Delay Count Register*/ - uint16 TZDCSEL; /**< 0x0024 Trip Zone Digital Compare Select Register*/ - uint16 TZSEL; /**< 0x0026 Trip-Zone Select Register*/ - uint16 TZEINT; /**< 0x0028 Trip-Zone Enable Interrupt Register*/ - uint16 TZCTL; /**< 0x002A Trip-Zone Control Register*/ - uint16 TZCLR; /**< 0x002C Trip-Zone Clear Register*/ - uint16 TZFLG; /**< 0x002E Trip-Zone Flag Register*/ - uint16 ETSEL; /**< 0x0030 Event-Trigger Selection Register*/ - uint16 TZFRC; /**< 0x0032 Trip-Zone Force Register*/ - uint16 ETFLG; /**< 0x0034 Event-Trigger Flag Register*/ - uint16 ETPS; /**< 0x0036 Event-Trigger Pre-Scale Register*/ - uint16 ETFRC; /**< 0x0038 Event-Trigger Force Register*/ - uint16 ETCLR; /**< 0x003A Event-Trigger Clear Register*/ - uint16 rsvd4; /**< 0x003C Reserved*/ - uint16 PCCTL; /**< 0x003E PWM-Chopper Control Register*/ - uint16 rsvd5[16U]; /**< 0x0040 Reserved*/ - uint16 DCACTL; /**< 0x0060 Digital Compare A Control Register*/ - uint16 DCTRIPSEL; /**< 0x0062 Digital Compare Trip Select Register*/ - uint16 DCFCTL; /**< 0x0064 Digital Compare Filter Control Register*/ - uint16 DCBCTL; /**< 0x0066 Digital Compare B Control Register*/ - uint16 DCFOFFSET; /**< 0x0068 Digital Compare Filter Offset Register*/ - uint16 DCCAPCTL; /**< 0x006A Digital Compare Capture Control Register*/ - uint16 DCFWINDOW; /**< 0x006C Digital Compare Filter Window Register*/ - uint16 DCFOFFSETCNT; /**< 0x006E Digital Compare Filter Offset Counter Register*/ - uint16 DCCAP; /**< 0x0070 Digital Compare Counter Capture Register*/ - uint16 DCFWINDOWCNT; /**< 0x0072 Digital Compare Filter Window Counter Register*/ -} etpwmBASE_t; - -#endif - - - -/** @def etpwmREG1 -* @brief ETPWM1 Register Frame Pointer -* -* This pointer is used by the ETPWM driver to access the ETPWM1 registers. -*/ -#define etpwmREG1 ((etpwmBASE_t *)0xFCF78C00U) - -/** @def etpwmREG2 -* @brief ETPWM2 Register Frame Pointer -* -* This pointer is used by the ETPWM driver to access the ETPWM2 registers. -*/ -#define etpwmREG2 ((etpwmBASE_t *)0xFCF78D00U) - -/** @def etpwmREG3 -* @brief ETPWM3 Register Frame Pointer -* -* This pointer is used by the ETPWM driver to access the ETPWM3 registers. -*/ -#define etpwmREG3 ((etpwmBASE_t *)0xFCF78E00U) - -/** @def etpwmREG4 -* @brief ETPWM4 Register Frame Pointer -* -* This pointer is used by the ETPWM driver to access the ETPWM4 registers. -*/ -#define etpwmREG4 ((etpwmBASE_t *)0xFCF78F00U) - -/** @def etpwmREG5 -* @brief ETPWM5 Register Frame Pointer -* -* This pointer is used by the ETPWM driver to access the ETPWM5 registers. -*/ -#define etpwmREG5 ((etpwmBASE_t *)0xFCF79000U) - -/** @def etpwmREG6 -* @brief ETPWM6 Register Frame Pointer -* -* This pointer is used by the ETPWM driver to access the ETPWM6 registers. -*/ -#define etpwmREG6 ((etpwmBASE_t *)0xFCF79100U) - -/** @def etpwmREG7 -* @brief ETPWM7 Register Frame Pointer -* -* This pointer is used by the ETPWM driver to access the ETPWM7 registers. -*/ -#define etpwmREG7 ((etpwmBASE_t *)0xFCF79200U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_etpwm.h +* @brief ETPWM Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the ETPWM driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_ETPWM_H__ +#define __REG_ETPWM_H__ + +#include "sys_common.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* ETPWM Register Frame Definition */ +/** @struct etpwmBASE +* @brief ETPWM Register Frame Definition +* +* This type is used to access the ETPWM Registers. +*/ +/** @typedef etpwmBASE_t +* @brief ETPWM Register Frame Type Definition +* +* This type is used to access the ETPWM Registers. +*/ +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + +typedef volatile struct etpwmBASE +{ + uint16 TBCTL; /**< 0x0000 Time-Base Control Register*/ + uint16 TBSTS; /**< 0x0002 Time-Base Status Register*/ + uint16 rsvd1; /**< 0x0004 Reserved*/ + uint16 TBPHS; /**< 0x0006 Time-Base Phase Register*/ + uint16 TBCTR; /**< 0x0008 Time-Base Counter Register*/ + uint16 TBPRD; /**< 0x000A Time-Base Period Register*/ + uint16 rsvd2; /**< 0x000C Reserved*/ + uint16 CMPCTL; /**< 0x000E Counter-Compare Control Register*/ + uint16 rsvd3; /**< 0x0010 Reserved*/ + uint16 CMPA; /**< 0x0012 Counter-Compare A Register*/ + uint16 CMPB; /**< 0x0014 Counter-Compare B Register*/ + uint16 AQCTLA; /**< 0x0016 Action-Qualifier Control Register for Output A (ETPWMxA)*/ + uint16 AQCTLB; /**< 0x0018 Action-Qualifier Control Register for Output B (ETPWMxB)*/ + uint16 AQSFRC; /**< 0x001A Action-Qualifier Software Force Register*/ + uint16 AQCSFRC; /**< 0x001C Action-Qualifier Continuous S/W Force Register Set*/ + uint16 DBCTL; /**< 0x001E Dead-Band Generator Control Register*/ + uint16 DBRED; /**< 0x0020 Dead-Band Generator Rising Edge Delay Count Register*/ + uint16 DBFED; /**< 0x0022 Dead-Band Generator Falling Edge Delay Count Register*/ + uint16 TZSEL; /**< 0x0024 Trip-Zone Select Register*/ + uint16 TZDCSEL; /**< 0x0026 Trip Zone Digital Compare Select Register*/ + uint16 TZCTL; /**< 0x0028 Trip-Zone Control Register*/ + uint16 TZEINT; /**< 0x002A Trip-Zone Enable Interrupt Register*/ + uint16 TZFLG; /**< 0x002C Trip-Zone Flag Register*/ + uint16 TZCLR; /**< 0x002E Trip-Zone Clear Register*/ + uint16 TZFRC; /**< 0x0030 Trip-Zone Force Register*/ + uint16 ETSEL; /**< 0x0032 Event-Trigger Selection Register*/ + uint16 ETPS; /**< 0x0034 Event-Trigger Pre-Scale Register*/ + uint16 ETFLG; /**< 0x0036 Event-Trigger Flag Register*/ + uint16 ETCLR; /**< 0x0038 Event-Trigger Clear Register*/ + uint16 ETFRC; /**< 0x003A Event-Trigger Force Register*/ + uint16 PCCTL; /**< 0x003C PWM-Chopper Control Register*/ + uint16 rsvd4; /**< 0x003E Reserved*/ + uint16 rsvd5[16U]; /**< 0x0040 Reserved*/ + uint16 DCTRIPSEL; /**< 0x0060 Digital Compare Trip Select Register*/ + uint16 DCACTL; /**< 0x0062 Digital Compare A Control Register*/ + uint16 DCBCTL; /**< 0x0064 Digital Compare B Control Register*/ + uint16 DCFCTL; /**< 0x0066 Digital Compare Filter Control Register*/ + uint16 DCCAPCTL; /**< 0x0068 Digital Compare Capture Control Register*/ + uint16 DCFOFFSET; /**< 0x006A Digital Compare Filter Offset Register*/ + uint16 DCFOFFSETCNT; /**< 0x006C Digital Compare Filter Offset Counter Register*/ + uint16 DCFWINDOW; /**< 0x006E Digital Compare Filter Window Register*/ + uint16 DCFWINDOWCNT; /**< 0x0070 Digital Compare Filter Window Counter Register*/ + uint16 DCCAP; /**< 0x0072 Digital Compare Counter Capture Register*/ +} etpwmBASE_t; + +#else + +typedef volatile struct etpwmBASE +{ + uint16 TBSTS; /**< 0x0000 Time-Base Status Register*/ + uint16 TBCTL; /**< 0x0002 Time-Base Control Register*/ + uint16 TBPHS; /**< 0x0004 Time-Base Phase Register*/ + uint16 rsvd1; /**< 0x0006 Reserved*/ + uint16 TBPRD; /**< 0x0008 Time-Base Period Register*/ + uint16 TBCTR; /**< 0x000A Time-Base Counter Register*/ + uint16 CMPCTL; /**< 0x000C Counter-Compare Control Register*/ + uint16 rsvd2; /**< 0x000E Reserved*/ + uint16 CMPA; /**< 0x0010 Counter-Compare A Register*/ + uint16 rsvd3; /**< 0x0012 Reserved*/ + uint16 AQCTLA; /**< 0x0014 Action-Qualifier Control Register for Output A (ETPWMxA)*/ + uint16 CMPB; /**< 0x0016 Counter-Compare B Register*/ + uint16 AQSFRC; /**< 0x0018 Action-Qualifier Software Force Register*/ + uint16 AQCTLB; /**< 0x001A Action-Qualifier Control Register for Output B (ETPWMxB)*/ + uint16 DBCTL; /**< 0x001C Dead-Band Generator Control Register*/ + uint16 AQCSFRC; /**< 0x001E Action-Qualifier Continuous S/W Force Register Set*/ + uint16 DBFED; /**< 0x0020 Dead-Band Generator Falling Edge Delay Count Register*/ + uint16 DBRED; /**< 0x0022 Dead-Band Generator Rising Edge Delay Count Register*/ + uint16 TZDCSEL; /**< 0x0024 Trip Zone Digital Compare Select Register*/ + uint16 TZSEL; /**< 0x0026 Trip-Zone Select Register*/ + uint16 TZEINT; /**< 0x0028 Trip-Zone Enable Interrupt Register*/ + uint16 TZCTL; /**< 0x002A Trip-Zone Control Register*/ + uint16 TZCLR; /**< 0x002C Trip-Zone Clear Register*/ + uint16 TZFLG; /**< 0x002E Trip-Zone Flag Register*/ + uint16 ETSEL; /**< 0x0030 Event-Trigger Selection Register*/ + uint16 TZFRC; /**< 0x0032 Trip-Zone Force Register*/ + uint16 ETFLG; /**< 0x0034 Event-Trigger Flag Register*/ + uint16 ETPS; /**< 0x0036 Event-Trigger Pre-Scale Register*/ + uint16 ETFRC; /**< 0x0038 Event-Trigger Force Register*/ + uint16 ETCLR; /**< 0x003A Event-Trigger Clear Register*/ + uint16 rsvd4; /**< 0x003C Reserved*/ + uint16 PCCTL; /**< 0x003E PWM-Chopper Control Register*/ + uint16 rsvd5[16U]; /**< 0x0040 Reserved*/ + uint16 DCACTL; /**< 0x0060 Digital Compare A Control Register*/ + uint16 DCTRIPSEL; /**< 0x0062 Digital Compare Trip Select Register*/ + uint16 DCFCTL; /**< 0x0064 Digital Compare Filter Control Register*/ + uint16 DCBCTL; /**< 0x0066 Digital Compare B Control Register*/ + uint16 DCFOFFSET; /**< 0x0068 Digital Compare Filter Offset Register*/ + uint16 DCCAPCTL; /**< 0x006A Digital Compare Capture Control Register*/ + uint16 DCFWINDOW; /**< 0x006C Digital Compare Filter Window Register*/ + uint16 DCFOFFSETCNT; /**< 0x006E Digital Compare Filter Offset Counter Register*/ + uint16 DCCAP; /**< 0x0070 Digital Compare Counter Capture Register*/ + uint16 DCFWINDOWCNT; /**< 0x0072 Digital Compare Filter Window Counter Register*/ +} etpwmBASE_t; + +#endif + + + +/** @def etpwmREG1 +* @brief ETPWM1 Register Frame Pointer +* +* This pointer is used by the ETPWM driver to access the ETPWM1 registers. +*/ +#define etpwmREG1 ((etpwmBASE_t *)0xFCF78C00U) + +/** @def etpwmREG2 +* @brief ETPWM2 Register Frame Pointer +* +* This pointer is used by the ETPWM driver to access the ETPWM2 registers. +*/ +#define etpwmREG2 ((etpwmBASE_t *)0xFCF78D00U) + +/** @def etpwmREG3 +* @brief ETPWM3 Register Frame Pointer +* +* This pointer is used by the ETPWM driver to access the ETPWM3 registers. +*/ +#define etpwmREG3 ((etpwmBASE_t *)0xFCF78E00U) + +/** @def etpwmREG4 +* @brief ETPWM4 Register Frame Pointer +* +* This pointer is used by the ETPWM driver to access the ETPWM4 registers. +*/ +#define etpwmREG4 ((etpwmBASE_t *)0xFCF78F00U) + +/** @def etpwmREG5 +* @brief ETPWM5 Register Frame Pointer +* +* This pointer is used by the ETPWM driver to access the ETPWM5 registers. +*/ +#define etpwmREG5 ((etpwmBASE_t *)0xFCF79000U) + +/** @def etpwmREG6 +* @brief ETPWM6 Register Frame Pointer +* +* This pointer is used by the ETPWM driver to access the ETPWM6 registers. +*/ +#define etpwmREG6 ((etpwmBASE_t *)0xFCF79100U) + +/** @def etpwmREG7 +* @brief ETPWM7 Register Frame Pointer +* +* This pointer is used by the ETPWM driver to access the ETPWM7 registers. +*/ +#define etpwmREG7 ((etpwmBASE_t *)0xFCF79200U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_flash.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_flash.h index b50da1e8..7ac0c6b3 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_flash.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_flash.h @@ -1,134 +1,134 @@ -/** @file reg_flash.h -* @brief Flash Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_FLASH_H__ -#define __REG_FLASH_H__ - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "sys_common.h" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/* Flash Register Frame Definition */ -/** @struct flashWBase -* @brief Flash Wrapper Register Frame Definition -* -* This type is used to access the Flash Wrapper Registers. -*/ -/** @typedef flashWBASE_t -* @brief Flash Wrapper Register Frame Type Definition -* -* This type is used to access the Flash Wrapper Registers. -*/ -typedef volatile struct flashWBase -{ - uint32 FRDCNTL; /* 0x0000 */ - uint32 rsvd1; /* 0x0004 */ - uint32 FEDACCTRL1; /* 0x0008 */ - uint32 FEDACCTRL2; /* 0x000C */ - uint32 FCORERRCNT; /* 0x0010 */ - uint32 FCORERRADD; /* 0x0014 */ - uint32 FCORERRPOS; /* 0x0018 */ - uint32 FEDACSTATUS; /* 0x001C */ - uint32 FUNCERRADD; /* 0x0020 */ - uint32 FEDACSDIS; /* 0x0024 */ - uint32 FPRIMADDTAG; /* 0x0028 */ - uint32 FREDUADDTAG; /* 0x002C */ - uint32 FBPROT; /* 0x0030 */ - uint32 FBSE; /* 0x0034 */ - uint32 FBBUSY; /* 0x0038 */ - uint32 FBAC; /* 0x003C */ - uint32 FBFALLBACK; /* 0x0040 */ - uint32 FBPRDY; /* 0x0044 */ - uint32 FPAC1; /* 0x0048 */ - uint32 FPAC2; /* 0x004C */ - uint32 FMAC; /* 0x0050 */ - uint32 FMSTAT; /* 0x0054 */ - uint32 FEMUDMSW; /* 0x0058 */ - uint32 FEMUDLSW; /* 0x005C */ - uint32 FEMUECC; /* 0x0060 */ - uint32 FLOCK; /* 0x0064 */ - uint32 FEMUADDR; /* 0x0068 */ - uint32 FDIAGCTRL; /* 0x006C */ - uint32 FRAWDATAH; /* 0x0070 */ - uint32 FRAWDATAL; /* 0x0074 */ - uint32 FRAWECC; /* 0x0078 */ - uint32 FPAROVR; /* 0x007C */ - uint32 rsvd2[16U]; /* 0x009C */ - uint32 FEDACSDIS2; /* 0x00C0 */ - uint32 rsvd3[15U]; /* 0x00C4 */ - uint32 rsvd4[13U]; /* 0x0100 */ - uint32 rsvd5[85U]; /* 0x0134 */ - uint32 FSMWRENA; /* 0x0288 */ - uint32 rsvd6[6U]; /* 0x028C */ - uint32 FSMSECTOR; /* 0x02A4 */ - uint32 rsvd7[4U]; /* 0x02A8 */ - uint32 EEPROMCONFIG; /* 0x02B8 */ - uint32 rsvd8[19U]; /* 0x02BC */ - uint32 EECTRL1; /* 0x0308 */ - uint32 EECTRL2; /* 0x030C */ - uint32 EECORRERRCNT; /* 0x0310 */ - uint32 EECORRERRADD; /* 0x0314 */ - uint32 EECORRERRPOS; /* 0x0318 */ - uint32 EESTATUS; /* 0x031C */ - uint32 EEUNCERRADD; /* 0x0320 */ -} flashWBASE_t; - -/** @def flashWREG -* @brief Flash Wrapper Register Frame Pointer -* -* This pointer is used by the system driver to access the flash wrapper registers. -*/ -#define flashWREG ((flashWBASE_t *)(0xFFF87000U)) - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -#endif +/** @file reg_flash.h +* @brief Flash Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_FLASH_H__ +#define __REG_FLASH_H__ + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +#include "sys_common.h" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/* Flash Register Frame Definition */ +/** @struct flashWBase +* @brief Flash Wrapper Register Frame Definition +* +* This type is used to access the Flash Wrapper Registers. +*/ +/** @typedef flashWBASE_t +* @brief Flash Wrapper Register Frame Type Definition +* +* This type is used to access the Flash Wrapper Registers. +*/ +typedef volatile struct flashWBase +{ + uint32 FRDCNTL; /* 0x0000 */ + uint32 rsvd1; /* 0x0004 */ + uint32 FEDACCTRL1; /* 0x0008 */ + uint32 FEDACCTRL2; /* 0x000C */ + uint32 FCORERRCNT; /* 0x0010 */ + uint32 FCORERRADD; /* 0x0014 */ + uint32 FCORERRPOS; /* 0x0018 */ + uint32 FEDACSTATUS; /* 0x001C */ + uint32 FUNCERRADD; /* 0x0020 */ + uint32 FEDACSDIS; /* 0x0024 */ + uint32 FPRIMADDTAG; /* 0x0028 */ + uint32 FREDUADDTAG; /* 0x002C */ + uint32 FBPROT; /* 0x0030 */ + uint32 FBSE; /* 0x0034 */ + uint32 FBBUSY; /* 0x0038 */ + uint32 FBAC; /* 0x003C */ + uint32 FBFALLBACK; /* 0x0040 */ + uint32 FBPRDY; /* 0x0044 */ + uint32 FPAC1; /* 0x0048 */ + uint32 FPAC2; /* 0x004C */ + uint32 FMAC; /* 0x0050 */ + uint32 FMSTAT; /* 0x0054 */ + uint32 FEMUDMSW; /* 0x0058 */ + uint32 FEMUDLSW; /* 0x005C */ + uint32 FEMUECC; /* 0x0060 */ + uint32 FLOCK; /* 0x0064 */ + uint32 FEMUADDR; /* 0x0068 */ + uint32 FDIAGCTRL; /* 0x006C */ + uint32 FRAWDATAH; /* 0x0070 */ + uint32 FRAWDATAL; /* 0x0074 */ + uint32 FRAWECC; /* 0x0078 */ + uint32 FPAROVR; /* 0x007C */ + uint32 rsvd2[16U]; /* 0x009C */ + uint32 FEDACSDIS2; /* 0x00C0 */ + uint32 rsvd3[15U]; /* 0x00C4 */ + uint32 rsvd4[13U]; /* 0x0100 */ + uint32 rsvd5[85U]; /* 0x0134 */ + uint32 FSMWRENA; /* 0x0288 */ + uint32 rsvd6[6U]; /* 0x028C */ + uint32 FSMSECTOR; /* 0x02A4 */ + uint32 rsvd7[4U]; /* 0x02A8 */ + uint32 EEPROMCONFIG; /* 0x02B8 */ + uint32 rsvd8[19U]; /* 0x02BC */ + uint32 EECTRL1; /* 0x0308 */ + uint32 EECTRL2; /* 0x030C */ + uint32 EECORRERRCNT; /* 0x0310 */ + uint32 EECORRERRADD; /* 0x0314 */ + uint32 EECORRERRPOS; /* 0x0318 */ + uint32 EESTATUS; /* 0x031C */ + uint32 EEUNCERRADD; /* 0x0320 */ +} flashWBASE_t; + +/** @def flashWREG +* @brief Flash Wrapper Register Frame Pointer +* +* This pointer is used by the system driver to access the flash wrapper registers. +*/ +#define flashWREG ((flashWBASE_t *)(0xFFF87000U)) + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_gio.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_gio.h index d8452058..14bc263f 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_gio.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_gio.h @@ -1,134 +1,134 @@ -/** @file reg_gio.h -* @brief GIO Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the GIO driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_GIO_H__ -#define __REG_GIO_H__ - -#include "sys_common.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Gio Register Frame Definition */ -/** @struct gioBase -* @brief GIO Base Register Definition -* -* This structure is used to access the GIO module registers. -*/ -/** @typedef gioBASE_t -* @brief GIO Register Frame Type Definition -* -* This type is used to access the GIO Registers. -*/ -typedef volatile struct gioBase -{ - uint32 GCR0; /**< 0x0000: Global Control Register */ - uint32 rsvd; /**< 0x0004: Reserved*/ - uint32 INTDET; /**< 0x0008: Interrupt Detect Register*/ - uint32 POL; /**< 0x000C: Interrupt Polarity Register */ - uint32 ENASET; /**< 0x0010: Interrupt Enable Set Register */ - uint32 ENACLR; /**< 0x0014: Interrupt Enable Clear Register */ - uint32 LVLSET; /**< 0x0018: Interrupt Priority Set Register */ - uint32 LVLCLR; /**< 0x001C: Interrupt Priority Clear Register */ - uint32 FLG; /**< 0x0020: Interrupt Flag Register */ - uint32 OFF1; /**< 0x0024: Interrupt Offset A Register */ - uint32 OFF2; /**< 0x0028: Interrupt Offset B Register */ - uint32 EMU1; /**< 0x002C: Emulation 1 Register */ - uint32 EMU2; /**< 0x0030: Emulation 2 Register */ -} gioBASE_t; - - -/** @struct gioPort -* @brief GIO Port Register Definition -*/ -/** @typedef gioPORT_t -* @brief GIO Port Register Type Definition -* -* This type is used to access the GIO Port Registers. -*/ -typedef volatile struct gioPort -{ - uint32 DIR; /**< 0x0000: Data Direction Register */ - uint32 DIN; /**< 0x0004: Data Input Register */ - uint32 DOUT; /**< 0x0008: Data Output Register */ - uint32 DSET; /**< 0x000C: Data Output Set Register */ - uint32 DCLR; /**< 0x0010: Data Output Clear Register */ - uint32 PDR; /**< 0x0014: Open Drain Register */ - uint32 PULDIS; /**< 0x0018: Pullup Disable Register */ - uint32 PSL; /**< 0x001C: Pull Up/Down Selection Register */ -} gioPORT_t; - - -/** @def gioREG -* @brief GIO Register Frame Pointer -* -* This pointer is used by the GIO driver to access the gio module registers. -*/ -#define gioREG ((gioBASE_t *)0xFFF7BC00U) - -/** @def gioPORTA -* @brief GIO Port (A) Register Pointer -* -* Pointer used by the GIO driver to access PORTA -*/ -#define gioPORTA ((gioPORT_t *)0xFFF7BC34U) - -/** @def gioPORTB -* @brief GIO Port (B) Register Pointer -* -* Pointer used by the GIO driver to access PORTB -*/ -#define gioPORTB ((gioPORT_t *)0xFFF7BC54U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_gio.h +* @brief GIO Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the GIO driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_GIO_H__ +#define __REG_GIO_H__ + +#include "sys_common.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Gio Register Frame Definition */ +/** @struct gioBase +* @brief GIO Base Register Definition +* +* This structure is used to access the GIO module registers. +*/ +/** @typedef gioBASE_t +* @brief GIO Register Frame Type Definition +* +* This type is used to access the GIO Registers. +*/ +typedef volatile struct gioBase +{ + uint32 GCR0; /**< 0x0000: Global Control Register */ + uint32 rsvd; /**< 0x0004: Reserved*/ + uint32 INTDET; /**< 0x0008: Interrupt Detect Register*/ + uint32 POL; /**< 0x000C: Interrupt Polarity Register */ + uint32 ENASET; /**< 0x0010: Interrupt Enable Set Register */ + uint32 ENACLR; /**< 0x0014: Interrupt Enable Clear Register */ + uint32 LVLSET; /**< 0x0018: Interrupt Priority Set Register */ + uint32 LVLCLR; /**< 0x001C: Interrupt Priority Clear Register */ + uint32 FLG; /**< 0x0020: Interrupt Flag Register */ + uint32 OFF1; /**< 0x0024: Interrupt Offset A Register */ + uint32 OFF2; /**< 0x0028: Interrupt Offset B Register */ + uint32 EMU1; /**< 0x002C: Emulation 1 Register */ + uint32 EMU2; /**< 0x0030: Emulation 2 Register */ +} gioBASE_t; + + +/** @struct gioPort +* @brief GIO Port Register Definition +*/ +/** @typedef gioPORT_t +* @brief GIO Port Register Type Definition +* +* This type is used to access the GIO Port Registers. +*/ +typedef volatile struct gioPort +{ + uint32 DIR; /**< 0x0000: Data Direction Register */ + uint32 DIN; /**< 0x0004: Data Input Register */ + uint32 DOUT; /**< 0x0008: Data Output Register */ + uint32 DSET; /**< 0x000C: Data Output Set Register */ + uint32 DCLR; /**< 0x0010: Data Output Clear Register */ + uint32 PDR; /**< 0x0014: Open Drain Register */ + uint32 PULDIS; /**< 0x0018: Pullup Disable Register */ + uint32 PSL; /**< 0x001C: Pull Up/Down Selection Register */ +} gioPORT_t; + + +/** @def gioREG +* @brief GIO Register Frame Pointer +* +* This pointer is used by the GIO driver to access the gio module registers. +*/ +#define gioREG ((gioBASE_t *)0xFFF7BC00U) + +/** @def gioPORTA +* @brief GIO Port (A) Register Pointer +* +* Pointer used by the GIO driver to access PORTA +*/ +#define gioPORTA ((gioPORT_t *)0xFFF7BC34U) + +/** @def gioPORTB +* @brief GIO Port (B) Register Pointer +* +* Pointer used by the GIO driver to access PORTB +*/ +#define gioPORTB ((gioPORT_t *)0xFFF7BC54U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_het.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_het.h index f2d70eb3..22d7347f 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_het.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_het.h @@ -1,203 +1,203 @@ -/** @file reg_het.h -* @brief HET Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the HET driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_HET_H__ -#define __REG_HET_H__ - -#include "sys_common.h" -#include "reg_gio.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Het Register Frame Definition */ -/** @struct hetBase -* @brief HET Base Register Definition -* -* This structure is used to access the HET module registers. -*/ -/** @typedef hetBASE_t -* @brief HET Register Frame Type Definition -* -* This type is used to access the HET Registers. -*/ - -typedef volatile struct hetBase -{ - uint32 GCR; /**< 0x0000: Global control register */ - uint32 PFR; /**< 0x0004: Prescale factor register */ - uint32 ADDR; /**< 0x0008: Current address register */ - uint32 OFF1; /**< 0x000C: Interrupt offset register 1 */ - uint32 OFF2; /**< 0x0010: Interrupt offset register 2 */ - uint32 INTENAS; /**< 0x0014: Interrupt enable set register */ - uint32 INTENAC; /**< 0x0018: Interrupt enable clear register */ - uint32 EXC1; /**< 0x001C: Exception control register 1 */ - uint32 EXC2; /**< 0x0020: Exception control register 2 */ - uint32 PRY; /**< 0x0024: Interrupt priority register */ - uint32 FLG; /**< 0x0028: Interrupt flag register */ - uint32 AND; /**< 0x002C: AND share control register */ - uint32 rsvd1; /**< 0x0030: Reserved */ - uint32 HRSH; /**< 0x0034: High resolution share register */ - uint32 XOR; /**< 0x0038: XOR share register */ - uint32 REQENS; /**< 0x003C: Request enable set register */ - uint32 REQENC; /**< 0x0040: Request enable clear register */ - uint32 REQDS; /**< 0x0044: Request destination select register */ - uint32 rsvd2; /**< 0x0048: Reserved */ - uint32 DIR; /**< 0x004C: Direction register */ - uint32 DIN; /**< 0x0050: Data input register */ - uint32 DOUT; /**< 0x0054: Data output register */ - uint32 DSET; /**< 0x0058: Data output set register */ - uint32 DCLR; /**< 0x005C: Data output clear register */ - uint32 PDR; /**< 0x0060: Open drain register */ - uint32 PULDIS; /**< 0x0064: Pull disable register */ - uint32 PSL; /**< 0x0068: Pull select register */ - uint32 rsvd3; /**< 0x006C: Reserved */ - uint32 rsvd4; /**< 0x0070: Reserved */ - uint32 PCR; /**< 0x0074: Parity control register */ - uint32 PAR; /**< 0x0078: Parity address register */ - uint32 PPR; /**< 0x007C: Parity pin select register */ - uint32 SFPRLD; /**< 0x0080: Suppression filter preload register */ - uint32 SFENA; /**< 0x0084: Suppression filter enable register */ - uint32 rsvd5; /**< 0x0088: Reserved */ - uint32 LBPSEL; /**< 0x008C: Loop back pair select register */ - uint32 LBPDIR; /**< 0x0090: Loop back pair direction register */ - uint32 PINDIS; /**< 0x0094: Pin disable register */ -} hetBASE_t; - - -/** @struct hetInstructionBase -* @brief HET Instruction Definition -* -* This structure is used to access the HET RAM. -*/ -/** @typedef hetINSTRUCTION_t -* @brief HET Instruction Type Definition -* -* This type is used to access a HET Instruction. -*/ -typedef volatile struct hetInstructionBase -{ - uint32 Program; - uint32 Control; - uint32 Data; - uint32 rsvd1; -} hetINSTRUCTION_t; - - -/** @struct hetRamBase -* @brief HET RAM Definition -* -* This structure is used to access the HET RAM. -*/ -/** @typedef hetRAMBASE_t -* @brief HET RAM Type Definition -* -* This type is used to access the HET RAM. -*/ -typedef volatile struct het1RamBase -{ - hetINSTRUCTION_t Instruction[160U]; -} hetRAMBASE_t; - - -/** @def hetREG1 -* @brief HET Register Frame Pointer -* -* This pointer is used by the HET driver to access the het module registers. -*/ -#define hetREG1 ((hetBASE_t *)0xFFF7B800U) - - -/** @def hetPORT1 -* @brief HET GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of HET1 -* (use the GIO drivers to access the port pins). -*/ -#define hetPORT1 ((gioPORT_t *)0xFFF7B84CU) - -/** @def hetRAM1 -* @brief NHET1 RAM Pointer -* -* This pointer is used by the HET driver to access the NHET1 memory. -*/ -#define hetRAM1 ((hetRAMBASE_t *)0xFF460000U) - -#define NHET1RAMPARLOC (*(volatile uint32 *)0xFF462000U) -#define NHET1RAMLOC (*(volatile uint32 *)0xFF460000U) - -/** @def hetREG2 -* @brief HET2 Register Frame Pointer -* -* This pointer is used by the HET driver to access the het module registers. -*/ -#define hetREG2 ((hetBASE_t *)0xFFF7B900U) - -/** @def hetPORT2 -* @brief HET2 GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of HET2 -* (use the GIO drivers to access the port pins). -*/ -#define hetPORT2 ((gioPORT_t *)0xFFF7B94CU) - -/** @def hetRAM2 -* @brief NHET1 RAM Pointer -* -* This pointer is used by the HET driver to access the NHET2 memory. -*/ -#define hetRAM2 ((hetRAMBASE_t *)0xFF440000U) - -#define NHET2RAMPARLOC (*(volatile uint32 *)0xFF442000U) -#define NHET2RAMLOC (*(volatile uint32 *)0xFF440000U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_het.h +* @brief HET Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the HET driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_HET_H__ +#define __REG_HET_H__ + +#include "sys_common.h" +#include "reg_gio.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Het Register Frame Definition */ +/** @struct hetBase +* @brief HET Base Register Definition +* +* This structure is used to access the HET module registers. +*/ +/** @typedef hetBASE_t +* @brief HET Register Frame Type Definition +* +* This type is used to access the HET Registers. +*/ + +typedef volatile struct hetBase +{ + uint32 GCR; /**< 0x0000: Global control register */ + uint32 PFR; /**< 0x0004: Prescale factor register */ + uint32 ADDR; /**< 0x0008: Current address register */ + uint32 OFF1; /**< 0x000C: Interrupt offset register 1 */ + uint32 OFF2; /**< 0x0010: Interrupt offset register 2 */ + uint32 INTENAS; /**< 0x0014: Interrupt enable set register */ + uint32 INTENAC; /**< 0x0018: Interrupt enable clear register */ + uint32 EXC1; /**< 0x001C: Exception control register 1 */ + uint32 EXC2; /**< 0x0020: Exception control register 2 */ + uint32 PRY; /**< 0x0024: Interrupt priority register */ + uint32 FLG; /**< 0x0028: Interrupt flag register */ + uint32 AND; /**< 0x002C: AND share control register */ + uint32 rsvd1; /**< 0x0030: Reserved */ + uint32 HRSH; /**< 0x0034: High resolution share register */ + uint32 XOR; /**< 0x0038: XOR share register */ + uint32 REQENS; /**< 0x003C: Request enable set register */ + uint32 REQENC; /**< 0x0040: Request enable clear register */ + uint32 REQDS; /**< 0x0044: Request destination select register */ + uint32 rsvd2; /**< 0x0048: Reserved */ + uint32 DIR; /**< 0x004C: Direction register */ + uint32 DIN; /**< 0x0050: Data input register */ + uint32 DOUT; /**< 0x0054: Data output register */ + uint32 DSET; /**< 0x0058: Data output set register */ + uint32 DCLR; /**< 0x005C: Data output clear register */ + uint32 PDR; /**< 0x0060: Open drain register */ + uint32 PULDIS; /**< 0x0064: Pull disable register */ + uint32 PSL; /**< 0x0068: Pull select register */ + uint32 rsvd3; /**< 0x006C: Reserved */ + uint32 rsvd4; /**< 0x0070: Reserved */ + uint32 PCR; /**< 0x0074: Parity control register */ + uint32 PAR; /**< 0x0078: Parity address register */ + uint32 PPR; /**< 0x007C: Parity pin select register */ + uint32 SFPRLD; /**< 0x0080: Suppression filter preload register */ + uint32 SFENA; /**< 0x0084: Suppression filter enable register */ + uint32 rsvd5; /**< 0x0088: Reserved */ + uint32 LBPSEL; /**< 0x008C: Loop back pair select register */ + uint32 LBPDIR; /**< 0x0090: Loop back pair direction register */ + uint32 PINDIS; /**< 0x0094: Pin disable register */ +} hetBASE_t; + + +/** @struct hetInstructionBase +* @brief HET Instruction Definition +* +* This structure is used to access the HET RAM. +*/ +/** @typedef hetINSTRUCTION_t +* @brief HET Instruction Type Definition +* +* This type is used to access a HET Instruction. +*/ +typedef volatile struct hetInstructionBase +{ + uint32 Program; + uint32 Control; + uint32 Data; + uint32 rsvd1; +} hetINSTRUCTION_t; + + +/** @struct hetRamBase +* @brief HET RAM Definition +* +* This structure is used to access the HET RAM. +*/ +/** @typedef hetRAMBASE_t +* @brief HET RAM Type Definition +* +* This type is used to access the HET RAM. +*/ +typedef volatile struct het1RamBase +{ + hetINSTRUCTION_t Instruction[160U]; +} hetRAMBASE_t; + + +/** @def hetREG1 +* @brief HET Register Frame Pointer +* +* This pointer is used by the HET driver to access the het module registers. +*/ +#define hetREG1 ((hetBASE_t *)0xFFF7B800U) + + +/** @def hetPORT1 +* @brief HET GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of HET1 +* (use the GIO drivers to access the port pins). +*/ +#define hetPORT1 ((gioPORT_t *)0xFFF7B84CU) + +/** @def hetRAM1 +* @brief NHET1 RAM Pointer +* +* This pointer is used by the HET driver to access the NHET1 memory. +*/ +#define hetRAM1 ((hetRAMBASE_t *)0xFF460000U) + +#define NHET1RAMPARLOC (*(volatile uint32 *)0xFF462000U) +#define NHET1RAMLOC (*(volatile uint32 *)0xFF460000U) + +/** @def hetREG2 +* @brief HET2 Register Frame Pointer +* +* This pointer is used by the HET driver to access the het module registers. +*/ +#define hetREG2 ((hetBASE_t *)0xFFF7B900U) + +/** @def hetPORT2 +* @brief HET2 GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of HET2 +* (use the GIO drivers to access the port pins). +*/ +#define hetPORT2 ((gioPORT_t *)0xFFF7B94CU) + +/** @def hetRAM2 +* @brief NHET1 RAM Pointer +* +* This pointer is used by the HET driver to access the NHET2 memory. +*/ +#define hetRAM2 ((hetRAMBASE_t *)0xFF440000U) + +#define NHET2RAMPARLOC (*(volatile uint32 *)0xFF442000U) +#define NHET2RAMLOC (*(volatile uint32 *)0xFF440000U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_htu.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_htu.h index 92e830c5..95c08150 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_htu.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_htu.h @@ -1,141 +1,141 @@ -/** @file reg_htu.h -* @brief HTU Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the HTU driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_HTU_H__ -#define __REG_HTU_H__ - -#include "sys_common.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* htu Register Frame Definition */ -/** @struct htuBase -* @brief HTU Base Register Definition -* -* This structure is used to access the HTU module registers. -*/ -/** @typedef htuBASE_t -* @brief HTU Register Frame Type Definition -* -* This type is used to access the HTU Registers. -*/ -typedef volatile struct htuBase -{ - uint32 GC; /** 0x00 */ - uint32 CPENA; /** 0x04 */ - uint32 BUSY0; /** 0x08 */ - uint32 BUSY1; /** 0x0C */ - uint32 BUSY2; /** 0x10 */ - uint32 BUSY3; /** 0x14 */ - uint32 ACPE; /** 0x18 */ - uint32 rsvd1; /** 0x1C */ - uint32 RLBECTRL; /** 0x20 */ - uint32 BFINTS; /** 0x24 */ - uint32 BFINTC; /** 0x28 */ - uint32 INTMAP; /** 0x2C */ - uint32 rsvd2; /** 0x30 */ - uint32 INTOFF0; /** 0x34 */ - uint32 INTOFF1; /** 0x38 */ - uint32 BIM; /** 0x3C */ - uint32 RLOSTFL; /** 0x40 */ - uint32 BFINTFL; /** 0x44 */ - uint32 BERINTFL; /** 0x48 */ - uint32 MP1S; /** 0x4C */ - uint32 MP1E; /** 0x50 */ - uint32 DCTRL; /** 0x54 */ - uint32 WPR; /** 0x58 */ - uint32 WMR; /** 0x5C */ - uint32 ID; /** 0x60 */ - uint32 PCR; /** 0x64 */ - uint32 PAR; /** 0x68 */ - uint32 rsvd3; /** 0x6C */ - uint32 MPCS; /** 0x70 */ - uint32 MP0S; /** 0x74 */ - uint32 MP0E; /** 0x78 */ -} htuBASE_t; - -typedef volatile struct -{ - struct /* 0x00-0x7C */ - { - uint32 IFADDRA; - uint32 IFADDRB; - uint32 IHADDRCT; - uint32 ITCOUNT; - }DCP[8U]; - - struct /* 0x80-0xFC */ - { - uint32 res[32U]; - } RESERVED; - - struct /* 0x100-0x17C */ - { - uint32 CFADDRA; - uint32 CFADDRB; - uint32 CFCOUNT; - uint32 rsvd4; - }CDCP[8U]; - -} htuRAMBASE_t; - -#define htuREG1 ((htuBASE_t *)0xFFF7A400U) -#define htuREG2 ((htuBASE_t *)0xFFF7A500U) - -#define htuRAM1 ((htuRAMBASE_t *)0xFF4E0000U) -#define htuRAM2 ((htuRAMBASE_t *)0xFF4C0000U) - - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_htu.h +* @brief HTU Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the HTU driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_HTU_H__ +#define __REG_HTU_H__ + +#include "sys_common.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* htu Register Frame Definition */ +/** @struct htuBase +* @brief HTU Base Register Definition +* +* This structure is used to access the HTU module registers. +*/ +/** @typedef htuBASE_t +* @brief HTU Register Frame Type Definition +* +* This type is used to access the HTU Registers. +*/ +typedef volatile struct htuBase +{ + uint32 GC; /** 0x00 */ + uint32 CPENA; /** 0x04 */ + uint32 BUSY0; /** 0x08 */ + uint32 BUSY1; /** 0x0C */ + uint32 BUSY2; /** 0x10 */ + uint32 BUSY3; /** 0x14 */ + uint32 ACPE; /** 0x18 */ + uint32 rsvd1; /** 0x1C */ + uint32 RLBECTRL; /** 0x20 */ + uint32 BFINTS; /** 0x24 */ + uint32 BFINTC; /** 0x28 */ + uint32 INTMAP; /** 0x2C */ + uint32 rsvd2; /** 0x30 */ + uint32 INTOFF0; /** 0x34 */ + uint32 INTOFF1; /** 0x38 */ + uint32 BIM; /** 0x3C */ + uint32 RLOSTFL; /** 0x40 */ + uint32 BFINTFL; /** 0x44 */ + uint32 BERINTFL; /** 0x48 */ + uint32 MP1S; /** 0x4C */ + uint32 MP1E; /** 0x50 */ + uint32 DCTRL; /** 0x54 */ + uint32 WPR; /** 0x58 */ + uint32 WMR; /** 0x5C */ + uint32 ID; /** 0x60 */ + uint32 PCR; /** 0x64 */ + uint32 PAR; /** 0x68 */ + uint32 rsvd3; /** 0x6C */ + uint32 MPCS; /** 0x70 */ + uint32 MP0S; /** 0x74 */ + uint32 MP0E; /** 0x78 */ +} htuBASE_t; + +typedef volatile struct +{ + struct /* 0x00-0x7C */ + { + uint32 IFADDRA; + uint32 IFADDRB; + uint32 IHADDRCT; + uint32 ITCOUNT; + }DCP[8U]; + + struct /* 0x80-0xFC */ + { + uint32 res[32U]; + } RESERVED; + + struct /* 0x100-0x17C */ + { + uint32 CFADDRA; + uint32 CFADDRB; + uint32 CFCOUNT; + uint32 rsvd4; + }CDCP[8U]; + +} htuRAMBASE_t; + +#define htuREG1 ((htuBASE_t *)0xFFF7A400U) +#define htuREG2 ((htuBASE_t *)0xFFF7A500U) + +#define htuRAM1 ((htuRAMBASE_t *)0xFF4E0000U) +#define htuRAM2 ((htuRAMBASE_t *)0xFF4C0000U) + + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_i2c.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_i2c.h index 4e86e4db..063cb2f2 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_i2c.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_i2c.h @@ -1,147 +1,147 @@ -/** @file reg_i2c.h -* @brief I2C Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the I2C driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_I2C_H__ -#define __REG_I2C_H__ - -#include "sys_common.h" -#include "reg_gio.h" - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* I2c Register Frame Definition */ -/** @struct i2cBase -* @brief I2C Base Register Definition -* -* This structure is used to access the I2C module registers. -*/ -/** @typedef i2cBASE_t -* @brief I2C Register Frame Type Definition -* -* This type is used to access the I2C Registers. -*/ -typedef volatile struct i2cBase -{ - - uint32 OAR; /**< 0x0000 I2C Own Address register */ - uint32 IMR; /**< 0x0004 I2C Interrupt Mask/Status register */ - uint32 STR; /**< 0x0008 I2C Interrupt Status register */ - uint32 CKL; /**< 0x000C I2C Clock Divider Low register */ - uint32 CKH; /**< 0x0010 I2C Clock Divider High register */ - uint32 CNT; /**< 0x0014 I2C Data Count register */ -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - uint8 DRR; /**< 0x0018: I2C Data Receive register, */ - uint8 rsvd1; /**< 0x0018: I2C Data Receive register, Reserved */ - uint8 rsvd2; /**< 0x0018: I2C Data Receive register, Reserved */ - uint8 rsvd3; /**< 0x0018: I2C Data Receive register, Reserved */ -#else - uint8 rsvd3; /**< 0x0018: I2C Data Receive register, Reserved */ - uint8 rsvd2; /**< 0x0018: I2C Data Receive register, Reserved */ - uint8 rsvd1; /**< 0x0018: I2C Data Receive register, Reserved */ - uint8 DRR; /**< 0x0018: I2C Data Receive register, */ -#endif - uint32 SAR; /**< 0x001C I2C Slave Address register */ -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - uint8 DXR; /**< 0x0020: I2C Data Transmit register, */ - uint8 rsvd4; /**< 0x0020: I2C Data Transmit register, Reserved */ - uint8 rsvd5; /**< 0x0020: I2C Data Transmit register, Reserved */ - uint8 rsvd6; /**< 0x0020: I2C Data Transmit register, Reserved */ -#else - uint8 rsvd6; /**< 0x0020: I2C Data Transmit register, Reserved */ - uint8 rsvd5; /**< 0x0020: I2C Data Transmit register, Reserved */ - uint8 rsvd4; /**< 0x0020: I2C Data Transmit register, Reserved */ - uint8 DXR; /**< 0x0020: I2C Data Transmit register, */ -#endif - uint32 MDR; /**< 0x0024 I2C Mode register */ - uint32 IVR; /**< 0x0028 I2C Interrupt Vector register */ - uint32 EMDR; /**< 0x002C I2C Extended Mode register */ - uint32 PSC; /**< 0x0030 I2C Prescaler register */ - uint32 PID11; /**< 0x0034 I2C Peripheral ID register 1 */ - uint32 PID12; /**< 0x0038 I2C Peripheral ID register 2 */ - uint32 DMACR; /**< 0x003C I2C DMA Control Register */ - uint32 rsvd7; /**< 0x0040 Reserved */ - uint32 rsvd8; /**< 0x0044 Reserved */ - uint32 PFNC; /**< 0x0048 Pin Function Register */ - uint32 DIR; /**< 0x004C Pin Direction Register */ - uint32 DIN; /**< 0x0050 Pin Data In Register */ - uint32 DOUT; /**< 0x0054 Pin Data Out Register */ - uint32 SET; /**< 0x0058 Pin Data Set Register */ - uint32 CLR; /**< 0x005C Pin Data Clr Register */ - uint32 PDR; /**< 0x0060 Pin Open Drain Output Enable Register */ - uint32 PDIS; /**< 0x0064 Pin Pullup/Pulldown Disable Register */ - uint32 PSEL; /**< 0x0068 Pin Pullup/Pulldown Selection Register */ - uint32 PSRS; /**< 0x006C Pin Slew Rate Select Register */ -} i2cBASE_t; - - -/** @def i2cREG1 -* @brief I2C Register Frame Pointer -* -* This pointer is used by the I2C driver to access the I2C module registers. -*/ -#define i2cREG1 ((i2cBASE_t *)0xFFF7D400U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -/** @def i2cPORT1 -* @brief I2C GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of I2C -* (use the GIO drivers to access the port pins). -*/ -#define i2cPORT1 ((gioPORT_t *)0xFFF7D44CU) - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - - -#endif +/** @file reg_i2c.h +* @brief I2C Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the I2C driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_I2C_H__ +#define __REG_I2C_H__ + +#include "sys_common.h" +#include "reg_gio.h" + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* I2c Register Frame Definition */ +/** @struct i2cBase +* @brief I2C Base Register Definition +* +* This structure is used to access the I2C module registers. +*/ +/** @typedef i2cBASE_t +* @brief I2C Register Frame Type Definition +* +* This type is used to access the I2C Registers. +*/ +typedef volatile struct i2cBase +{ + + uint32 OAR; /**< 0x0000 I2C Own Address register */ + uint32 IMR; /**< 0x0004 I2C Interrupt Mask/Status register */ + uint32 STR; /**< 0x0008 I2C Interrupt Status register */ + uint32 CKL; /**< 0x000C I2C Clock Divider Low register */ + uint32 CKH; /**< 0x0010 I2C Clock Divider High register */ + uint32 CNT; /**< 0x0014 I2C Data Count register */ +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + uint8 DRR; /**< 0x0018: I2C Data Receive register, */ + uint8 rsvd1; /**< 0x0018: I2C Data Receive register, Reserved */ + uint8 rsvd2; /**< 0x0018: I2C Data Receive register, Reserved */ + uint8 rsvd3; /**< 0x0018: I2C Data Receive register, Reserved */ +#else + uint8 rsvd3; /**< 0x0018: I2C Data Receive register, Reserved */ + uint8 rsvd2; /**< 0x0018: I2C Data Receive register, Reserved */ + uint8 rsvd1; /**< 0x0018: I2C Data Receive register, Reserved */ + uint8 DRR; /**< 0x0018: I2C Data Receive register, */ +#endif + uint32 SAR; /**< 0x001C I2C Slave Address register */ +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + uint8 DXR; /**< 0x0020: I2C Data Transmit register, */ + uint8 rsvd4; /**< 0x0020: I2C Data Transmit register, Reserved */ + uint8 rsvd5; /**< 0x0020: I2C Data Transmit register, Reserved */ + uint8 rsvd6; /**< 0x0020: I2C Data Transmit register, Reserved */ +#else + uint8 rsvd6; /**< 0x0020: I2C Data Transmit register, Reserved */ + uint8 rsvd5; /**< 0x0020: I2C Data Transmit register, Reserved */ + uint8 rsvd4; /**< 0x0020: I2C Data Transmit register, Reserved */ + uint8 DXR; /**< 0x0020: I2C Data Transmit register, */ +#endif + uint32 MDR; /**< 0x0024 I2C Mode register */ + uint32 IVR; /**< 0x0028 I2C Interrupt Vector register */ + uint32 EMDR; /**< 0x002C I2C Extended Mode register */ + uint32 PSC; /**< 0x0030 I2C Prescaler register */ + uint32 PID11; /**< 0x0034 I2C Peripheral ID register 1 */ + uint32 PID12; /**< 0x0038 I2C Peripheral ID register 2 */ + uint32 DMACR; /**< 0x003C I2C DMA Control Register */ + uint32 rsvd7; /**< 0x0040 Reserved */ + uint32 rsvd8; /**< 0x0044 Reserved */ + uint32 PFNC; /**< 0x0048 Pin Function Register */ + uint32 DIR; /**< 0x004C Pin Direction Register */ + uint32 DIN; /**< 0x0050 Pin Data In Register */ + uint32 DOUT; /**< 0x0054 Pin Data Out Register */ + uint32 SET; /**< 0x0058 Pin Data Set Register */ + uint32 CLR; /**< 0x005C Pin Data Clr Register */ + uint32 PDR; /**< 0x0060 Pin Open Drain Output Enable Register */ + uint32 PDIS; /**< 0x0064 Pin Pullup/Pulldown Disable Register */ + uint32 PSEL; /**< 0x0068 Pin Pullup/Pulldown Selection Register */ + uint32 PSRS; /**< 0x006C Pin Slew Rate Select Register */ +} i2cBASE_t; + + +/** @def i2cREG1 +* @brief I2C Register Frame Pointer +* +* This pointer is used by the I2C driver to access the I2C module registers. +*/ +#define i2cREG1 ((i2cBASE_t *)0xFFF7D400U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +/** @def i2cPORT1 +* @brief I2C GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of I2C +* (use the GIO drivers to access the port pins). +*/ +#define i2cPORT1 ((gioPORT_t *)0xFFF7D44CU) + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_lin.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_lin.h index c9c77305..37edaf6e 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_lin.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_lin.h @@ -1,129 +1,129 @@ -/** @file reg_lin.h -* @brief LIN Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the LIN driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_LIN_H__ -#define __REG_LIN_H__ - -#include "sys_common.h" -#include "reg_gio.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Lin Register Frame Definition */ -/** @struct linBase -* @brief LIN Base Register Definition -* -* This structure is used to access the LIN module registers. -*/ -/** @typedef linBASE_t -* @brief LIN Register Frame Type Definition -* -* This type is used to access the LIN Registers. -*/ - -typedef volatile struct linBase -{ - uint32 GCR0; /**< 0x0000: Global control register 0 */ - uint32 GCR1; /**< 0x0004: Global control register 1 */ - uint32 GCR2; /**< 0x0008: Global control register 2 */ - uint32 SETINT; /**< 0x000C: Set interrupt enable register */ - uint32 CLEARINT; /**< 0x0010: Clear interrupt enable register */ - uint32 SETINTLVL; /**< 0x0014: Set interrupt level register */ - uint32 CLEARINTLVL; /**< 0x0018: Set interrupt level register */ - uint32 FLR; /**< 0x001C: interrupt flag register */ - uint32 INTVECT0; /**< 0x0020: interrupt vector Offset 0 */ - uint32 INTVECT1; /**< 0x0024: interrupt vector Offset 1 */ - uint32 FORMAT; /**< 0x0028: Format Control Register */ - uint32 BRS; /**< 0x002C: Baud rate selection register */ - uint32 ED; /**< 0x0030: Emulation register */ - uint32 RD; /**< 0x0034: Receive data register */ - uint32 TD; /**< 0x0038: Transmit data register */ - uint32 PIO0; /**< 0x003C: Pin function register */ - uint32 PIO1; /**< 0x0040: Pin direction register */ - uint32 PIO2; /**< 0x0044: Pin data in register */ - uint32 PIO3; /**< 0x0048: Pin data out register */ - uint32 PIO4; /**< 0x004C: Pin data set register */ - uint32 PIO5; /**< 0x0050: Pin data clr register */ - uint32 PIO6; /**< 0x0054: Pin open drain output enable register */ - uint32 PIO7; /**< 0x0058: Pin pullup/pulldown disable register */ - uint32 PIO8; /**< 0x005C: Pin pullup/pulldown selection register */ - uint32 COMP; /**< 0x0060: Compare register */ - uint8 RDx[8U]; /**< 0x0064-0x0068: RX buffer register */ - uint32 MASK; /**< 0x006C: Mask register */ - uint32 ID; /**< 0x0070: Identification Register */ - uint8 TDx[8U]; /**< 0x0074-0x0078: TX buffer register */ - uint32 MBRSR; /**< 0x007C: Maximum baud rate selection register */ - uint32 rsvd1[4U]; /**< 0x0080 - 0x8C: Reserved */ - uint32 IODFTCTRL; /**< 0x0090: IODFT loopback register */ -} linBASE_t; - - -/** @def linREG -* @brief LIN Register Frame Pointer -* -* This pointer is used by the LIN driver to access the lin module registers. -*/ -#define linREG ((linBASE_t *)0xFFF7E400U) - - -/** @def linPORT -* @brief LIN GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of LIN -* (use the GIO drivers to access the port pins). -*/ -#define linPORT ((gioPORT_t *)0xFFF7E440U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_lin.h +* @brief LIN Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the LIN driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_LIN_H__ +#define __REG_LIN_H__ + +#include "sys_common.h" +#include "reg_gio.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Lin Register Frame Definition */ +/** @struct linBase +* @brief LIN Base Register Definition +* +* This structure is used to access the LIN module registers. +*/ +/** @typedef linBASE_t +* @brief LIN Register Frame Type Definition +* +* This type is used to access the LIN Registers. +*/ + +typedef volatile struct linBase +{ + uint32 GCR0; /**< 0x0000: Global control register 0 */ + uint32 GCR1; /**< 0x0004: Global control register 1 */ + uint32 GCR2; /**< 0x0008: Global control register 2 */ + uint32 SETINT; /**< 0x000C: Set interrupt enable register */ + uint32 CLEARINT; /**< 0x0010: Clear interrupt enable register */ + uint32 SETINTLVL; /**< 0x0014: Set interrupt level register */ + uint32 CLEARINTLVL; /**< 0x0018: Set interrupt level register */ + uint32 FLR; /**< 0x001C: interrupt flag register */ + uint32 INTVECT0; /**< 0x0020: interrupt vector Offset 0 */ + uint32 INTVECT1; /**< 0x0024: interrupt vector Offset 1 */ + uint32 FORMAT; /**< 0x0028: Format Control Register */ + uint32 BRS; /**< 0x002C: Baud rate selection register */ + uint32 ED; /**< 0x0030: Emulation register */ + uint32 RD; /**< 0x0034: Receive data register */ + uint32 TD; /**< 0x0038: Transmit data register */ + uint32 PIO0; /**< 0x003C: Pin function register */ + uint32 PIO1; /**< 0x0040: Pin direction register */ + uint32 PIO2; /**< 0x0044: Pin data in register */ + uint32 PIO3; /**< 0x0048: Pin data out register */ + uint32 PIO4; /**< 0x004C: Pin data set register */ + uint32 PIO5; /**< 0x0050: Pin data clr register */ + uint32 PIO6; /**< 0x0054: Pin open drain output enable register */ + uint32 PIO7; /**< 0x0058: Pin pullup/pulldown disable register */ + uint32 PIO8; /**< 0x005C: Pin pullup/pulldown selection register */ + uint32 COMP; /**< 0x0060: Compare register */ + uint8 RDx[8U]; /**< 0x0064-0x0068: RX buffer register */ + uint32 MASK; /**< 0x006C: Mask register */ + uint32 ID; /**< 0x0070: Identification Register */ + uint8 TDx[8U]; /**< 0x0074-0x0078: TX buffer register */ + uint32 MBRSR; /**< 0x007C: Maximum baud rate selection register */ + uint32 rsvd1[4U]; /**< 0x0080 - 0x8C: Reserved */ + uint32 IODFTCTRL; /**< 0x0090: IODFT loopback register */ +} linBASE_t; + + +/** @def linREG +* @brief LIN Register Frame Pointer +* +* This pointer is used by the LIN driver to access the lin module registers. +*/ +#define linREG ((linBASE_t *)0xFFF7E400U) + + +/** @def linPORT +* @brief LIN GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of LIN +* (use the GIO drivers to access the port pins). +*/ +#define linPORT ((gioPORT_t *)0xFFF7E440U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_mibspi.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_mibspi.h index a696f40b..c53f2871 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_mibspi.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_mibspi.h @@ -1,257 +1,257 @@ -/** @file reg_mibspi.h -* @brief MIBSPI Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the MIBSPI driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_MIBSPI_H__ -#define __REG_MIBSPI_H__ - -#include "sys_common.h" -#include "reg_gio.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Mibspi Register Frame Definition */ -/** @struct mibspiBase -* @brief MIBSPI Register Definition -* -* This structure is used to access the MIBSPI module registers. -*/ -/** @typedef mibspiBASE_t -* @brief MIBSPI Register Frame Type Definition -* -* This type is used to access the MIBSPI Registers. -*/ -typedef volatile struct mibspiBase -{ - uint32 GCR0; /**< 0x0000: Global Control 0 */ - uint32 GCR1; /**< 0x0004: Global Control 1 */ - uint32 INT0; /**< 0x0008: Interrupt Register */ - uint32 LVL; /**< 0x000C: Interrupt Level */ - uint32 FLG; /**< 0x0010: Interrupt flags */ - uint32 PC0; /**< 0x0014: Function Pin Enable */ - uint32 PC1; /**< 0x0018: Pin Direction */ - uint32 PC2; /**< 0x001C: Pin Input Latch */ - uint32 PC3; /**< 0x0020: Pin Output Latch */ - uint32 PC4; /**< 0x0024: Output Pin Set */ - uint32 PC5; /**< 0x0028: Output Pin Clr */ - uint32 PC6; /**< 0x002C: Open Drain Output Enable */ - uint32 PC7; /**< 0x0030: Pullup/Pulldown Disable */ - uint32 PC8; /**< 0x0034: Pullup/Pulldown Selection */ - uint32 DAT0; /**< 0x0038: Transmit Data */ - uint32 DAT1; /**< 0x003C: Transmit Data with Format and Chip Select */ - uint32 BUF; /**< 0x0040: Receive Buffer */ - uint32 EMU; /**< 0x0044: Emulation Receive Buffer */ - uint32 DELAY; /**< 0x0048: Delays */ - uint32 DEF; /**< 0x004C: Default Chip Select */ - uint32 FMT0; /**< 0x0050: Data Format 0 */ - uint32 FMT1; /**< 0x0054: Data Format 1 */ - uint32 FMT2; /**< 0x0058: Data Format 2 */ - uint32 FMT3; /**< 0x005C: Data Format 3 */ - uint32 INTVECT0; /**< 0x0060: Interrupt Vector 0 */ - uint32 INTVECT1; /**< 0x0064: Interrupt Vector 1 */ - uint32 SRSEL; /**< 0x0068: Slew Rate Select */ - uint32 PMCTRL; /**< 0x006C: Parallel Mode Control */ - uint32 MIBSPIE; /**< 0x0070: Multi-buffer Mode Enable */ - uint32 TGITENST; /**< 0x0074: TG Interrupt Enable Set */ - uint32 TGITENCR; /**< 0x0078: TG Interrupt Enable Clear */ - uint32 TGITLVST; /**< 0x007C: Transfer Group Interrupt Level Set */ - uint32 TGITLVCR; /**< 0x0080: Transfer Group Interrupt Level Clear */ - uint32 TGINTFLG; /**< 0x0084: Transfer Group Interrupt Flag */ - uint32 rsvd1[2U]; /**< 0x0088: Reserved */ - uint32 TICKCNT; /**< 0x0090: Tick Counter */ - uint32 LTGPEND; /**< 0x0090: Last TG End Pointer */ - uint32 TGCTRL[16U]; /**< 0x0098 - 0x00D4: Transfer Group Control */ - uint32 DMACTRL[8U]; /**< 0x00D8 - 0x00F4: DMA Control */ - uint32 DMACOUNT[8U]; /**< 0x00F8 - 0x0114: DMA Count */ - uint32 DMACNTLEN; /**< 0x0118 - 0x0114: DMA Control length */ - uint32 rsvd2; /**< 0x011C: Reserved */ - uint32 UERRCTRL; /**< 0x0120: Multi-buffer RAM Uncorrectable Parity Error Control */ - uint32 UERRSTAT; /**< 0x0124: Multi-buffer RAM Uncorrectable Parity Error Status */ - uint32 UERRADDRRX; /**< 0x0128: RXRAM Uncorrectable Parity Error Address */ - uint32 UERRADDRTX; /**< 0x012C: TXRAM Uncorrectable Parity Error Address */ - uint32 RXOVRN_BUF_ADDR; /**< 0x0130: RXRAM Overrun Buffer Address */ - uint32 IOLPKTSTCR; /**< 0x0134: IO loopback */ - uint32 EXT_PRESCALE1; /**< 0x0138: */ - uint32 EXT_PRESCALE2; /**< 0x013C: */ -} mibspiBASE_t; - - -/** @def mibspiREG1 -* @brief MIBSPI1 Register Frame Pointer -* -* This pointer is used by the MIBSPI driver to access the mibspi module registers. -*/ -#define mibspiREG1 ((mibspiBASE_t *)0xFFF7F400U) - - -/** @def mibspiPORT1 -* @brief MIBSPI1 GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of MIBSPI1 -* (use the GIO drivers to access the port pins). -*/ -#define mibspiPORT1 ((gioPORT_t *)0xFFF7F418U) - -/** @def mibspiREG3 -* @brief MIBSPI3 Register Frame Pointer -* -* This pointer is used by the MIBSPI driver to access the mibspi module registers. -*/ -#define mibspiREG3 ((mibspiBASE_t *)0xFFF7F800U) - - -/** @def mibspiPORT3 -* @brief MIBSPI3 GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of MIBSPI3 -* (use the GIO drivers to access the port pins). -*/ -#define mibspiPORT3 ((gioPORT_t *)0xFFF7F818U) - -/** @def mibspiREG5 -* @brief MIBSPI5 Register Frame Pointer -* -* This pointer is used by the MIBSPI driver to access the mibspi module registers. -*/ -#define mibspiREG5 ((mibspiBASE_t *)0xFFF7FC00U) - - -/** @def mibspiPORT5 -* @brief MIBSPI5 GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of MIBSPI5 -* (use the GIO drivers to access the port pins). -*/ -#define mibspiPORT5 ((gioPORT_t *)0xFFF7FC18U) - - -/** @struct mibspiRamBase -* @brief MIBSPI Buffer RAM Definition -* -* This structure is used to access the MIBSPI buffer memory. -*/ -/** @typedef mibspiRAM_t -* @brief MIBSPI RAM Type Definition -* -* This type is used to access the MIBSPI RAM. -*/ -typedef volatile struct mibspiRamBase -{ - struct - { -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - uint16 data; /**< tx buffer data */ - uint16 control; /**< tx buffer control */ -#else - uint16 control; /**< tx buffer control */ - uint16 data; /**< tx buffer data */ -#endif - } tx[128]; - struct - { -#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) - uint16 data; /**< rx buffer data */ - uint16 flags; /**< rx buffer flags */ -#else - uint16 flags; /**< rx buffer flags */ - uint16 data; /**< rx buffer data */ -#endif - } rx[128]; -} mibspiRAM_t; - - -/** @def mibspiRAM1 -* @brief MIBSPI1 Buffer RAM Pointer -* -* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. -*/ -#define mibspiRAM1 ((mibspiRAM_t *)0xFF0E0000U) - -/** @def mibspiRAM3 -* @brief MIBSPI3 Buffer RAM Pointer -* -* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. -*/ -#define mibspiRAM3 ((mibspiRAM_t *)0xFF0C0000U) - -/** @def mibspiRAM5 -* @brief MIBSPI5 Buffer RAM Pointer -* -* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. -*/ -#define mibspiRAM5 ((mibspiRAM_t *)0xFF0A0000U) - -/** @def mibspiPARRAM1 -* @brief MIBSPI1 Buffer RAM PARITY Pointer -* -* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. -*/ -#define mibspiPARRAM1 (*(volatile uint32 *)(0xFF0E0000U + 0x00000400U)) - -/** @def mibspiPARRAM3 -* @brief MIBSPI3 Buffer RAM PARITY Pointer -* -* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. -*/ -#define mibspiPARRAM3 (*(volatile uint32 *)(0xFF0C0000U + 0x00000400U)) - - -/** @def mibspiPARRAM5 -* @brief MIBSPI5 Buffer RAM PARITY Pointer -* -* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. -*/ -#define mibspiPARRAM5 (*(volatile uint32 *)(0xFF0A0000U + 0x00000400U)) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_mibspi.h +* @brief MIBSPI Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the MIBSPI driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_MIBSPI_H__ +#define __REG_MIBSPI_H__ + +#include "sys_common.h" +#include "reg_gio.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Mibspi Register Frame Definition */ +/** @struct mibspiBase +* @brief MIBSPI Register Definition +* +* This structure is used to access the MIBSPI module registers. +*/ +/** @typedef mibspiBASE_t +* @brief MIBSPI Register Frame Type Definition +* +* This type is used to access the MIBSPI Registers. +*/ +typedef volatile struct mibspiBase +{ + uint32 GCR0; /**< 0x0000: Global Control 0 */ + uint32 GCR1; /**< 0x0004: Global Control 1 */ + uint32 INT0; /**< 0x0008: Interrupt Register */ + uint32 LVL; /**< 0x000C: Interrupt Level */ + uint32 FLG; /**< 0x0010: Interrupt flags */ + uint32 PC0; /**< 0x0014: Function Pin Enable */ + uint32 PC1; /**< 0x0018: Pin Direction */ + uint32 PC2; /**< 0x001C: Pin Input Latch */ + uint32 PC3; /**< 0x0020: Pin Output Latch */ + uint32 PC4; /**< 0x0024: Output Pin Set */ + uint32 PC5; /**< 0x0028: Output Pin Clr */ + uint32 PC6; /**< 0x002C: Open Drain Output Enable */ + uint32 PC7; /**< 0x0030: Pullup/Pulldown Disable */ + uint32 PC8; /**< 0x0034: Pullup/Pulldown Selection */ + uint32 DAT0; /**< 0x0038: Transmit Data */ + uint32 DAT1; /**< 0x003C: Transmit Data with Format and Chip Select */ + uint32 BUF; /**< 0x0040: Receive Buffer */ + uint32 EMU; /**< 0x0044: Emulation Receive Buffer */ + uint32 DELAY; /**< 0x0048: Delays */ + uint32 DEF; /**< 0x004C: Default Chip Select */ + uint32 FMT0; /**< 0x0050: Data Format 0 */ + uint32 FMT1; /**< 0x0054: Data Format 1 */ + uint32 FMT2; /**< 0x0058: Data Format 2 */ + uint32 FMT3; /**< 0x005C: Data Format 3 */ + uint32 INTVECT0; /**< 0x0060: Interrupt Vector 0 */ + uint32 INTVECT1; /**< 0x0064: Interrupt Vector 1 */ + uint32 SRSEL; /**< 0x0068: Slew Rate Select */ + uint32 PMCTRL; /**< 0x006C: Parallel Mode Control */ + uint32 MIBSPIE; /**< 0x0070: Multi-buffer Mode Enable */ + uint32 TGITENST; /**< 0x0074: TG Interrupt Enable Set */ + uint32 TGITENCR; /**< 0x0078: TG Interrupt Enable Clear */ + uint32 TGITLVST; /**< 0x007C: Transfer Group Interrupt Level Set */ + uint32 TGITLVCR; /**< 0x0080: Transfer Group Interrupt Level Clear */ + uint32 TGINTFLG; /**< 0x0084: Transfer Group Interrupt Flag */ + uint32 rsvd1[2U]; /**< 0x0088: Reserved */ + uint32 TICKCNT; /**< 0x0090: Tick Counter */ + uint32 LTGPEND; /**< 0x0090: Last TG End Pointer */ + uint32 TGCTRL[16U]; /**< 0x0098 - 0x00D4: Transfer Group Control */ + uint32 DMACTRL[8U]; /**< 0x00D8 - 0x00F4: DMA Control */ + uint32 DMACOUNT[8U]; /**< 0x00F8 - 0x0114: DMA Count */ + uint32 DMACNTLEN; /**< 0x0118 - 0x0114: DMA Control length */ + uint32 rsvd2; /**< 0x011C: Reserved */ + uint32 UERRCTRL; /**< 0x0120: Multi-buffer RAM Uncorrectable Parity Error Control */ + uint32 UERRSTAT; /**< 0x0124: Multi-buffer RAM Uncorrectable Parity Error Status */ + uint32 UERRADDRRX; /**< 0x0128: RXRAM Uncorrectable Parity Error Address */ + uint32 UERRADDRTX; /**< 0x012C: TXRAM Uncorrectable Parity Error Address */ + uint32 RXOVRN_BUF_ADDR; /**< 0x0130: RXRAM Overrun Buffer Address */ + uint32 IOLPKTSTCR; /**< 0x0134: IO loopback */ + uint32 EXT_PRESCALE1; /**< 0x0138: */ + uint32 EXT_PRESCALE2; /**< 0x013C: */ +} mibspiBASE_t; + + +/** @def mibspiREG1 +* @brief MIBSPI1 Register Frame Pointer +* +* This pointer is used by the MIBSPI driver to access the mibspi module registers. +*/ +#define mibspiREG1 ((mibspiBASE_t *)0xFFF7F400U) + + +/** @def mibspiPORT1 +* @brief MIBSPI1 GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of MIBSPI1 +* (use the GIO drivers to access the port pins). +*/ +#define mibspiPORT1 ((gioPORT_t *)0xFFF7F418U) + +/** @def mibspiREG3 +* @brief MIBSPI3 Register Frame Pointer +* +* This pointer is used by the MIBSPI driver to access the mibspi module registers. +*/ +#define mibspiREG3 ((mibspiBASE_t *)0xFFF7F800U) + + +/** @def mibspiPORT3 +* @brief MIBSPI3 GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of MIBSPI3 +* (use the GIO drivers to access the port pins). +*/ +#define mibspiPORT3 ((gioPORT_t *)0xFFF7F818U) + +/** @def mibspiREG5 +* @brief MIBSPI5 Register Frame Pointer +* +* This pointer is used by the MIBSPI driver to access the mibspi module registers. +*/ +#define mibspiREG5 ((mibspiBASE_t *)0xFFF7FC00U) + + +/** @def mibspiPORT5 +* @brief MIBSPI5 GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of MIBSPI5 +* (use the GIO drivers to access the port pins). +*/ +#define mibspiPORT5 ((gioPORT_t *)0xFFF7FC18U) + + +/** @struct mibspiRamBase +* @brief MIBSPI Buffer RAM Definition +* +* This structure is used to access the MIBSPI buffer memory. +*/ +/** @typedef mibspiRAM_t +* @brief MIBSPI RAM Type Definition +* +* This type is used to access the MIBSPI RAM. +*/ +typedef volatile struct mibspiRamBase +{ + struct + { +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + uint16 data; /**< tx buffer data */ + uint16 control; /**< tx buffer control */ +#else + uint16 control; /**< tx buffer control */ + uint16 data; /**< tx buffer data */ +#endif + } tx[128]; + struct + { +#if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1)) + uint16 data; /**< rx buffer data */ + uint16 flags; /**< rx buffer flags */ +#else + uint16 flags; /**< rx buffer flags */ + uint16 data; /**< rx buffer data */ +#endif + } rx[128]; +} mibspiRAM_t; + + +/** @def mibspiRAM1 +* @brief MIBSPI1 Buffer RAM Pointer +* +* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. +*/ +#define mibspiRAM1 ((mibspiRAM_t *)0xFF0E0000U) + +/** @def mibspiRAM3 +* @brief MIBSPI3 Buffer RAM Pointer +* +* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. +*/ +#define mibspiRAM3 ((mibspiRAM_t *)0xFF0C0000U) + +/** @def mibspiRAM5 +* @brief MIBSPI5 Buffer RAM Pointer +* +* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. +*/ +#define mibspiRAM5 ((mibspiRAM_t *)0xFF0A0000U) + +/** @def mibspiPARRAM1 +* @brief MIBSPI1 Buffer RAM PARITY Pointer +* +* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. +*/ +#define mibspiPARRAM1 (*(volatile uint32 *)(0xFF0E0000U + 0x00000400U)) + +/** @def mibspiPARRAM3 +* @brief MIBSPI3 Buffer RAM PARITY Pointer +* +* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. +*/ +#define mibspiPARRAM3 (*(volatile uint32 *)(0xFF0C0000U + 0x00000400U)) + + +/** @def mibspiPARRAM5 +* @brief MIBSPI5 Buffer RAM PARITY Pointer +* +* This pointer is used by the MIBSPI driver to access the mibspi buffer memory. +*/ +#define mibspiPARRAM5 (*(volatile uint32 *)(0xFF0A0000U + 0x00000400U)) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pbist.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pbist.h index 636e9397..705ae66b 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pbist.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pbist.h @@ -1,98 +1,98 @@ -/** @file reg_pbist.h -* @brief PBIST Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_PBIST_H__ -#define __REG_PBIST_H__ - -#include "sys_common.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* PBIST Register Frame Definition */ -/** @struct pbistBase -* @brief PBIST Base Register Definition -* -* This structure is used to access the PBIST module registers. -*/ -/** @typedef pbistBASE_t -* @brief PBIST Register Frame Type Definition -* -* This type is used to access the PBIST Registers. -*/ -typedef volatile struct pbistBase -{ - uint32 RAMT; /* 0x0160: RAM Configuration Register */ - uint32 DLR; /* 0x0164: Datalogger Register */ - uint32 rsvd1[6U]; /* 0x0168 */ - uint32 PACT; /* 0x0180: PBIST Activate Register */ - uint32 PBISTID; /* 0x0184: PBIST ID Register */ - uint32 OVER; /* 0x0188: Override Register */ - uint32 rsvd2; /* 0x018C */ - uint32 FSRF0; /* 0x0190: Fail Status Fail Register 0 */ - uint32 rsvd5; /* 0x0194 */ - uint32 FSRC0; /* 0x0198: Fail Status Count Register 0 */ - uint32 FSRC1; /* 0x019C: Fail Status Count Register 1 */ - uint32 FSRA0; /* 0x01A0: Fail Status Address 0 Register */ - uint32 FSRA1; /* 0x01A4: Fail Status Address 1 Register */ - uint32 FSRDL0; /* 0x01A8: Fail Status Data Register 0 */ - uint32 rsvd3; /* 0x01AC */ - uint32 FSRDL1; /* 0x01B0: Fail Status Data Register 1 */ - uint32 rsvd4[3U]; /* 0x01B4 */ - uint32 ROM; /* 0x01C0: ROM Mask Register */ - uint32 ALGO; /* 0x01C4: Algorithm Mask Register */ - uint32 RINFOL; /* 0x01C8: RAM Info Mask Lower Register */ - uint32 RINFOU; /* 0x01CC: RAM Info Mask Upper Register */ -} pbistBASE_t; - -#define pbistREG ((pbistBASE_t *)0xFFFFE560U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_pbist.h +* @brief PBIST Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_PBIST_H__ +#define __REG_PBIST_H__ + +#include "sys_common.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* PBIST Register Frame Definition */ +/** @struct pbistBase +* @brief PBIST Base Register Definition +* +* This structure is used to access the PBIST module registers. +*/ +/** @typedef pbistBASE_t +* @brief PBIST Register Frame Type Definition +* +* This type is used to access the PBIST Registers. +*/ +typedef volatile struct pbistBase +{ + uint32 RAMT; /* 0x0160: RAM Configuration Register */ + uint32 DLR; /* 0x0164: Datalogger Register */ + uint32 rsvd1[6U]; /* 0x0168 */ + uint32 PACT; /* 0x0180: PBIST Activate Register */ + uint32 PBISTID; /* 0x0184: PBIST ID Register */ + uint32 OVER; /* 0x0188: Override Register */ + uint32 rsvd2; /* 0x018C */ + uint32 FSRF0; /* 0x0190: Fail Status Fail Register 0 */ + uint32 rsvd5; /* 0x0194 */ + uint32 FSRC0; /* 0x0198: Fail Status Count Register 0 */ + uint32 FSRC1; /* 0x019C: Fail Status Count Register 1 */ + uint32 FSRA0; /* 0x01A0: Fail Status Address 0 Register */ + uint32 FSRA1; /* 0x01A4: Fail Status Address 1 Register */ + uint32 FSRDL0; /* 0x01A8: Fail Status Data Register 0 */ + uint32 rsvd3; /* 0x01AC */ + uint32 FSRDL1; /* 0x01B0: Fail Status Data Register 1 */ + uint32 rsvd4[3U]; /* 0x01B4 */ + uint32 ROM; /* 0x01C0: ROM Mask Register */ + uint32 ALGO; /* 0x01C4: Algorithm Mask Register */ + uint32 RINFOL; /* 0x01C8: RAM Info Mask Lower Register */ + uint32 RINFOU; /* 0x01CC: RAM Info Mask Upper Register */ +} pbistBASE_t; + +#define pbistREG ((pbistBASE_t *)0xFFFFE560U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pcr.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pcr.h index f3d6f6b4..249f28cc 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pcr.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pcr.h @@ -1,113 +1,113 @@ -/** @file reg_pcr.h -* @brief PCR Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_PCR_H__ -#define __REG_PCR_H__ - -#include "sys_common.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Pcr Register Frame Definition */ -/** @struct pcrBase -* @brief Pcr Register Frame Definition -* -* This type is used to access the Pcr Registers. -*/ -/** @typedef pcrBASE_t -* @brief PCR Register Frame Type Definition -* -* This type is used to access the PCR Registers. -*/ -typedef volatile struct pcrBase -{ - uint32 PMPROTSET0; /* 0x0000 */ - uint32 PMPROTSET1; /* 0x0004 */ - uint32 rsvd1[2U]; /* 0x0008 */ - uint32 PMPROTCLR0; /* 0x0010 */ - uint32 PMPROTCLR1; /* 0x0014 */ - uint32 rsvd2[2U]; /* 0x0018 */ - uint32 PPROTSET0; /* 0x0020 */ - uint32 PPROTSET1; /* 0x0024 */ - uint32 PPROTSET2; /* 0x0028 */ - uint32 PPROTSET3; /* 0x002C */ - uint32 rsvd3[4U]; /* 0x0030 */ - uint32 PPROTCLR0; /* 0x0040 */ - uint32 PPROTCLR1; /* 0x0044 */ - uint32 PPROTCLR2; /* 0x0048 */ - uint32 PPROTCLR3; /* 0x004C */ - uint32 rsvd4[4U]; /* 0x0050 */ - uint32 PCSPWRDWNSET0; /* 0x0060 */ - uint32 PCSPWRDWNSET1; /* 0x0064 */ - uint32 rsvd5[2U]; /* 0x0068 */ - uint32 PCSPWRDWNCLR0; /* 0x0070 */ - uint32 PCSPWRDWNCLR1; /* 0x0074 */ - uint32 rsvd6[2U]; /* 0x0078 */ - uint32 PSPWRDWNSET0; /* 0x0080 */ - uint32 PSPWRDWNSET1; /* 0x0084 */ - uint32 PSPWRDWNSET2; /* 0x0088 */ - uint32 PSPWRDWNSET3; /* 0x008C */ - uint32 rsvd7[4U]; /* 0x0090 */ - uint32 PSPWRDWNCLR0; /* 0x00A0 */ - uint32 PSPWRDWNCLR1; /* 0x00A4 */ - uint32 PSPWRDWNCLR2; /* 0x00A8 */ - uint32 PSPWRDWNCLR3; /* 0x00AC */ -} pcrBASE_t; - -/** @def pcrREG -* @brief Pcr Register Frame Pointer -* -* This pointer is used by the system driver to access the Pcr registers. -*/ -#define pcrREG ((pcrBASE_t *)0xFFFFE000U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_pcr.h +* @brief PCR Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_PCR_H__ +#define __REG_PCR_H__ + +#include "sys_common.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Pcr Register Frame Definition */ +/** @struct pcrBase +* @brief Pcr Register Frame Definition +* +* This type is used to access the Pcr Registers. +*/ +/** @typedef pcrBASE_t +* @brief PCR Register Frame Type Definition +* +* This type is used to access the PCR Registers. +*/ +typedef volatile struct pcrBase +{ + uint32 PMPROTSET0; /* 0x0000 */ + uint32 PMPROTSET1; /* 0x0004 */ + uint32 rsvd1[2U]; /* 0x0008 */ + uint32 PMPROTCLR0; /* 0x0010 */ + uint32 PMPROTCLR1; /* 0x0014 */ + uint32 rsvd2[2U]; /* 0x0018 */ + uint32 PPROTSET0; /* 0x0020 */ + uint32 PPROTSET1; /* 0x0024 */ + uint32 PPROTSET2; /* 0x0028 */ + uint32 PPROTSET3; /* 0x002C */ + uint32 rsvd3[4U]; /* 0x0030 */ + uint32 PPROTCLR0; /* 0x0040 */ + uint32 PPROTCLR1; /* 0x0044 */ + uint32 PPROTCLR2; /* 0x0048 */ + uint32 PPROTCLR3; /* 0x004C */ + uint32 rsvd4[4U]; /* 0x0050 */ + uint32 PCSPWRDWNSET0; /* 0x0060 */ + uint32 PCSPWRDWNSET1; /* 0x0064 */ + uint32 rsvd5[2U]; /* 0x0068 */ + uint32 PCSPWRDWNCLR0; /* 0x0070 */ + uint32 PCSPWRDWNCLR1; /* 0x0074 */ + uint32 rsvd6[2U]; /* 0x0078 */ + uint32 PSPWRDWNSET0; /* 0x0080 */ + uint32 PSPWRDWNSET1; /* 0x0084 */ + uint32 PSPWRDWNSET2; /* 0x0088 */ + uint32 PSPWRDWNSET3; /* 0x008C */ + uint32 rsvd7[4U]; /* 0x0090 */ + uint32 PSPWRDWNCLR0; /* 0x00A0 */ + uint32 PSPWRDWNCLR1; /* 0x00A4 */ + uint32 PSPWRDWNCLR2; /* 0x00A8 */ + uint32 PSPWRDWNCLR3; /* 0x00AC */ +} pcrBASE_t; + +/** @def pcrREG +* @brief Pcr Register Frame Pointer +* +* This pointer is used by the system driver to access the Pcr registers. +*/ +#define pcrREG ((pcrBASE_t *)0xFFFFE000U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pinmux.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pinmux.h index fe94e61b..d234bf81 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pinmux.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pinmux.h @@ -1,179 +1,179 @@ -/** @file reg_pinmux.h -* @brief PINMUX Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the PINMUX driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_PINMUX_H__ -#define __REG_PINMUX_H__ - -#include "sys_common.h" - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* IOMM Revision and Boot Register */ -#define REVISION_REG (*(volatile uint32 *)0xFFFFEA00U) -#define ENDIAN_REG (*(volatile uint32 *)0xFFFFEA20U) - -/* IOMM Error and Fault Registers */ -/** @struct iommErrFault -* @brief IOMM Error and Fault Register Definition -* -* This structure is used to access the IOMM Error and Fault registers. -*/ -typedef volatile struct iommErrFault -{ - uint32 ERR_RAW_STATUS_REG; /* Error Raw Status / Set Register */ - uint32 ERR_ENABLED_STATUS_REG; /* Error Enabled Status / Clear Register */ - uint32 ERR_ENABLE_REG; /* Error Signaling Enable Register */ - uint32 ERR_ENABLE_CLR_REG; /* Error Signaling Enable Clear Register */ - uint32 rsvd; /* Reserved */ - uint32 FAULT_ADDRESS_REG; /* Fault Address Register */ - uint32 FAULT_STATUS_REG; /* Fault Status Register */ - uint32 FAULT_CLEAR_REG; /* Fault Clear Register */ -} iommErrFault_t; -/* Pinmux Register Frame Definition */ -/** @struct pinMuxKicker -* @brief Pin Muxing Kicker Register Definition -* -* This structure is used to access the Pin Muxing Kicker registers. -*/ -typedef volatile struct pinMuxKicker -{ - uint32 KICKER0; /* kicker 0 register */ - uint32 KICKER1; /* kicker 1 register */ -} pinMuxKICKER_t; - -/** @struct pinMuxBase -* @brief PINMUX Register Definition -* -* This structure is used to access the PINMUX module egisters. -*/ -/** @typedef pinMuxBASE_t -* @brief PINMUX Register Frame Type Definition -* -* This type is used to access the PINMUX Registers. -*/ -typedef volatile struct pinMuxBase -{ - uint32 PINMMR0; /**< 0xEB10 Pin Mux 0 register*/ - uint32 PINMMR1; /**< 0xEB14 Pin Mux 1 register*/ - uint32 PINMMR2; /**< 0xEB18 Pin Mux 2 register*/ - uint32 PINMMR3; /**< 0xEB1C Pin Mux 3 register*/ - uint32 PINMMR4; /**< 0xEB20 Pin Mux 4 register*/ - uint32 PINMMR5; /**< 0xEB24 Pin Mux 5 register*/ - uint32 PINMMR6; /**< 0xEB28 Pin Mux 6 register*/ - uint32 PINMMR7; /**< 0xEB2C Pin Mux 7 register*/ - uint32 PINMMR8; /**< 0xEB30 Pin Mux 8 register*/ - uint32 PINMMR9; /**< 0xEB34 Pin Mux 9 register*/ - uint32 PINMMR10; /**< 0xEB38 Pin Mux 10 register*/ - uint32 PINMMR11; /**< 0xEB3C Pin Mux 11 register*/ - uint32 PINMMR12; /**< 0xEB40 Pin Mux 12 register*/ - uint32 PINMMR13; /**< 0xEB44 Pin Mux 13 register*/ - uint32 PINMMR14; /**< 0xEB48 Pin Mux 14 register*/ - uint32 PINMMR15; /**< 0xEB4C Pin Mux 15 register*/ - uint32 PINMMR16; /**< 0xEB50 Pin Mux 16 register*/ - uint32 PINMMR17; /**< 0xEB54 Pin Mux 17 register*/ - uint32 PINMMR18; /**< 0xEB58 Pin Mux 18 register*/ - uint32 PINMMR19; /**< 0xEB5C Pin Mux 19 register*/ - uint32 PINMMR20; /**< 0xEB60 Pin Mux 20 register*/ - uint32 PINMMR21; /**< 0xEB64 Pin Mux 21 register*/ - uint32 PINMMR22; /**< 0xEB68 Pin Mux 22 register*/ - uint32 PINMMR23; /**< 0xEB6C Pin Mux 23 register*/ - uint32 PINMMR24; /**< 0xEB70 Pin Mux 24 register*/ - uint32 PINMMR25; /**< 0xEB74 Pin Mux 25 register*/ - uint32 PINMMR26; /**< 0xEB78 Pin Mux 26 register*/ - uint32 PINMMR27; /**< 0xEB7C Pin Mux 27 register*/ - uint32 PINMMR28; /**< 0xEB80 Pin Mux 28 register*/ - uint32 PINMMR29; /**< 0xEB84 Pin Mux 29 register*/ - uint32 PINMMR30; /**< 0xEB88 Pin Mux 30 register*/ - uint32 PINMMR31; /**< 0xEB8C Pin Mux 31 register*/ - uint32 PINMMR32; /**< 0xEB90 Pin Mux 32 register*/ - uint32 PINMMR33; /**< 0xEB94 Pin Mux 33 register*/ - uint32 PINMMR34; /**< 0xEB98 Pin Mux 34 register*/ - uint32 PINMMR35; /**< 0xEB9C Pin Mux 35 register*/ - uint32 PINMMR36; /**< 0xEBA0 Pin Mux 36 register*/ - uint32 PINMMR37; /**< 0xEBA4 Pin Mux 37 register*/ - uint32 PINMMR38; /**< 0xEBA8 Pin Mux 38 register*/ - uint32 PINMMR39; /**< 0xEBAC Pin Mux 39 register*/ - uint32 PINMMR40; /**< 0xEBB0 Pin Mux 40 register*/ - uint32 PINMMR41; /**< 0xEBB4 Pin Mux 41 register*/ - uint32 PINMMR42; /**< 0xEBB8 Pin Mux 42 register*/ - uint32 PINMMR43; /**< 0xEBBC Pin Mux 43 register*/ - uint32 PINMMR44; /**< 0xEBC0 Pin Mux 44 register*/ - uint32 PINMMR45; /**< 0xEBC4 Pin Mux 45 register*/ - uint32 PINMMR46; /**< 0xEBC8 Pin Mux 46 register*/ - uint32 PINMMR47; /**< 0xEBCC Pin Mux 47 register*/ -}pinMuxBASE_t; - - -/** @def iommErrFaultReg -* @brief IOMM Error Fault Register Frame Pointer -* -* This pointer is used to control IOMM Error and Fault across the device. -*/ -#define iommErrFaultReg ((iommErrFault_t *) 0xFFFFEAE0U) - -/** @def kickerReg -* @brief Pin Muxing Kicker Register Frame Pointer -* -* This pointer is used to enable and disable muxing accross the device. -*/ -#define kickerReg ((pinMuxKICKER_t *) 0xFFFFEA38U) - -/** @def pinMuxReg -* @brief Pin Muxing Control Register Frame Pointer -* -* This pointer is used to set the muxing registers accross the device. -*/ -#define pinMuxReg ((pinMuxBASE_t *) 0xFFFFEB10U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_pinmux.h +* @brief PINMUX Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the PINMUX driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_PINMUX_H__ +#define __REG_PINMUX_H__ + +#include "sys_common.h" + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* IOMM Revision and Boot Register */ +#define REVISION_REG (*(volatile uint32 *)0xFFFFEA00U) +#define ENDIAN_REG (*(volatile uint32 *)0xFFFFEA20U) + +/* IOMM Error and Fault Registers */ +/** @struct iommErrFault +* @brief IOMM Error and Fault Register Definition +* +* This structure is used to access the IOMM Error and Fault registers. +*/ +typedef volatile struct iommErrFault +{ + uint32 ERR_RAW_STATUS_REG; /* Error Raw Status / Set Register */ + uint32 ERR_ENABLED_STATUS_REG; /* Error Enabled Status / Clear Register */ + uint32 ERR_ENABLE_REG; /* Error Signaling Enable Register */ + uint32 ERR_ENABLE_CLR_REG; /* Error Signaling Enable Clear Register */ + uint32 rsvd; /* Reserved */ + uint32 FAULT_ADDRESS_REG; /* Fault Address Register */ + uint32 FAULT_STATUS_REG; /* Fault Status Register */ + uint32 FAULT_CLEAR_REG; /* Fault Clear Register */ +} iommErrFault_t; +/* Pinmux Register Frame Definition */ +/** @struct pinMuxKicker +* @brief Pin Muxing Kicker Register Definition +* +* This structure is used to access the Pin Muxing Kicker registers. +*/ +typedef volatile struct pinMuxKicker +{ + uint32 KICKER0; /* kicker 0 register */ + uint32 KICKER1; /* kicker 1 register */ +} pinMuxKICKER_t; + +/** @struct pinMuxBase +* @brief PINMUX Register Definition +* +* This structure is used to access the PINMUX module egisters. +*/ +/** @typedef pinMuxBASE_t +* @brief PINMUX Register Frame Type Definition +* +* This type is used to access the PINMUX Registers. +*/ +typedef volatile struct pinMuxBase +{ + uint32 PINMMR0; /**< 0xEB10 Pin Mux 0 register*/ + uint32 PINMMR1; /**< 0xEB14 Pin Mux 1 register*/ + uint32 PINMMR2; /**< 0xEB18 Pin Mux 2 register*/ + uint32 PINMMR3; /**< 0xEB1C Pin Mux 3 register*/ + uint32 PINMMR4; /**< 0xEB20 Pin Mux 4 register*/ + uint32 PINMMR5; /**< 0xEB24 Pin Mux 5 register*/ + uint32 PINMMR6; /**< 0xEB28 Pin Mux 6 register*/ + uint32 PINMMR7; /**< 0xEB2C Pin Mux 7 register*/ + uint32 PINMMR8; /**< 0xEB30 Pin Mux 8 register*/ + uint32 PINMMR9; /**< 0xEB34 Pin Mux 9 register*/ + uint32 PINMMR10; /**< 0xEB38 Pin Mux 10 register*/ + uint32 PINMMR11; /**< 0xEB3C Pin Mux 11 register*/ + uint32 PINMMR12; /**< 0xEB40 Pin Mux 12 register*/ + uint32 PINMMR13; /**< 0xEB44 Pin Mux 13 register*/ + uint32 PINMMR14; /**< 0xEB48 Pin Mux 14 register*/ + uint32 PINMMR15; /**< 0xEB4C Pin Mux 15 register*/ + uint32 PINMMR16; /**< 0xEB50 Pin Mux 16 register*/ + uint32 PINMMR17; /**< 0xEB54 Pin Mux 17 register*/ + uint32 PINMMR18; /**< 0xEB58 Pin Mux 18 register*/ + uint32 PINMMR19; /**< 0xEB5C Pin Mux 19 register*/ + uint32 PINMMR20; /**< 0xEB60 Pin Mux 20 register*/ + uint32 PINMMR21; /**< 0xEB64 Pin Mux 21 register*/ + uint32 PINMMR22; /**< 0xEB68 Pin Mux 22 register*/ + uint32 PINMMR23; /**< 0xEB6C Pin Mux 23 register*/ + uint32 PINMMR24; /**< 0xEB70 Pin Mux 24 register*/ + uint32 PINMMR25; /**< 0xEB74 Pin Mux 25 register*/ + uint32 PINMMR26; /**< 0xEB78 Pin Mux 26 register*/ + uint32 PINMMR27; /**< 0xEB7C Pin Mux 27 register*/ + uint32 PINMMR28; /**< 0xEB80 Pin Mux 28 register*/ + uint32 PINMMR29; /**< 0xEB84 Pin Mux 29 register*/ + uint32 PINMMR30; /**< 0xEB88 Pin Mux 30 register*/ + uint32 PINMMR31; /**< 0xEB8C Pin Mux 31 register*/ + uint32 PINMMR32; /**< 0xEB90 Pin Mux 32 register*/ + uint32 PINMMR33; /**< 0xEB94 Pin Mux 33 register*/ + uint32 PINMMR34; /**< 0xEB98 Pin Mux 34 register*/ + uint32 PINMMR35; /**< 0xEB9C Pin Mux 35 register*/ + uint32 PINMMR36; /**< 0xEBA0 Pin Mux 36 register*/ + uint32 PINMMR37; /**< 0xEBA4 Pin Mux 37 register*/ + uint32 PINMMR38; /**< 0xEBA8 Pin Mux 38 register*/ + uint32 PINMMR39; /**< 0xEBAC Pin Mux 39 register*/ + uint32 PINMMR40; /**< 0xEBB0 Pin Mux 40 register*/ + uint32 PINMMR41; /**< 0xEBB4 Pin Mux 41 register*/ + uint32 PINMMR42; /**< 0xEBB8 Pin Mux 42 register*/ + uint32 PINMMR43; /**< 0xEBBC Pin Mux 43 register*/ + uint32 PINMMR44; /**< 0xEBC0 Pin Mux 44 register*/ + uint32 PINMMR45; /**< 0xEBC4 Pin Mux 45 register*/ + uint32 PINMMR46; /**< 0xEBC8 Pin Mux 46 register*/ + uint32 PINMMR47; /**< 0xEBCC Pin Mux 47 register*/ +}pinMuxBASE_t; + + +/** @def iommErrFaultReg +* @brief IOMM Error Fault Register Frame Pointer +* +* This pointer is used to control IOMM Error and Fault across the device. +*/ +#define iommErrFaultReg ((iommErrFault_t *) 0xFFFFEAE0U) + +/** @def kickerReg +* @brief Pin Muxing Kicker Register Frame Pointer +* +* This pointer is used to enable and disable muxing accross the device. +*/ +#define kickerReg ((pinMuxKICKER_t *) 0xFFFFEA38U) + +/** @def pinMuxReg +* @brief Pin Muxing Control Register Frame Pointer +* +* This pointer is used to set the muxing registers accross the device. +*/ +#define pinMuxReg ((pinMuxBASE_t *) 0xFFFFEB10U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pmm.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pmm.h index 37e6ac38..7c9edcb4 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pmm.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_pmm.h @@ -1,111 +1,111 @@ -/** @file reg_pmm.h -* @brief PMM Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the PMM driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_PMM_H__ -#define __REG_PMM_H__ - -#include "sys_common.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Pmm Register Frame Definition */ -/** @struct pmmBase -* @brief Pmm Register Frame Definition -* -* This type is used to access the Pmm Registers. -*/ -/** @typedef pmmBase_t -* @brief Pmm Register Frame Type Definition -* -* This type is used to access the Pmm Registers. -*/ -typedef volatile struct pmmBase -{ - uint32 LOGICPDPWRCTRL0; /**< 0x0000: Logic Power Domain Control Register 0 */ - uint32 rsvd1[3U]; /**< 0x0004: Reserved*/ - uint32 MEMPDPWRCTRL0; /**< 0x0010: Memory Power Domain Control Register 0 */ - uint32 rsvd2[3U]; /**< 0x0014: Reserved*/ - uint32 PDCLKDISREG; /**< 0x0020: Power Domain Clock Disable Register */ - uint32 PDCLKDISSETREG; /**< 0x0024: Power Domain Clock Disable Set Register */ - uint32 PDCLKDISCLRREG; /**< 0x0028: Power Domain Clock Disable Clear Register */ - uint32 rsvd3[5U]; /**< 0x002C: Reserved */ - uint32 LOGICPDPWRSTAT[4U]; /**< 0x0040, 0x0044, 0x0048, 0x004C: Logic Power Domain Power Status Register - - 0: PD2 - - 1: PD3 - - 2: PD4 - - 3: PD5 */ - uint32 rsvd4[12U]; /**< 0x0050: Reserved*/ - uint32 MEMPDPWRSTAT[3U]; /**< 0x0080, 0x0084, 0x0088: Memory Power Domain Power Status Register - - 0: RAM_PD1 - - 1: RAM_PD2 - - 2: RAM_PD3 */ - uint32 rsvd5[5U]; /**< 0x008C: Reserved */ - uint32 GLOBALCTRL1; /**< 0x00A0: Global Control Register 1 */ - uint32 rsvd6; /**< 0x00A4: Reserved */ - uint32 GLOBALSTAT; /**< 0x00A8: Global Status Register */ - uint32 PRCKEYREG; /**< 0x00AC: PSCON Diagnostic Compare Key Register */ - uint32 LPDDCSTAT1; /**< 0x00B0: LogicPD PSCON Diagnostic Compare Status Register 1 */ - uint32 LPDDCSTAT2; /**< 0x00B4: LogicPD PSCON Diagnostic Compare Status Register 2 */ - uint32 MPDDCSTAT1; /**< 0x00B8: Memory PD PSCON Diagnostic Compare Status Register 1 */ - uint32 MPDDCSTAT2; /**< 0x00BC: Memory PD PSCON Diagnostic Compare Status Register 2 */ - uint32 ISODIAGSTAT; /**< 0x00C0: Isolation Diagnostic Status Register */ -}pmmBase_t; - - -/** @def pmmREG -* @brief Pmm Register Frame Pointer -* -* This pointer is used by the Pmm driver to access the Pmm registers. -*/ -#define pmmREG ((pmmBase_t *)0xFFFF0000U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_pmm.h +* @brief PMM Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the PMM driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_PMM_H__ +#define __REG_PMM_H__ + +#include "sys_common.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Pmm Register Frame Definition */ +/** @struct pmmBase +* @brief Pmm Register Frame Definition +* +* This type is used to access the Pmm Registers. +*/ +/** @typedef pmmBase_t +* @brief Pmm Register Frame Type Definition +* +* This type is used to access the Pmm Registers. +*/ +typedef volatile struct pmmBase +{ + uint32 LOGICPDPWRCTRL0; /**< 0x0000: Logic Power Domain Control Register 0 */ + uint32 rsvd1[3U]; /**< 0x0004: Reserved*/ + uint32 MEMPDPWRCTRL0; /**< 0x0010: Memory Power Domain Control Register 0 */ + uint32 rsvd2[3U]; /**< 0x0014: Reserved*/ + uint32 PDCLKDISREG; /**< 0x0020: Power Domain Clock Disable Register */ + uint32 PDCLKDISSETREG; /**< 0x0024: Power Domain Clock Disable Set Register */ + uint32 PDCLKDISCLRREG; /**< 0x0028: Power Domain Clock Disable Clear Register */ + uint32 rsvd3[5U]; /**< 0x002C: Reserved */ + uint32 LOGICPDPWRSTAT[4U]; /**< 0x0040, 0x0044, 0x0048, 0x004C: Logic Power Domain Power Status Register + - 0: PD2 + - 1: PD3 + - 2: PD4 + - 3: PD5 */ + uint32 rsvd4[12U]; /**< 0x0050: Reserved*/ + uint32 MEMPDPWRSTAT[3U]; /**< 0x0080, 0x0084, 0x0088: Memory Power Domain Power Status Register + - 0: RAM_PD1 + - 1: RAM_PD2 + - 2: RAM_PD3 */ + uint32 rsvd5[5U]; /**< 0x008C: Reserved */ + uint32 GLOBALCTRL1; /**< 0x00A0: Global Control Register 1 */ + uint32 rsvd6; /**< 0x00A4: Reserved */ + uint32 GLOBALSTAT; /**< 0x00A8: Global Status Register */ + uint32 PRCKEYREG; /**< 0x00AC: PSCON Diagnostic Compare Key Register */ + uint32 LPDDCSTAT1; /**< 0x00B0: LogicPD PSCON Diagnostic Compare Status Register 1 */ + uint32 LPDDCSTAT2; /**< 0x00B4: LogicPD PSCON Diagnostic Compare Status Register 2 */ + uint32 MPDDCSTAT1; /**< 0x00B8: Memory PD PSCON Diagnostic Compare Status Register 1 */ + uint32 MPDDCSTAT2; /**< 0x00BC: Memory PD PSCON Diagnostic Compare Status Register 2 */ + uint32 ISODIAGSTAT; /**< 0x00C0: Isolation Diagnostic Status Register */ +}pmmBase_t; + + +/** @def pmmREG +* @brief Pmm Register Frame Pointer +* +* This pointer is used by the Pmm driver to access the Pmm registers. +*/ +#define pmmREG ((pmmBase_t *)0xFFFF0000U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_rti.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_rti.h index 633c692d..6a696ad5 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_rti.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_rti.h @@ -1,129 +1,129 @@ -/** @file reg_rti.h -* @brief RTI Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the RTI driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_RTI_H__ -#define __REG_RTI_H__ - -#include "sys_common.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Rti Register Frame Definition */ -/** @struct rtiBase -* @brief RTI Register Frame Definition -* -* This type is used to access the RTI Registers. -*/ -/** @typedef rtiBASE_t -* @brief RTI Register Frame Type Definition -* -* This type is used to access the RTI Registers. -*/ -typedef volatile struct rtiBase -{ - uint32 GCTRL; /**< 0x0000: Global Control Register */ - uint32 TBCTRL; /**< 0x0004: Timebase Control Register */ - uint32 CAPCTRL; /**< 0x0008: Capture Control Register */ - uint32 COMPCTRL; /**< 0x000C: Compare Control Register */ - struct - { - uint32 FRCx; /**< 0x0010,0x0030: Free Running Counter x Register */ - uint32 UCx; /**< 0x0014,0x0034: Up Counter x Register */ - uint32 CPUCx; /**< 0x0018,0x0038: Compare Up Counter x Register */ - uint32 rsvd1; /**< 0x001C,0x003C: Reserved */ - uint32 CAFRCx; /**< 0x0020,0x0040: Capture Free Running Counter x Register */ - uint32 CAUCx; /**< 0x0024,0x0044: Capture Up Counter x Register */ - uint32 rsvd2[2U]; /**< 0x0028,0x0048: Reserved */ - } CNT[2U]; /**< Counter x selection: - - 0: Counter 0 - - 1: Counter 1 */ - struct - { - uint32 COMPx; /**< 0x0050,0x0058,0x0060,0x0068: Compare x Register */ - uint32 UDCPx; /**< 0x0054,0x005C,0x0064,0x006C: Update Compare x Register */ - } CMP[4U]; /**< Compare x selection: - - 0: Compare 0 - - 1: Compare 1 - - 2: Compare 2 - - 3: Compare 3 */ - uint32 TBLCOMP; /**< 0x0070: External Clock Timebase Low Compare Register */ - uint32 TBHCOMP; /**< 0x0074: External Clock Timebase High Compare Register */ - uint32 rsvd3[2U]; /**< 0x0078: Reserved */ - uint32 SETINTENA; /**< 0x0080: Set/Status Interrupt Register */ - uint32 CLEARINTENA; /**< 0x0084: Clear/Status Interrupt Register */ - uint32 INTFLAG; /**< 0x0088: Interrupt Flag Register */ - uint32 rsvd4; /**< 0x008C: Reserved */ - uint32 DWDCTRL; /**< 0x0090: Digital Watchdog Control Register */ - uint32 DWDPRLD; /**< 0x0094: Digital Watchdog Preload Register */ - uint32 WDSTATUS; /**< 0x0098: Watchdog Status Register */ - uint32 WDKEY; /**< 0x009C: Watchdog Key Register */ - uint32 DWDCNTR; /**< 0x00A0: Digital Watchdog Down Counter */ - uint32 WWDRXNCTRL; /**< 0x00A4: Digital Windowed Watchdog Reaction Control */ - uint32 WWDSIZECTRL; /**< 0x00A8: Digital Windowed Watchdog Window Size Control */ - uint32 INTCLRENABLE; /**< 0x00AC: RTI Compare Interrupt Clear Enable Register */ - uint32 COMP0CLR; /**< 0x00B0: RTI Compare 0 Clear Register */ - uint32 COMP1CLR; /**< 0x00B4: RTI Compare 1 Clear Register */ - uint32 COMP2CLR; /**< 0x00B8: RTI Compare 2 Clear Register */ - uint32 COMP3CLR; /**< 0x00BC: RTI Compare 3 Clear Register */ -} rtiBASE_t; - -/** @def rtiREG1 -* @brief RTI1 Register Frame Pointer -* -* This pointer is used by the RTI driver to access the RTI1 registers. -*/ -#define rtiREG1 ((rtiBASE_t *)0xFFFFFC00U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_rti.h +* @brief RTI Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the RTI driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_RTI_H__ +#define __REG_RTI_H__ + +#include "sys_common.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Rti Register Frame Definition */ +/** @struct rtiBase +* @brief RTI Register Frame Definition +* +* This type is used to access the RTI Registers. +*/ +/** @typedef rtiBASE_t +* @brief RTI Register Frame Type Definition +* +* This type is used to access the RTI Registers. +*/ +typedef volatile struct rtiBase +{ + uint32 GCTRL; /**< 0x0000: Global Control Register */ + uint32 TBCTRL; /**< 0x0004: Timebase Control Register */ + uint32 CAPCTRL; /**< 0x0008: Capture Control Register */ + uint32 COMPCTRL; /**< 0x000C: Compare Control Register */ + struct + { + uint32 FRCx; /**< 0x0010,0x0030: Free Running Counter x Register */ + uint32 UCx; /**< 0x0014,0x0034: Up Counter x Register */ + uint32 CPUCx; /**< 0x0018,0x0038: Compare Up Counter x Register */ + uint32 rsvd1; /**< 0x001C,0x003C: Reserved */ + uint32 CAFRCx; /**< 0x0020,0x0040: Capture Free Running Counter x Register */ + uint32 CAUCx; /**< 0x0024,0x0044: Capture Up Counter x Register */ + uint32 rsvd2[2U]; /**< 0x0028,0x0048: Reserved */ + } CNT[2U]; /**< Counter x selection: + - 0: Counter 0 + - 1: Counter 1 */ + struct + { + uint32 COMPx; /**< 0x0050,0x0058,0x0060,0x0068: Compare x Register */ + uint32 UDCPx; /**< 0x0054,0x005C,0x0064,0x006C: Update Compare x Register */ + } CMP[4U]; /**< Compare x selection: + - 0: Compare 0 + - 1: Compare 1 + - 2: Compare 2 + - 3: Compare 3 */ + uint32 TBLCOMP; /**< 0x0070: External Clock Timebase Low Compare Register */ + uint32 TBHCOMP; /**< 0x0074: External Clock Timebase High Compare Register */ + uint32 rsvd3[2U]; /**< 0x0078: Reserved */ + uint32 SETINTENA; /**< 0x0080: Set/Status Interrupt Register */ + uint32 CLEARINTENA; /**< 0x0084: Clear/Status Interrupt Register */ + uint32 INTFLAG; /**< 0x0088: Interrupt Flag Register */ + uint32 rsvd4; /**< 0x008C: Reserved */ + uint32 DWDCTRL; /**< 0x0090: Digital Watchdog Control Register */ + uint32 DWDPRLD; /**< 0x0094: Digital Watchdog Preload Register */ + uint32 WDSTATUS; /**< 0x0098: Watchdog Status Register */ + uint32 WDKEY; /**< 0x009C: Watchdog Key Register */ + uint32 DWDCNTR; /**< 0x00A0: Digital Watchdog Down Counter */ + uint32 WWDRXNCTRL; /**< 0x00A4: Digital Windowed Watchdog Reaction Control */ + uint32 WWDSIZECTRL; /**< 0x00A8: Digital Windowed Watchdog Window Size Control */ + uint32 INTCLRENABLE; /**< 0x00AC: RTI Compare Interrupt Clear Enable Register */ + uint32 COMP0CLR; /**< 0x00B0: RTI Compare 0 Clear Register */ + uint32 COMP1CLR; /**< 0x00B4: RTI Compare 1 Clear Register */ + uint32 COMP2CLR; /**< 0x00B8: RTI Compare 2 Clear Register */ + uint32 COMP3CLR; /**< 0x00BC: RTI Compare 3 Clear Register */ +} rtiBASE_t; + +/** @def rtiREG1 +* @brief RTI1 Register Frame Pointer +* +* This pointer is used by the RTI driver to access the RTI1 registers. +*/ +#define rtiREG1 ((rtiBASE_t *)0xFFFFFC00U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_sci.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_sci.h index c0b7f88b..a87e7fd5 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_sci.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_sci.h @@ -1,139 +1,139 @@ -/** @file reg_sci.h -* @brief SCI Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the SCI driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_SCI_H__ -#define __REG_SCI_H__ - -#include "sys_common.h" -#include "reg_gio.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Sci Register Frame Definition */ -/** @struct sciBase -* @brief SCI Base Register Definition -* -* This structure is used to access the SCI module registers. -*/ -/** @typedef sciBASE_t -* @brief SCI Register Frame Type Definition -* -* This type is used to access the SCI Registers. -*/ -typedef volatile struct sciBase -{ - uint32 GCR0; /**< 0x0000 Global Control Register 0 */ - uint32 GCR1; /**< 0x0004 Global Control Register 1 */ - uint32 GCR2; /**< 0x0008 Global Control Register 2. Note: Applicable only to LIN – SCI Compatibility Mode,Reserved for standalone SCI*/ - uint32 SETINT; /**< 0x000C Set Interrupt Enable Register */ - uint32 CLEARINT; /**< 0x0010 Clear Interrupt Enable Register */ - uint32 SETINTLVL; /**< 0x0014 Set Interrupt Level Register */ - uint32 CLEARINTLVL; /**< 0x0018 Set Interrupt Level Register */ - uint32 FLR; /**< 0x001C Interrupt Flag Register */ - uint32 INTVECT0; /**< 0x0020 Interrupt Vector Offset 0 */ - uint32 INTVECT1; /**< 0x0024 Interrupt Vector Offset 1 */ - uint32 FORMAT; /**< 0x0028 Format Control Register */ - uint32 BRS; /**< 0x002C Baud Rate Selection Register */ - uint32 ED; /**< 0x0030 Emulation Register */ - uint32 RD; /**< 0x0034 Receive Data Buffer */ - uint32 TD; /**< 0x0038 Transmit Data Buffer */ - uint32 PIO0; /**< 0x003C Pin Function Register */ - uint32 PIO1; /**< 0x0040 Pin Direction Register */ - uint32 PIO2; /**< 0x0044 Pin Data In Register */ - uint32 PIO3; /**< 0x0048 Pin Data Out Register */ - uint32 PIO4; /**< 0x004C Pin Data Set Register */ - uint32 PIO5; /**< 0x0050 Pin Data Clr Register */ - uint32 PIO6; /**< 0x0054: Pin Open Drain Output Enable Register */ - uint32 PIO7; /**< 0x0058: Pin Pullup/Pulldown Disable Register */ - uint32 PIO8; /**< 0x005C: Pin Pullup/Pulldown Selection Register */ - uint32 rsdv2[12U]; /**< 0x0060: Reserved */ - uint32 IODFTCTRL; /**< 0x0090: I/O Error Enable Register */ -} sciBASE_t; - - -/** @def sciREG -* @brief Register Frame Pointer -* -* This pointer is used by the SCI driver to access the sci module registers. -*/ -#define sciREG ((sciBASE_t *)0xFFF7E500U) - - -/** @def sciPORT -* @brief SCI GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of SCI -* (use the GIO drivers to access the port pins). -*/ -#define sciPORT ((gioPORT_t *)0xFFF7E540U) - - -/** @def scilinREG -* @brief SCILIN (LIN - Compatibility Mode) Register Frame Pointer -* -* This pointer is used by the SCI driver to access the sci module registers. -*/ -#define scilinREG ((sciBASE_t *)0xFFF7E400U) - - -/** @def scilinPORT -* @brief SCILIN (LIN - Compatibility Mode) Register Frame Pointer -* -* Pointer used by the GIO driver to access I/O PORT of LIN -* (use the GIO drivers to access the port pins). -*/ -#define scilinPORT ((gioPORT_t *)0xFFF7E440U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_sci.h +* @brief SCI Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the SCI driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_SCI_H__ +#define __REG_SCI_H__ + +#include "sys_common.h" +#include "reg_gio.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Sci Register Frame Definition */ +/** @struct sciBase +* @brief SCI Base Register Definition +* +* This structure is used to access the SCI module registers. +*/ +/** @typedef sciBASE_t +* @brief SCI Register Frame Type Definition +* +* This type is used to access the SCI Registers. +*/ +typedef volatile struct sciBase +{ + uint32 GCR0; /**< 0x0000 Global Control Register 0 */ + uint32 GCR1; /**< 0x0004 Global Control Register 1 */ + uint32 GCR2; /**< 0x0008 Global Control Register 2. Note: Applicable only to LIN – SCI Compatibility Mode,Reserved for standalone SCI*/ + uint32 SETINT; /**< 0x000C Set Interrupt Enable Register */ + uint32 CLEARINT; /**< 0x0010 Clear Interrupt Enable Register */ + uint32 SETINTLVL; /**< 0x0014 Set Interrupt Level Register */ + uint32 CLEARINTLVL; /**< 0x0018 Set Interrupt Level Register */ + uint32 FLR; /**< 0x001C Interrupt Flag Register */ + uint32 INTVECT0; /**< 0x0020 Interrupt Vector Offset 0 */ + uint32 INTVECT1; /**< 0x0024 Interrupt Vector Offset 1 */ + uint32 FORMAT; /**< 0x0028 Format Control Register */ + uint32 BRS; /**< 0x002C Baud Rate Selection Register */ + uint32 ED; /**< 0x0030 Emulation Register */ + uint32 RD; /**< 0x0034 Receive Data Buffer */ + uint32 TD; /**< 0x0038 Transmit Data Buffer */ + uint32 PIO0; /**< 0x003C Pin Function Register */ + uint32 PIO1; /**< 0x0040 Pin Direction Register */ + uint32 PIO2; /**< 0x0044 Pin Data In Register */ + uint32 PIO3; /**< 0x0048 Pin Data Out Register */ + uint32 PIO4; /**< 0x004C Pin Data Set Register */ + uint32 PIO5; /**< 0x0050 Pin Data Clr Register */ + uint32 PIO6; /**< 0x0054: Pin Open Drain Output Enable Register */ + uint32 PIO7; /**< 0x0058: Pin Pullup/Pulldown Disable Register */ + uint32 PIO8; /**< 0x005C: Pin Pullup/Pulldown Selection Register */ + uint32 rsdv2[12U]; /**< 0x0060: Reserved */ + uint32 IODFTCTRL; /**< 0x0090: I/O Error Enable Register */ +} sciBASE_t; + + +/** @def sciREG +* @brief Register Frame Pointer +* +* This pointer is used by the SCI driver to access the sci module registers. +*/ +#define sciREG ((sciBASE_t *)0xFFF7E500U) + + +/** @def sciPORT +* @brief SCI GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of SCI +* (use the GIO drivers to access the port pins). +*/ +#define sciPORT ((gioPORT_t *)0xFFF7E540U) + + +/** @def scilinREG +* @brief SCILIN (LIN - Compatibility Mode) Register Frame Pointer +* +* This pointer is used by the SCI driver to access the sci module registers. +*/ +#define scilinREG ((sciBASE_t *)0xFFF7E400U) + + +/** @def scilinPORT +* @brief SCILIN (LIN - Compatibility Mode) Register Frame Pointer +* +* Pointer used by the GIO driver to access I/O PORT of LIN +* (use the GIO drivers to access the port pins). +*/ +#define scilinPORT ((gioPORT_t *)0xFFF7E440U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_spi.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_spi.h index 50bd5a87..59ca2ed7 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_spi.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_spi.h @@ -1,187 +1,187 @@ -/** @file reg_spi.h -* @brief SPI Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the SPI driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_SPI_H__ -#define __REG_SPI_H__ - -#include "sys_common.h" -#include "reg_gio.h" - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Spi Register Frame Definition */ -/** @struct spiBase -* @brief SPI Register Definition -* -* This structure is used to access the SPI module registers. -*/ -/** @typedef spiBASE_t -* @brief SPI Register Frame Type Definition -* -* This type is used to access the SPI Registers. -*/ -typedef volatile struct spiBase -{ - uint32 GCR0; /**< 0x0000: Global Control 0 */ - uint32 GCR1; /**< 0x0004: Global Control 1 */ - uint32 INT0; /**< 0x0008: Interrupt Register */ - uint32 LVL; /**< 0x000C: Interrupt Level */ - uint32 FLG; /**< 0x0010: Interrupt flags */ - uint32 PC0; /**< 0x0014: Function Pin Enable */ - uint32 PC1; /**< 0x0018: Pin Direction */ - uint32 PC2; /**< 0x001C: Pin Input Latch */ - uint32 PC3; /**< 0x0020: Pin Output Latch */ - uint32 PC4; /**< 0x0024: Output Pin Set */ - uint32 PC5; /**< 0x0028: Output Pin Clr */ - uint32 PC6; /**< 0x002C: Open Drain Output Enable */ - uint32 PC7; /**< 0x0030: Pullup/Pulldown Disable */ - uint32 PC8; /**< 0x0034: Pullup/Pulldown Selection */ - uint32 DAT0; /**< 0x0038: Transmit Data */ - uint32 DAT1; /**< 0x003C: Transmit Data with Format and Chip Select */ - uint32 BUF; /**< 0x0040: Receive Buffer */ - uint32 EMU; /**< 0x0044: Emulation Receive Buffer */ - uint32 DELAY; /**< 0x0048: Delays */ - uint32 DEF; /**< 0x004C: Default Chip Select */ - uint32 FMT0; /**< 0x0050: Data Format 0 */ - uint32 FMT1; /**< 0x0054: Data Format 1 */ - uint32 FMT2; /**< 0x0058: Data Format 2 */ - uint32 FMT3; /**< 0x005C: Data Format 3 */ - uint32 INTVECT0; /**< 0x0060: Interrupt Vector 0 */ - uint32 INTVECT1; /**< 0x0064: Interrupt Vector 1 */ - uint32 RESERVED[51U]; /**< 0x0068 to 0x0130: Reserved */ - uint32 IOLPKTSTCR; /**< 0x0134: IO loopback */ -} spiBASE_t; - -/** @def spiREG1 -* @brief SPI1 (MIBSPI - Compatibility Mode) Register Frame Pointer -* -* This pointer is used by the SPI driver to access the spi module registers. -*/ -#define spiREG1 ((spiBASE_t *)0xFFF7F400U) - - -/** @def spiPORT1 -* @brief SPI1 (MIBSPI - Compatibility Mode) GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of SPI1 -* (use the GIO drivers to access the port pins). -*/ -#define spiPORT1 ((gioPORT_t *)0xFFF7F418U) - -/** @def spiREG2 -* @brief SPI2 Register Frame Pointer -* -* This pointer is used by the SPI driver to access the spi module registers. -*/ -#define spiREG2 ((spiBASE_t *)0xFFF7F600U) - - -/** @def spiPORT2 -* @brief SPI2 GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of SPI2 -* (use the GIO drivers to access the port pins). -*/ -#define spiPORT2 ((gioPORT_t *)0xFFF7F618U) - -/** @def spiREG3 -* @brief SPI3 (MIBSPI - Compatibility Mode) Register Frame Pointer -* -* This pointer is used by the SPI driver to access the spi module registers. -*/ -#define spiREG3 ((spiBASE_t *)0xFFF7F800U) - - -/** @def spiPORT3 -* @brief SPI3 (MIBSPI - Compatibility Mode) GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of SPI3 -* (use the GIO drivers to access the port pins). -*/ -#define spiPORT3 ((gioPORT_t *)0xFFF7F818U) - -/** @def spiREG4 -* @brief SPI4 Register Frame Pointer -* -* This pointer is used by the SPI driver to access the spi module registers. -*/ -#define spiREG4 ((spiBASE_t *)0xFFF7FA00U) - - -/** @def spiPORT4 -* @brief SPI4 GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of SPI4 -* (use the GIO drivers to access the port pins). -*/ -#define spiPORT4 ((gioPORT_t *)0xFFF7FA18U) - -/** @def spiREG5 -* @brief SPI5 (MIBSPI - Compatibility Mode) Register Frame Pointer -* -* This pointer is used by the SPI driver to access the spi module registers. -*/ -#define spiREG5 ((spiBASE_t *)0xFFF7FC00U) - - -/** @def spiPORT5 -* @brief SPI5 (MIBSPI - Compatibility Mode) GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of SPI5 -* (use the GIO drivers to access the port pins). -*/ -#define spiPORT5 ((gioPORT_t *)0xFFF7FC18U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_spi.h +* @brief SPI Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the SPI driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_SPI_H__ +#define __REG_SPI_H__ + +#include "sys_common.h" +#include "reg_gio.h" + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Spi Register Frame Definition */ +/** @struct spiBase +* @brief SPI Register Definition +* +* This structure is used to access the SPI module registers. +*/ +/** @typedef spiBASE_t +* @brief SPI Register Frame Type Definition +* +* This type is used to access the SPI Registers. +*/ +typedef volatile struct spiBase +{ + uint32 GCR0; /**< 0x0000: Global Control 0 */ + uint32 GCR1; /**< 0x0004: Global Control 1 */ + uint32 INT0; /**< 0x0008: Interrupt Register */ + uint32 LVL; /**< 0x000C: Interrupt Level */ + uint32 FLG; /**< 0x0010: Interrupt flags */ + uint32 PC0; /**< 0x0014: Function Pin Enable */ + uint32 PC1; /**< 0x0018: Pin Direction */ + uint32 PC2; /**< 0x001C: Pin Input Latch */ + uint32 PC3; /**< 0x0020: Pin Output Latch */ + uint32 PC4; /**< 0x0024: Output Pin Set */ + uint32 PC5; /**< 0x0028: Output Pin Clr */ + uint32 PC6; /**< 0x002C: Open Drain Output Enable */ + uint32 PC7; /**< 0x0030: Pullup/Pulldown Disable */ + uint32 PC8; /**< 0x0034: Pullup/Pulldown Selection */ + uint32 DAT0; /**< 0x0038: Transmit Data */ + uint32 DAT1; /**< 0x003C: Transmit Data with Format and Chip Select */ + uint32 BUF; /**< 0x0040: Receive Buffer */ + uint32 EMU; /**< 0x0044: Emulation Receive Buffer */ + uint32 DELAY; /**< 0x0048: Delays */ + uint32 DEF; /**< 0x004C: Default Chip Select */ + uint32 FMT0; /**< 0x0050: Data Format 0 */ + uint32 FMT1; /**< 0x0054: Data Format 1 */ + uint32 FMT2; /**< 0x0058: Data Format 2 */ + uint32 FMT3; /**< 0x005C: Data Format 3 */ + uint32 INTVECT0; /**< 0x0060: Interrupt Vector 0 */ + uint32 INTVECT1; /**< 0x0064: Interrupt Vector 1 */ + uint32 RESERVED[51U]; /**< 0x0068 to 0x0130: Reserved */ + uint32 IOLPKTSTCR; /**< 0x0134: IO loopback */ +} spiBASE_t; + +/** @def spiREG1 +* @brief SPI1 (MIBSPI - Compatibility Mode) Register Frame Pointer +* +* This pointer is used by the SPI driver to access the spi module registers. +*/ +#define spiREG1 ((spiBASE_t *)0xFFF7F400U) + + +/** @def spiPORT1 +* @brief SPI1 (MIBSPI - Compatibility Mode) GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of SPI1 +* (use the GIO drivers to access the port pins). +*/ +#define spiPORT1 ((gioPORT_t *)0xFFF7F418U) + +/** @def spiREG2 +* @brief SPI2 Register Frame Pointer +* +* This pointer is used by the SPI driver to access the spi module registers. +*/ +#define spiREG2 ((spiBASE_t *)0xFFF7F600U) + + +/** @def spiPORT2 +* @brief SPI2 GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of SPI2 +* (use the GIO drivers to access the port pins). +*/ +#define spiPORT2 ((gioPORT_t *)0xFFF7F618U) + +/** @def spiREG3 +* @brief SPI3 (MIBSPI - Compatibility Mode) Register Frame Pointer +* +* This pointer is used by the SPI driver to access the spi module registers. +*/ +#define spiREG3 ((spiBASE_t *)0xFFF7F800U) + + +/** @def spiPORT3 +* @brief SPI3 (MIBSPI - Compatibility Mode) GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of SPI3 +* (use the GIO drivers to access the port pins). +*/ +#define spiPORT3 ((gioPORT_t *)0xFFF7F818U) + +/** @def spiREG4 +* @brief SPI4 Register Frame Pointer +* +* This pointer is used by the SPI driver to access the spi module registers. +*/ +#define spiREG4 ((spiBASE_t *)0xFFF7FA00U) + + +/** @def spiPORT4 +* @brief SPI4 GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of SPI4 +* (use the GIO drivers to access the port pins). +*/ +#define spiPORT4 ((gioPORT_t *)0xFFF7FA18U) + +/** @def spiREG5 +* @brief SPI5 (MIBSPI - Compatibility Mode) Register Frame Pointer +* +* This pointer is used by the SPI driver to access the spi module registers. +*/ +#define spiREG5 ((spiBASE_t *)0xFFF7FC00U) + + +/** @def spiPORT5 +* @brief SPI5 (MIBSPI - Compatibility Mode) GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of SPI5 +* (use the GIO drivers to access the port pins). +*/ +#define spiPORT5 ((gioPORT_t *)0xFFF7FC18U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_stc.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_stc.h index ab56f8d0..23ff5e60 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_stc.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_stc.h @@ -1,93 +1,93 @@ -/** @file reg_stc.h -* @brief STC Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_STC_H__ -#define __REG_STC_H__ - -#include "sys_common.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Stc Register Frame Definition */ -/** @struct stcBase -* @brief STC Base Register Definition -* -* This structure is used to access the STC module registers. -*/ -/** @typedef stcBASE_t -* @brief STC Register Frame Type Definition -* -* This type is used to access the STC Registers. -*/ -typedef volatile struct stcBase -{ - uint32 STCGCR0; /**< 0x0000: STC Control Register 0 */ - uint32 STCGCR1; /**< 0x0004: STC Control Register 1 */ - uint32 STCTPR; /**< 0x0008: STC Self-Test Run Timeout Counter Preload Register */ - uint32 STCCADDR; /**< 0x000C: STC Self-Test Current ROM Address Register */ - uint32 STCCICR; /**< 0x0010: STC Self-Test Current Interval Count Register */ - uint32 STCGSTAT; /**< 0x0014: STC Self-Test Global Status Register */ - uint32 STCFSTAT; /**< 0x0018: STC Self-Test Fail Status Register */ - uint32 CPU1_CURMISR3; /**< 0x001C: STC CPU1 Current MISR Register */ - uint32 CPU1_CURMISR2; /**< 0x0020: STC CPU1 Current MISR Register */ - uint32 CPU1_CURMISR1; /**< 0x0024: STC CPU1 Current MISR Register */ - uint32 CPU1_CURMISR0; /**< 0x0028: STC CPU1 Current MISR Register */ - uint32 CPU2_CURMISR3; /**< 0x002C: STC CPU1 Current MISR Register */ - uint32 CPU2_CURMISR2; /**< 0x0030: STC CPU1 Current MISR Register */ - uint32 CPU2_CURMISR1; /**< 0x0034: STC CPU1 Current MISR Register */ - uint32 CPU2_CURMISR0; /**< 0x0038: STC CPU1 Current MISR Register */ - uint32 STCSCSCR; /**< 0x003C: STC Signature Compare Self-Check Register */ -} stcBASE_t; - -#define stcREG ((stcBASE_t *)0xFFFFE600U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_stc.h +* @brief STC Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_STC_H__ +#define __REG_STC_H__ + +#include "sys_common.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Stc Register Frame Definition */ +/** @struct stcBase +* @brief STC Base Register Definition +* +* This structure is used to access the STC module registers. +*/ +/** @typedef stcBASE_t +* @brief STC Register Frame Type Definition +* +* This type is used to access the STC Registers. +*/ +typedef volatile struct stcBase +{ + uint32 STCGCR0; /**< 0x0000: STC Control Register 0 */ + uint32 STCGCR1; /**< 0x0004: STC Control Register 1 */ + uint32 STCTPR; /**< 0x0008: STC Self-Test Run Timeout Counter Preload Register */ + uint32 STCCADDR; /**< 0x000C: STC Self-Test Current ROM Address Register */ + uint32 STCCICR; /**< 0x0010: STC Self-Test Current Interval Count Register */ + uint32 STCGSTAT; /**< 0x0014: STC Self-Test Global Status Register */ + uint32 STCFSTAT; /**< 0x0018: STC Self-Test Fail Status Register */ + uint32 CPU1_CURMISR3; /**< 0x001C: STC CPU1 Current MISR Register */ + uint32 CPU1_CURMISR2; /**< 0x0020: STC CPU1 Current MISR Register */ + uint32 CPU1_CURMISR1; /**< 0x0024: STC CPU1 Current MISR Register */ + uint32 CPU1_CURMISR0; /**< 0x0028: STC CPU1 Current MISR Register */ + uint32 CPU2_CURMISR3; /**< 0x002C: STC CPU1 Current MISR Register */ + uint32 CPU2_CURMISR2; /**< 0x0030: STC CPU1 Current MISR Register */ + uint32 CPU2_CURMISR1; /**< 0x0034: STC CPU1 Current MISR Register */ + uint32 CPU2_CURMISR0; /**< 0x0038: STC CPU1 Current MISR Register */ + uint32 STCSCSCR; /**< 0x003C: STC Signature Compare Self-Check Register */ +} stcBASE_t; + +#define stcREG ((stcBASE_t *)0xFFFFE600U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_system.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_system.h index 772d0ce0..fb3beaa1 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_system.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_system.h @@ -1,191 +1,191 @@ -/** @file reg_system.h -* @brief System Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_SYSTEM_H__ -#define __REG_SYSTEM_H__ - -#include "sys_common.h" -#include "reg_gio.h" - - -/* System Register Frame 1 Definition */ -/** @struct systemBase1 -* @brief System Register Frame 1 Definition -* -* This type is used to access the System 1 Registers. -*/ -/** @typedef systemBASE1_t -* @brief System Register Frame 1 Type Definition -* -* This type is used to access the System 1 Registers. -*/ -typedef volatile struct systemBase1 -{ - uint32 SYSPC1; /* 0x0000 */ - uint32 SYSPC2; /* 0x0004 */ - uint32 SYSPC3; /* 0x0008 */ - uint32 SYSPC4; /* 0x000C */ - uint32 SYSPC5; /* 0x0010 */ - uint32 SYSPC6; /* 0x0014 */ - uint32 SYSPC7; /* 0x0018 */ - uint32 SYSPC8; /* 0x001C */ - uint32 SYSPC9; /* 0x0020 */ - uint32 SSWPLL1; /* 0x0024 */ - uint32 SSWPLL2; /* 0x0028 */ - uint32 SSWPLL3; /* 0x002C */ - uint32 CSDIS; /* 0x0030 */ - uint32 CSDISSET; /* 0x0034 */ - uint32 CSDISCLR; /* 0x0038 */ - uint32 CDDIS; /* 0x003C */ - uint32 CDDISSET; /* 0x0040 */ - uint32 CDDISCLR; /* 0x0044 */ - uint32 GHVSRC; /* 0x0048 */ - uint32 VCLKASRC; /* 0x004C */ - uint32 RCLKSRC; /* 0x0050 */ - uint32 CSVSTAT; /* 0x0054 */ - uint32 MSTGCR; /* 0x0058 */ - uint32 MINITGCR; /* 0x005C */ - uint32 MSINENA; /* 0x0060 */ - uint32 MSTFAIL; /* 0x0064 */ - uint32 MSTCGSTAT; /* 0x0068 */ - uint32 MINISTAT; /* 0x006C */ - uint32 PLLCTL1; /* 0x0070 */ - uint32 PLLCTL2; /* 0x0074 */ - uint32 SYSPC10; /* 0x0078 */ - uint32 DIEIDL; /* 0x007C */ - uint32 DIEIDH; /* 0x0080 */ - uint32 VRCTL; /* 0x0084 */ - uint32 LPOMONCTL; /* 0x0088 */ - uint32 CLKTEST; /* 0x008C */ - uint32 DFTCTRLREG1; /* 0x0090 */ - uint32 DFTCTRLREG2; /* 0x0094 */ - uint32 rsvd1; /* 0x0098 */ - uint32 rsvd2; /* 0x009C */ - uint32 GPREG1; /* 0x00A0 */ - uint32 BTRMSEL; /* 0x00A4 */ - uint32 IMPFASTS; /* 0x00A8 */ - uint32 IMPFTADD; /* 0x00AC */ - uint32 SSISR1; /* 0x00B0 */ - uint32 SSISR2; /* 0x00B4 */ - uint32 SSISR3; /* 0x00B8 */ - uint32 SSISR4; /* 0x00BC */ - uint32 RAMGCR; /* 0x00C0 */ - uint32 BMMCR1; /* 0x00C4 */ - uint32 BMMCR2; /* 0x00C8 */ - uint32 CPURSTCR; /* 0x00CC */ - uint32 CLKCNTL; /* 0x00D0 */ - uint32 ECPCNTL; /* 0x00D4 */ - uint32 DSPGCR; /* 0x00D8 */ - uint32 DEVCR1; /* 0x00DC */ - uint32 SYSECR; /* 0x00E0 */ - uint32 SYSESR; /* 0x00E4 */ - uint32 SYSTASR; /* 0x00E8 */ - uint32 GBLSTAT; /* 0x00EC */ - uint32 DEV; /* 0x00F0 */ - uint32 SSIVEC; /* 0x00F4 */ - uint32 SSIF; /* 0x00F8 */ -} systemBASE1_t; - - -/** @def systemREG1 -* @brief System Register Frame 1 Pointer -* -* This pointer is used by the system driver to access the system frame 1 registers. -*/ -#define systemREG1 ((systemBASE1_t *)0xFFFFFF00U) - -/** @def systemPORT -* @brief ECLK GIO Port Register Pointer -* -* Pointer used by the GIO driver to access I/O PORT of System/Eclk -* (use the GIO drivers to access the port pins). -*/ -#define systemPORT ((gioPORT_t *)0xFFFFFF04U) - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* System Register Frame 2 Definition */ -/** @struct systemBase2 -* @brief System Register Frame 2 Definition -* -* This type is used to access the System 2 Registers. -*/ -/** @typedef systemBASE2_t -* @brief System Register Frame 2 Type Definition -* -* This type is used to access the System 2 Registers. -*/ -typedef volatile struct systemBase2 -{ - uint32 PLLCTL3; /* 0x0000 */ - uint32 rsvd1; /* 0x0004 */ - uint32 STCCLKDIV; /* 0x0008 */ - uint32 rsvd2[6U]; /* 0x000C */ - uint32 ECPCNTRL0; /* 0x0024 */ - uint32 rsvd3[5U]; /* 0x0028 */ - uint32 CLK2CNTL; /* 0x003C */ - uint32 VCLKACON1; /* 0x0040 */ - uint32 rsvd4[11U]; /* 0x0044 */ - uint32 CLKSLIP; /* 0x0070 */ - uint32 rsvd5[30U]; /* 0x0074 */ - uint32 EFC_CTLEN; /* 0x00EC */ - uint32 DIEIDL_REG0; /* 0x00F0 */ - uint32 DIEIDH_REG1; /* 0x00F4 */ - uint32 DIEIDL_REG2; /* 0x00F8 */ - uint32 DIEIDH_REG3; /* 0x00FC */ -} systemBASE2_t; - -/** @def systemREG2 -* @brief System Register Frame 2 Pointer -* -* This pointer is used by the system driver to access the system frame 2 registers. -*/ -#define systemREG2 ((systemBASE2_t *)0xFFFFE100U) - - -#endif +/** @file reg_system.h +* @brief System Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_SYSTEM_H__ +#define __REG_SYSTEM_H__ + +#include "sys_common.h" +#include "reg_gio.h" + + +/* System Register Frame 1 Definition */ +/** @struct systemBase1 +* @brief System Register Frame 1 Definition +* +* This type is used to access the System 1 Registers. +*/ +/** @typedef systemBASE1_t +* @brief System Register Frame 1 Type Definition +* +* This type is used to access the System 1 Registers. +*/ +typedef volatile struct systemBase1 +{ + uint32 SYSPC1; /* 0x0000 */ + uint32 SYSPC2; /* 0x0004 */ + uint32 SYSPC3; /* 0x0008 */ + uint32 SYSPC4; /* 0x000C */ + uint32 SYSPC5; /* 0x0010 */ + uint32 SYSPC6; /* 0x0014 */ + uint32 SYSPC7; /* 0x0018 */ + uint32 SYSPC8; /* 0x001C */ + uint32 SYSPC9; /* 0x0020 */ + uint32 SSWPLL1; /* 0x0024 */ + uint32 SSWPLL2; /* 0x0028 */ + uint32 SSWPLL3; /* 0x002C */ + uint32 CSDIS; /* 0x0030 */ + uint32 CSDISSET; /* 0x0034 */ + uint32 CSDISCLR; /* 0x0038 */ + uint32 CDDIS; /* 0x003C */ + uint32 CDDISSET; /* 0x0040 */ + uint32 CDDISCLR; /* 0x0044 */ + uint32 GHVSRC; /* 0x0048 */ + uint32 VCLKASRC; /* 0x004C */ + uint32 RCLKSRC; /* 0x0050 */ + uint32 CSVSTAT; /* 0x0054 */ + uint32 MSTGCR; /* 0x0058 */ + uint32 MINITGCR; /* 0x005C */ + uint32 MSINENA; /* 0x0060 */ + uint32 MSTFAIL; /* 0x0064 */ + uint32 MSTCGSTAT; /* 0x0068 */ + uint32 MINISTAT; /* 0x006C */ + uint32 PLLCTL1; /* 0x0070 */ + uint32 PLLCTL2; /* 0x0074 */ + uint32 SYSPC10; /* 0x0078 */ + uint32 DIEIDL; /* 0x007C */ + uint32 DIEIDH; /* 0x0080 */ + uint32 VRCTL; /* 0x0084 */ + uint32 LPOMONCTL; /* 0x0088 */ + uint32 CLKTEST; /* 0x008C */ + uint32 DFTCTRLREG1; /* 0x0090 */ + uint32 DFTCTRLREG2; /* 0x0094 */ + uint32 rsvd1; /* 0x0098 */ + uint32 rsvd2; /* 0x009C */ + uint32 GPREG1; /* 0x00A0 */ + uint32 BTRMSEL; /* 0x00A4 */ + uint32 IMPFASTS; /* 0x00A8 */ + uint32 IMPFTADD; /* 0x00AC */ + uint32 SSISR1; /* 0x00B0 */ + uint32 SSISR2; /* 0x00B4 */ + uint32 SSISR3; /* 0x00B8 */ + uint32 SSISR4; /* 0x00BC */ + uint32 RAMGCR; /* 0x00C0 */ + uint32 BMMCR1; /* 0x00C4 */ + uint32 BMMCR2; /* 0x00C8 */ + uint32 CPURSTCR; /* 0x00CC */ + uint32 CLKCNTL; /* 0x00D0 */ + uint32 ECPCNTL; /* 0x00D4 */ + uint32 DSPGCR; /* 0x00D8 */ + uint32 DEVCR1; /* 0x00DC */ + uint32 SYSECR; /* 0x00E0 */ + uint32 SYSESR; /* 0x00E4 */ + uint32 SYSTASR; /* 0x00E8 */ + uint32 GBLSTAT; /* 0x00EC */ + uint32 DEV; /* 0x00F0 */ + uint32 SSIVEC; /* 0x00F4 */ + uint32 SSIF; /* 0x00F8 */ +} systemBASE1_t; + + +/** @def systemREG1 +* @brief System Register Frame 1 Pointer +* +* This pointer is used by the system driver to access the system frame 1 registers. +*/ +#define systemREG1 ((systemBASE1_t *)0xFFFFFF00U) + +/** @def systemPORT +* @brief ECLK GIO Port Register Pointer +* +* Pointer used by the GIO driver to access I/O PORT of System/Eclk +* (use the GIO drivers to access the port pins). +*/ +#define systemPORT ((gioPORT_t *)0xFFFFFF04U) + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* System Register Frame 2 Definition */ +/** @struct systemBase2 +* @brief System Register Frame 2 Definition +* +* This type is used to access the System 2 Registers. +*/ +/** @typedef systemBASE2_t +* @brief System Register Frame 2 Type Definition +* +* This type is used to access the System 2 Registers. +*/ +typedef volatile struct systemBase2 +{ + uint32 PLLCTL3; /* 0x0000 */ + uint32 rsvd1; /* 0x0004 */ + uint32 STCCLKDIV; /* 0x0008 */ + uint32 rsvd2[6U]; /* 0x000C */ + uint32 ECPCNTRL0; /* 0x0024 */ + uint32 rsvd3[5U]; /* 0x0028 */ + uint32 CLK2CNTL; /* 0x003C */ + uint32 VCLKACON1; /* 0x0040 */ + uint32 rsvd4[11U]; /* 0x0044 */ + uint32 CLKSLIP; /* 0x0070 */ + uint32 rsvd5[30U]; /* 0x0074 */ + uint32 EFC_CTLEN; /* 0x00EC */ + uint32 DIEIDL_REG0; /* 0x00F0 */ + uint32 DIEIDH_REG1; /* 0x00F4 */ + uint32 DIEIDL_REG2; /* 0x00F8 */ + uint32 DIEIDH_REG3; /* 0x00FC */ +} systemBASE2_t; + +/** @def systemREG2 +* @brief System Register Frame 2 Pointer +* +* This pointer is used by the system driver to access the system frame 2 registers. +*/ +#define systemREG2 ((systemBASE2_t *)0xFFFFE100U) + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_tcram.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_tcram.h index 356f35dc..4e4d01a4 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_tcram.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_tcram.h @@ -1,94 +1,94 @@ -/** @file reg_tcram.h -* @brief TCRAM Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_TCRAM_H__ -#define __REG_TCRAM_H__ - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "sys_common.h" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/* Tcram Register Frame Definition */ -/** @struct tcramBase -* @brief TCRAM Wrapper Register Frame Definition -* -* This type is used to access the TCRAM Wrapper Registers. -*/ -/** @typedef tcramBASE_t -* @brief TCRAM Wrapper Register Frame Type Definition -* -* This type is used to access the TCRAM Wrapper Registers. -*/ - -typedef volatile struct tcramBase -{ - uint32 RAMCTRL; /* 0x0000 */ - uint32 RAMTHRESHOLD; /* 0x0004 */ - uint32 RAMOCCUR; /* 0x0008 */ - uint32 RAMINTCTRL; /* 0x000C */ - uint32 RAMERRSTATUS; /* 0x0010 */ - uint32 RAMSERRADDR; /* 0x0014 */ - uint32 rsvd1; /* 0x0018 */ - uint32 RAMUERRADDR; /* 0x001C */ - uint32 rsvd2[4U]; /* 0x0020 */ - uint32 RAMTEST; /* 0x0030 */ - uint32 rsvd3; /* 0x0034 */ - uint32 RAMADDRDECVECT; /* 0x0038 */ - uint32 RAMPERADDR; /* 0x003C */ -} tcramBASE_t; - -#define tcram1REG ((tcramBASE_t *)(0xFFFFF800U)) -#define tcram2REG ((tcramBASE_t *)(0xFFFFF900U)) - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -#endif +/** @file reg_tcram.h +* @brief TCRAM Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_TCRAM_H__ +#define __REG_TCRAM_H__ + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +#include "sys_common.h" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/* Tcram Register Frame Definition */ +/** @struct tcramBase +* @brief TCRAM Wrapper Register Frame Definition +* +* This type is used to access the TCRAM Wrapper Registers. +*/ +/** @typedef tcramBASE_t +* @brief TCRAM Wrapper Register Frame Type Definition +* +* This type is used to access the TCRAM Wrapper Registers. +*/ + +typedef volatile struct tcramBase +{ + uint32 RAMCTRL; /* 0x0000 */ + uint32 RAMTHRESHOLD; /* 0x0004 */ + uint32 RAMOCCUR; /* 0x0008 */ + uint32 RAMINTCTRL; /* 0x000C */ + uint32 RAMERRSTATUS; /* 0x0010 */ + uint32 RAMSERRADDR; /* 0x0014 */ + uint32 rsvd1; /* 0x0018 */ + uint32 RAMUERRADDR; /* 0x001C */ + uint32 rsvd2[4U]; /* 0x0020 */ + uint32 RAMTEST; /* 0x0030 */ + uint32 rsvd3; /* 0x0034 */ + uint32 RAMADDRDECVECT; /* 0x0038 */ + uint32 RAMPERADDR; /* 0x003C */ +} tcramBASE_t; + +#define tcram1REG ((tcramBASE_t *)(0xFFFFF800U)) +#define tcram2REG ((tcramBASE_t *)(0xFFFFF900U)) + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_vim.h b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_vim.h index 4922efb7..359f72ae 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/reg_vim.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/reg_vim.h @@ -1,110 +1,110 @@ -/** @file reg_vim.h -* @brief VIM Register Layer Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __REG_VIM_H__ -#define __REG_VIM_H__ - -#include "sys_common.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Vim Register Frame Definition */ -/** @struct vimBase -* @brief Vim Register Frame Definition -* -* This type is used to access the Vim Registers. -*/ -/** @typedef vimBASE_t -* @brief VIM Register Frame Type Definition -* -* This type is used to access the VIM Registers. -*/ -typedef volatile struct vimBase -{ - uint32 IRQINDEX; /* 0x0000 */ - uint32 FIQINDEX; /* 0x0004 */ - uint32 rsvd1; /* 0x0008 */ - uint32 rsvd2; /* 0x000C */ - uint32 FIRQPR0; /* 0x0010 */ - uint32 FIRQPR1; /* 0x0014 */ - uint32 FIRQPR2; /* 0x0018 */ - uint32 FIRQPR3; /* 0x001C */ - uint32 INTREQ0; /* 0x0020 */ - uint32 INTREQ1; /* 0x0024 */ - uint32 INTREQ2; /* 0x0028 */ - uint32 INTREQ3; /* 0x002C */ - uint32 REQMASKSET0; /* 0x0030 */ - uint32 REQMASKSET1; /* 0x0034 */ - uint32 REQMASKSET2; /* 0x0038 */ - uint32 REQMASKSET3; /* 0x003C */ - uint32 REQMASKCLR0; /* 0x0040 */ - uint32 REQMASKCLR1; /* 0x0044 */ - uint32 REQMASKCLR2; /* 0x0048 */ - uint32 REQMASKCLR3; /* 0x004C */ - uint32 WAKEMASKSET0; /* 0x0050 */ - uint32 WAKEMASKSET1; /* 0x0054 */ - uint32 WAKEMASKSET2; /* 0x0058 */ - uint32 WAKEMASKSET3; /* 0x005C */ - uint32 WAKEMASKCLR0; /* 0x0060 */ - uint32 WAKEMASKCLR1; /* 0x0064 */ - uint32 WAKEMASKCLR2; /* 0x0068 */ - uint32 WAKEMASKCLR3; /* 0x006C */ - uint32 IRQVECREG; /* 0x0070 */ - uint32 FIQVECREG; /* 0x0074 */ - uint32 CAPEVT; /* 0x0078 */ - uint32 rsvd3; /* 0x007C */ - uint32 CHANCTRL[32U]; /* 0x0080-0x0FC */ -} vimBASE_t; - -#define vimREG ((vimBASE_t *)0xFFFFFE00U) - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -#endif +/** @file reg_vim.h +* @brief VIM Register Layer Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __REG_VIM_H__ +#define __REG_VIM_H__ + +#include "sys_common.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Vim Register Frame Definition */ +/** @struct vimBase +* @brief Vim Register Frame Definition +* +* This type is used to access the Vim Registers. +*/ +/** @typedef vimBASE_t +* @brief VIM Register Frame Type Definition +* +* This type is used to access the VIM Registers. +*/ +typedef volatile struct vimBase +{ + uint32 IRQINDEX; /* 0x0000 */ + uint32 FIQINDEX; /* 0x0004 */ + uint32 rsvd1; /* 0x0008 */ + uint32 rsvd2; /* 0x000C */ + uint32 FIRQPR0; /* 0x0010 */ + uint32 FIRQPR1; /* 0x0014 */ + uint32 FIRQPR2; /* 0x0018 */ + uint32 FIRQPR3; /* 0x001C */ + uint32 INTREQ0; /* 0x0020 */ + uint32 INTREQ1; /* 0x0024 */ + uint32 INTREQ2; /* 0x0028 */ + uint32 INTREQ3; /* 0x002C */ + uint32 REQMASKSET0; /* 0x0030 */ + uint32 REQMASKSET1; /* 0x0034 */ + uint32 REQMASKSET2; /* 0x0038 */ + uint32 REQMASKSET3; /* 0x003C */ + uint32 REQMASKCLR0; /* 0x0040 */ + uint32 REQMASKCLR1; /* 0x0044 */ + uint32 REQMASKCLR2; /* 0x0048 */ + uint32 REQMASKCLR3; /* 0x004C */ + uint32 WAKEMASKSET0; /* 0x0050 */ + uint32 WAKEMASKSET1; /* 0x0054 */ + uint32 WAKEMASKSET2; /* 0x0058 */ + uint32 WAKEMASKSET3; /* 0x005C */ + uint32 WAKEMASKCLR0; /* 0x0060 */ + uint32 WAKEMASKCLR1; /* 0x0064 */ + uint32 WAKEMASKCLR2; /* 0x0068 */ + uint32 WAKEMASKCLR3; /* 0x006C */ + uint32 IRQVECREG; /* 0x0070 */ + uint32 FIQVECREG; /* 0x0074 */ + uint32 CAPEVT; /* 0x0078 */ + uint32 rsvd3; /* 0x007C */ + uint32 CHANCTRL[32U]; /* 0x0080-0x0FC */ +} vimBASE_t; + +#define vimREG ((vimBASE_t *)0xFFFFFE00U) + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/rti.h b/TestBoardFirmware/Testboard_HAL_drivers/include/rti.h index 52b505a1..fc04ebb6 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/rti.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/rti.h @@ -1,326 +1,326 @@ -/** @file rti.h -* @brief RTI Driver Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* - Interface Prototypes -* . -* which are relevant for the RTI driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - -#ifndef __RTI_H__ -#define __RTI_H__ - -#include "reg_rti.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* RTI General Definitions */ - -/** @def rtiCOUNTER_BLOCK0 -* @brief Alias name for RTI counter block 0 -* -* This is an alias name for the RTI counter block 0. -* -* @note This value should be used for API argument @a counter -*/ -#define rtiCOUNTER_BLOCK0 0U - -/** @def rtiCOUNTER_BLOCK1 -* @brief Alias name for RTI counter block 1 -* -* This is an alias name for the RTI counter block 1. -* -* @note This value should be used for API argument @a counter -*/ -#define rtiCOUNTER_BLOCK1 1U - -/** @def rtiCOMPARE0 -* @brief Alias name for RTI compare 0 -* -* This is an alias name for the RTI compare 0. -* -* @note This value should be used for API argument @a compare -*/ -#define rtiCOMPARE0 0U - -/** @def rtiCOMPARE1 -* @brief Alias name for RTI compare 1 -* -* This is an alias name for the RTI compare 1. -* -* @note This value should be used for API argument @a compare -*/ -#define rtiCOMPARE1 1U - -/** @def rtiCOMPARE2 -* @brief Alias name for RTI compare 2 -* -* This is an alias name for the RTI compare 2. -* -* @note This value should be used for API argument @a compare -*/ -#define rtiCOMPARE2 2U - -/** @def rtiCOMPARE3 -* @brief Alias name for RTI compare 3 -* -* This is an alias name for the RTI compare 3. -* -* @note This value should be used for API argument @a compare -*/ -#define rtiCOMPARE3 3U - -/** @def rtiNOTIFICATION_COMPARE0 -* @brief Alias name for RTI compare 0 notification -* -* This is an alias name for the RTI compare 0 notification. -* -* @note This value should be used for API argument @a notification -*/ -#define rtiNOTIFICATION_COMPARE0 1U - -/** @def rtiNOTIFICATION_COMPARE1 -* @brief Alias name for RTI compare 1 notification -* -* This is an alias name for the RTI compare 1 notification. -* -* @note This value should be used for API argument @a notification -*/ -#define rtiNOTIFICATION_COMPARE1 2U - -/** @def rtiNOTIFICATION_COMPARE2 -* @brief Alias name for RTI compare 2 notification -* -* This is an alias name for the RTI compare 2 notification. -* -* @note This value should be used for API argument @a notification -*/ -#define rtiNOTIFICATION_COMPARE2 4U - -/** @def rtiNOTIFICATION_COMPARE3 -* @brief Alias name for RTI compare 3 notification -* -* This is an alias name for the RTI compare 3 notification. -* -* @note This value should be used for API argument @a notification -*/ -#define rtiNOTIFICATION_COMPARE3 8U - -/** @def rtiNOTIFICATION_TIMEBASE -* @brief Alias name for RTI timebase notification -* -* This is an alias name for the RTI timebase notification. -* -* @note This value should be used for API argument @a notification -*/ -#define rtiNOTIFICATION_TIMEBASE 0x10000U - -/** @def rtiNOTIFICATION_COUNTER0 -* @brief Alias name for RTI counter block 0 overflow notification -* -* This is an alias name for the RTI counter block 0 overflow notification. -* -* @note This value should be used for API argument @a notification -*/ -#define rtiNOTIFICATION_COUNTER0 0x20000U - -/** @def rtiNOTIFICATION_COUNTER1 -* @brief Alias name for RTI counter block 1 overflow notification -* -* This is an alias name for the RTI counter block 1 overflow notification. -* -* @note This value should be used for API argument @a notification -*/ -#define rtiNOTIFICATION_COUNTER1 0x40000U - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @enum dwdViolationTag -* @brief DWD Violations -*/ -typedef enum dwdViolationTag -{ - NoTime_Violation = 0U, - Time_Window_Violation = 1U, - EndTime_Window_Violation = 2U, - StartTime_Window_Violation = 3U, - Key_Seq_Violation = 4U -}dwdViolation_t; - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/** @enum dwdResetStatusTag -* @brief DWD Reset status -*/ -typedef enum dwdResetStatusTag -{ - No_Reset_Generated = 0U, - Reset_Generated = 1U -}dwdResetStatus_t; - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - -/** @enum dwwdReactionTag -* @brief DWWD Reaction on vioaltion -*/ -typedef enum dwwdReactionTag -{ - Generate_Reset = 0x00000005U, - Generate_NMI = 0x0000000AU -}dwwdReaction_t; - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - -/** @enum dwwdWindowSizeTag -* @brief DWWD Window size -*/ -typedef enum dwwdWindowSizeTag -{ - Size_100_Percent = 0x00000005U, - Size_50_Percent = 0x00000050U, - Size_25_Percent = 0x00000500U, - Size_12_5_Percent = 0x00005000U, - Size_6_25_Percent = 0x00050000U, - Size_3_125_Percent = 0x00500000U -}dwwdWindowSize_t; - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - -/* Configuration registers */ -typedef struct rti_config_reg -{ - uint32 CONFIG_GCTRL; - uint32 CONFIG_TBCTRL; - uint32 CONFIG_CAPCTRL; - uint32 CONFIG_COMPCTRL; - uint32 CONFIG_UDCP0; - uint32 CONFIG_UDCP1; - uint32 CONFIG_UDCP2; - uint32 CONFIG_UDCP3; -} rti_config_reg_t; - - -/* Configuration registers initial value */ -#define RTI_GCTRL_CONFIGVALUE ((uint32)((uint32)0x0U << 16U) | 0x00000000U) -#define RTI_TBCTRL_CONFIGVALUE 0x00000000U -#define RTI_CAPCTRL_CONFIGVALUE (0U | 0U) -#define RTI_COMPCTRL_CONFIGVALUE (0x00001000U | 0x00000100U | 0x00000000U | 0x00000000U) -#define RTI_UDCP0_CONFIGVALUE 10000U -#define RTI_UDCP1_CONFIGVALUE 50000U -#define RTI_UDCP2_CONFIGVALUE 80000U -#define RTI_UDCP3_CONFIGVALUE 100000U - - -/** - * @defgroup RTI RTI - * @brief Real Time Interrupt Module. - * - * The real-time interrupt (RTI) module provides timer functionality for operating systems and for - * benchmarking code. The RTI module can incorporate several counters that define the timebases needed - * for scheduling in the operating system. - * - * Related Files - * - reg_rti.h - * - rti.h - * - rti.c - * @addtogroup RTI - * @{ - */ - -/* RTI Interface Functions */ - -void rtiInit(void); -void rtiStartCounter(uint32 counter); -void rtiStopCounter(uint32 counter); -uint32 rtiResetCounter(uint32 counter); -void rtiSetPeriod(uint32 compare, uint32 period); -uint32 rtiGetPeriod(uint32 compare); -uint32 rtiGetCurrentTick(uint32 compare); -void rtiEnableNotification(uint32 notification); -void rtiDisableNotification(uint32 notification); -void dwdInit(uint16 dwdPreload); -void dwwdInit(dwwdReaction_t Reaction, uint16 dwdPreload, dwwdWindowSize_t Window_Size); -uint32 dwwdGetCurrentDownCounter(void); -void dwdCounterEnable(void); -void dwdSetPreload(uint16 dwdPreload); -void dwdReset(void); -void dwdGenerateSysReset(void); -boolean IsdwdKeySequenceCorrect(void); -dwdResetStatus_t dwdGetStatus(void); -dwdViolation_t dwdGetViolationStatus(void); -void dwdClearFlag(void); -void rtiGetConfigValue(rti_config_reg_t *config_reg, config_value_type_t type); -/** @fn void rtiNotification(uint32 notification) -* @brief Notification of RTI module -* @param[in] notification Select notification of RTI module: -* - rtiNOTIFICATION_COMPARE0: RTI compare 0 notification -* - rtiNOTIFICATION_COMPARE1: RTI compare 1 notification -* - rtiNOTIFICATION_COMPARE2: RTI compare 2 notification -* - rtiNOTIFICATION_COMPARE3: RTI compare 3 notification -* - rtiNOTIFICATION_TIMEBASE: RTI Timebase notification -* - rtiNOTIFICATION_COUNTER0: RTI counter 0 overflow notification -* - rtiNOTIFICATION_COUNTER1: RTI counter 1 overflow notification -* -* @note This function has to be provide by the user. -*/ -void rtiNotification(uint32 notification); - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif /*extern "C" */ - -#endif +/** @file rti.h +* @brief RTI Driver Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* - Interface Prototypes +* . +* which are relevant for the RTI driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + +#ifndef __RTI_H__ +#define __RTI_H__ + +#include "reg_rti.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* RTI General Definitions */ + +/** @def rtiCOUNTER_BLOCK0 +* @brief Alias name for RTI counter block 0 +* +* This is an alias name for the RTI counter block 0. +* +* @note This value should be used for API argument @a counter +*/ +#define rtiCOUNTER_BLOCK0 0U + +/** @def rtiCOUNTER_BLOCK1 +* @brief Alias name for RTI counter block 1 +* +* This is an alias name for the RTI counter block 1. +* +* @note This value should be used for API argument @a counter +*/ +#define rtiCOUNTER_BLOCK1 1U + +/** @def rtiCOMPARE0 +* @brief Alias name for RTI compare 0 +* +* This is an alias name for the RTI compare 0. +* +* @note This value should be used for API argument @a compare +*/ +#define rtiCOMPARE0 0U + +/** @def rtiCOMPARE1 +* @brief Alias name for RTI compare 1 +* +* This is an alias name for the RTI compare 1. +* +* @note This value should be used for API argument @a compare +*/ +#define rtiCOMPARE1 1U + +/** @def rtiCOMPARE2 +* @brief Alias name for RTI compare 2 +* +* This is an alias name for the RTI compare 2. +* +* @note This value should be used for API argument @a compare +*/ +#define rtiCOMPARE2 2U + +/** @def rtiCOMPARE3 +* @brief Alias name for RTI compare 3 +* +* This is an alias name for the RTI compare 3. +* +* @note This value should be used for API argument @a compare +*/ +#define rtiCOMPARE3 3U + +/** @def rtiNOTIFICATION_COMPARE0 +* @brief Alias name for RTI compare 0 notification +* +* This is an alias name for the RTI compare 0 notification. +* +* @note This value should be used for API argument @a notification +*/ +#define rtiNOTIFICATION_COMPARE0 1U + +/** @def rtiNOTIFICATION_COMPARE1 +* @brief Alias name for RTI compare 1 notification +* +* This is an alias name for the RTI compare 1 notification. +* +* @note This value should be used for API argument @a notification +*/ +#define rtiNOTIFICATION_COMPARE1 2U + +/** @def rtiNOTIFICATION_COMPARE2 +* @brief Alias name for RTI compare 2 notification +* +* This is an alias name for the RTI compare 2 notification. +* +* @note This value should be used for API argument @a notification +*/ +#define rtiNOTIFICATION_COMPARE2 4U + +/** @def rtiNOTIFICATION_COMPARE3 +* @brief Alias name for RTI compare 3 notification +* +* This is an alias name for the RTI compare 3 notification. +* +* @note This value should be used for API argument @a notification +*/ +#define rtiNOTIFICATION_COMPARE3 8U + +/** @def rtiNOTIFICATION_TIMEBASE +* @brief Alias name for RTI timebase notification +* +* This is an alias name for the RTI timebase notification. +* +* @note This value should be used for API argument @a notification +*/ +#define rtiNOTIFICATION_TIMEBASE 0x10000U + +/** @def rtiNOTIFICATION_COUNTER0 +* @brief Alias name for RTI counter block 0 overflow notification +* +* This is an alias name for the RTI counter block 0 overflow notification. +* +* @note This value should be used for API argument @a notification +*/ +#define rtiNOTIFICATION_COUNTER0 0x20000U + +/** @def rtiNOTIFICATION_COUNTER1 +* @brief Alias name for RTI counter block 1 overflow notification +* +* This is an alias name for the RTI counter block 1 overflow notification. +* +* @note This value should be used for API argument @a notification +*/ +#define rtiNOTIFICATION_COUNTER1 0x40000U + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @enum dwdViolationTag +* @brief DWD Violations +*/ +typedef enum dwdViolationTag +{ + NoTime_Violation = 0U, + Time_Window_Violation = 1U, + EndTime_Window_Violation = 2U, + StartTime_Window_Violation = 3U, + Key_Seq_Violation = 4U +}dwdViolation_t; + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/** @enum dwdResetStatusTag +* @brief DWD Reset status +*/ +typedef enum dwdResetStatusTag +{ + No_Reset_Generated = 0U, + Reset_Generated = 1U +}dwdResetStatus_t; + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + +/** @enum dwwdReactionTag +* @brief DWWD Reaction on vioaltion +*/ +typedef enum dwwdReactionTag +{ + Generate_Reset = 0x00000005U, + Generate_NMI = 0x0000000AU +}dwwdReaction_t; + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + +/** @enum dwwdWindowSizeTag +* @brief DWWD Window size +*/ +typedef enum dwwdWindowSizeTag +{ + Size_100_Percent = 0x00000005U, + Size_50_Percent = 0x00000050U, + Size_25_Percent = 0x00000500U, + Size_12_5_Percent = 0x00005000U, + Size_6_25_Percent = 0x00050000U, + Size_3_125_Percent = 0x00500000U +}dwwdWindowSize_t; + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + +/* Configuration registers */ +typedef struct rti_config_reg +{ + uint32 CONFIG_GCTRL; + uint32 CONFIG_TBCTRL; + uint32 CONFIG_CAPCTRL; + uint32 CONFIG_COMPCTRL; + uint32 CONFIG_UDCP0; + uint32 CONFIG_UDCP1; + uint32 CONFIG_UDCP2; + uint32 CONFIG_UDCP3; +} rti_config_reg_t; + + +/* Configuration registers initial value */ +#define RTI_GCTRL_CONFIGVALUE ((uint32)((uint32)0x0U << 16U) | 0x00000000U) +#define RTI_TBCTRL_CONFIGVALUE 0x00000000U +#define RTI_CAPCTRL_CONFIGVALUE (0U | 0U) +#define RTI_COMPCTRL_CONFIGVALUE (0x00001000U | 0x00000100U | 0x00000000U | 0x00000000U) +#define RTI_UDCP0_CONFIGVALUE 10000U +#define RTI_UDCP1_CONFIGVALUE 50000U +#define RTI_UDCP2_CONFIGVALUE 80000U +#define RTI_UDCP3_CONFIGVALUE 100000U + + +/** + * @defgroup RTI RTI + * @brief Real Time Interrupt Module. + * + * The real-time interrupt (RTI) module provides timer functionality for operating systems and for + * benchmarking code. The RTI module can incorporate several counters that define the timebases needed + * for scheduling in the operating system. + * + * Related Files + * - reg_rti.h + * - rti.h + * - rti.c + * @addtogroup RTI + * @{ + */ + +/* RTI Interface Functions */ + +void rtiInit(void); +void rtiStartCounter(uint32 counter); +void rtiStopCounter(uint32 counter); +uint32 rtiResetCounter(uint32 counter); +void rtiSetPeriod(uint32 compare, uint32 period); +uint32 rtiGetPeriod(uint32 compare); +uint32 rtiGetCurrentTick(uint32 compare); +void rtiEnableNotification(uint32 notification); +void rtiDisableNotification(uint32 notification); +void dwdInit(uint16 dwdPreload); +void dwwdInit(dwwdReaction_t Reaction, uint16 dwdPreload, dwwdWindowSize_t Window_Size); +uint32 dwwdGetCurrentDownCounter(void); +void dwdCounterEnable(void); +void dwdSetPreload(uint16 dwdPreload); +void dwdReset(void); +void dwdGenerateSysReset(void); +boolean IsdwdKeySequenceCorrect(void); +dwdResetStatus_t dwdGetStatus(void); +dwdViolation_t dwdGetViolationStatus(void); +void dwdClearFlag(void); +void rtiGetConfigValue(rti_config_reg_t *config_reg, config_value_type_t type); +/** @fn void rtiNotification(uint32 notification) +* @brief Notification of RTI module +* @param[in] notification Select notification of RTI module: +* - rtiNOTIFICATION_COMPARE0: RTI compare 0 notification +* - rtiNOTIFICATION_COMPARE1: RTI compare 1 notification +* - rtiNOTIFICATION_COMPARE2: RTI compare 2 notification +* - rtiNOTIFICATION_COMPARE3: RTI compare 3 notification +* - rtiNOTIFICATION_TIMEBASE: RTI Timebase notification +* - rtiNOTIFICATION_COUNTER0: RTI counter 0 overflow notification +* - rtiNOTIFICATION_COUNTER1: RTI counter 1 overflow notification +* +* @note This function has to be provide by the user. +*/ +void rtiNotification(uint32 notification); + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif /*extern "C" */ + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/sci.h b/TestBoardFirmware/Testboard_HAL_drivers/include/sci.h index ec019d0d..706b6e98 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/sci.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/sci.h @@ -1,238 +1,238 @@ -/** @file sci.h -* @brief SCI Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - -#ifndef __SCI_H__ -#define __SCI_H__ - -#include "reg_sci.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/** @enum sciIntFlags -* @brief Interrupt Flag Definitions -* -* Used with sciEnableNotification, sciDisableNotification -*/ -enum sciIntFlags -{ - SCI_FE_INT = 0x04000000U, /* framing error */ - SCI_OE_INT = 0x02000000U, /* overrun error */ - SCI_PE_INT = 0x01000000U, /* parity error */ - SCI_RX_INT = 0x00000200U, /* receive buffer ready */ - SCI_TX_INT = 0x00000100U, /* transmit buffer ready */ - SCI_WAKE_INT = 0x00000002U, /* wakeup */ - SCI_BREAK_INT = 0x00000001U /* break detect */ -}; - -/** @def SCI_IDLE -* @brief Alias name for the SCI IDLE Flag -* -* This is an alias name for the SCI IDLE Flag. -* -*/ -#define SCI_IDLE 0x00000004U - -/** @struct sciBase -* @brief SCI Register Definition -* -* This structure is used to access the SCI module registers. -*/ -/** @typedef sciBASE_t -* @brief SCI Register Frame Type Definition -* -* This type is used to access the SCI Registers. -*/ - -enum sciPinSelect -{ - PIN_SCI_TX = 4U, - PIN_SCI_RX = 2U -}; - - -/* Configuration registers */ -typedef struct sci_config_reg -{ - uint32 CONFIG_GCR0; - uint32 CONFIG_GCR1; - uint32 CONFIG_SETINT; - uint32 CONFIG_SETINTLVL; - uint32 CONFIG_FORMAT; - uint32 CONFIG_BRS; - uint32 CONFIG_PIO0; - uint32 CONFIG_PIO1; - uint32 CONFIG_PIO6; - uint32 CONFIG_PIO7; - uint32 CONFIG_PIO8; -} sci_config_reg_t; - - -/* Configuration registers initial value for SCI*/ -#define SCI_GCR0_CONFIGVALUE 0x00000001U -#define SCI_GCR1_CONFIGVALUE ((uint32)((uint32)1U << 5U) \ - |(uint32)((uint32)(2U-1U) << 4U) \ - |(uint32)((uint32)0U << 3U) \ - |(uint32)((uint32)0U << 2U) \ - |(uint32)((uint32)1U << 1U) \ - |(uint32)((uint32)0U << 2U) \ - |(uint32)(0x03000080U)) - -#define SCI_SETINTLVL_CONFIGVALUE ((uint32)((uint32)0U << 26U) \ - |(uint32)((uint32)0U << 25U) \ - |(uint32)((uint32)0U << 24U) \ - |(uint32)((uint32)0U << 9U) \ - |(uint32)((uint32)0U << 8U) \ - |(uint32)((uint32)0U << 1U) \ - |(uint32)((uint32)0U << 0U)) - -#define SCI_SETINT_CONFIGVALUE ((uint32)((uint32)0U << 26U) \ - |(uint32)((uint32)0U << 25U) \ - |(uint32)((uint32)0U << 24U) \ - |(uint32)((uint32)0U << 9U) \ - |(uint32)((uint32)0U << 1U) \ - |(uint32)((uint32)0U << 0U)) - -#define SCI_FORMAT_CONFIGVALUE (8U - 1U) -#define SCI_BRS_CONFIGVALUE (520U) -#define SCI_PIO0_CONFIGVALUE ((uint32)((uint32)1U << 2U ) | (uint32)((uint32)1U << 1U)) -#define SCI_PIO1_CONFIGVALUE ((uint32)((uint32)0U << 2U ) | (uint32)((uint32)0U << 1U)) -#define SCI_PIO6_CONFIGVALUE ((uint32)((uint32)0U << 2U ) | (uint32)((uint32)0U << 1U)) -#define SCI_PIO7_CONFIGVALUE ((uint32)((uint32)0U << 2U ) | (uint32)((uint32)0U << 1U)) -#define SCI_PIO8_CONFIGVALUE ((uint32)((uint32)1U << 2U ) | (uint32)((uint32)1U << 1U)) - - - -/* Configuration registers initial value for SCI*/ -#define SCILIN_GCR0_CONFIGVALUE 0x00000001U -#define SCILIN_GCR1_CONFIGVALUE ((uint32)((uint32)1U << 5U) \ - |(uint32)((uint32)(2U-1U) << 4U) \ - |(uint32)((uint32)0U << 3U) \ - |(uint32)((uint32)0U << 2U) \ - |(uint32)((uint32)1U << 1U) \ - |(uint32)((uint32)0U << 2U) \ - |(uint32)(0x03000080U)) - -#define SCILIN_SETINTLVL_CONFIGVALUE ((uint32)((uint32)0U << 26U) \ - |(uint32)((uint32)0U << 25U) \ - |(uint32)((uint32)0U << 24U) \ - |(uint32)((uint32)0U << 9U) \ - |(uint32)((uint32)0U << 8U) \ - |(uint32)((uint32)0U << 1U) \ - |(uint32)((uint32)0U)) - -#define SCILIN_SETINT_CONFIGVALUE ((uint32)((uint32)0U << 26U) \ - |(uint32)((uint32)0U << 25U) \ - |(uint32)((uint32)0U << 24U) \ - |(uint32)((uint32)0U << 9U) \ - |(uint32)((uint32)0U << 1U) \ - |(uint32)((uint32)0U << 0U)) - -#define SCILIN_FORMAT_CONFIGVALUE (8U - 1U) -#define SCILIN_BRS_CONFIGVALUE (520U) -#define SCILIN_PIO0_CONFIGVALUE ((uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 1U)) -#define SCILIN_PIO1_CONFIGVALUE ((uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U)) -#define SCILIN_PIO6_CONFIGVALUE ((uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U)) -#define SCILIN_PIO7_CONFIGVALUE ((uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U)) -#define SCILIN_PIO8_CONFIGVALUE ((uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 1U)) - - - -/** - * @defgroup SCI SCI - * @brief Serial Communication Interface Module. - * - * The SCI module is a universal asynchronous receiver-transmitter that implements the standard nonreturn - * to zero format. The SCI can be used to communicate, for example, through an RS-232 port or over a K-line. - * - * Related Files - * - reg_sci.h - * - sci.h - * - sci.c - * @addtogroup SCI - * @{ - */ - -/* SCI Interface Functions */ -void sciInit(void); -void sciSetFunctional(sciBASE_t *sci, uint32 port); -void sciSetBaudrate(sciBASE_t *sci, uint32 baud); -uint32 sciIsTxReady(sciBASE_t *sci); -void sciSendByte(sciBASE_t *sci, uint8 byte); -void sciSend(sciBASE_t *sci, uint32 length, uint8 * data); -uint32 sciIsRxReady(sciBASE_t *sci); -uint32 sciIsIdleDetected(sciBASE_t *sci); -uint32 sciRxError(sciBASE_t *sci); -uint32 sciReceiveByte(sciBASE_t *sci); -void sciReceive(sciBASE_t *sci, uint32 length, uint8 * data); -void sciEnableNotification(sciBASE_t *sci, uint32 flags); -void sciDisableNotification(sciBASE_t *sci, uint32 flags); -void sciEnableLoopback(sciBASE_t *sci, loopBackType_t Loopbacktype); -void sciDisableLoopback(sciBASE_t *sci); -void sciEnterResetState(sciBASE_t *sci); -void sciExitResetState(sciBASE_t *sci); -void sciGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type); -void scilinGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type); -/** @fn void sciNotification(sciBASE_t *sci, uint32 flags) -* @brief Interrupt callback -* @param[in] sci - sci module base address -* @param[in] flags - copy of error interrupt flags -* -* This is a callback that is provided by the application and is called upon -* an interrupt. The parameter passed to the callback is a copy of the -* interrupt flag register. -*/ -void sciNotification(sciBASE_t *sci, uint32 flags); - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ -/**@}*/ -#ifdef __cplusplus -} -#endif - -#endif +/** @file sci.h +* @brief SCI Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + +#ifndef __SCI_H__ +#define __SCI_H__ + +#include "reg_sci.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/** @enum sciIntFlags +* @brief Interrupt Flag Definitions +* +* Used with sciEnableNotification, sciDisableNotification +*/ +enum sciIntFlags +{ + SCI_FE_INT = 0x04000000U, /* framing error */ + SCI_OE_INT = 0x02000000U, /* overrun error */ + SCI_PE_INT = 0x01000000U, /* parity error */ + SCI_RX_INT = 0x00000200U, /* receive buffer ready */ + SCI_TX_INT = 0x00000100U, /* transmit buffer ready */ + SCI_WAKE_INT = 0x00000002U, /* wakeup */ + SCI_BREAK_INT = 0x00000001U /* break detect */ +}; + +/** @def SCI_IDLE +* @brief Alias name for the SCI IDLE Flag +* +* This is an alias name for the SCI IDLE Flag. +* +*/ +#define SCI_IDLE 0x00000004U + +/** @struct sciBase +* @brief SCI Register Definition +* +* This structure is used to access the SCI module registers. +*/ +/** @typedef sciBASE_t +* @brief SCI Register Frame Type Definition +* +* This type is used to access the SCI Registers. +*/ + +enum sciPinSelect +{ + PIN_SCI_TX = 4U, + PIN_SCI_RX = 2U +}; + + +/* Configuration registers */ +typedef struct sci_config_reg +{ + uint32 CONFIG_GCR0; + uint32 CONFIG_GCR1; + uint32 CONFIG_SETINT; + uint32 CONFIG_SETINTLVL; + uint32 CONFIG_FORMAT; + uint32 CONFIG_BRS; + uint32 CONFIG_PIO0; + uint32 CONFIG_PIO1; + uint32 CONFIG_PIO6; + uint32 CONFIG_PIO7; + uint32 CONFIG_PIO8; +} sci_config_reg_t; + + +/* Configuration registers initial value for SCI*/ +#define SCI_GCR0_CONFIGVALUE 0x00000001U +#define SCI_GCR1_CONFIGVALUE ((uint32)((uint32)1U << 5U) \ + |(uint32)((uint32)(2U-1U) << 4U) \ + |(uint32)((uint32)0U << 3U) \ + |(uint32)((uint32)0U << 2U) \ + |(uint32)((uint32)1U << 1U) \ + |(uint32)((uint32)0U << 2U) \ + |(uint32)(0x03000080U)) + +#define SCI_SETINTLVL_CONFIGVALUE ((uint32)((uint32)0U << 26U) \ + |(uint32)((uint32)0U << 25U) \ + |(uint32)((uint32)0U << 24U) \ + |(uint32)((uint32)0U << 9U) \ + |(uint32)((uint32)0U << 8U) \ + |(uint32)((uint32)0U << 1U) \ + |(uint32)((uint32)0U << 0U)) + +#define SCI_SETINT_CONFIGVALUE ((uint32)((uint32)0U << 26U) \ + |(uint32)((uint32)0U << 25U) \ + |(uint32)((uint32)0U << 24U) \ + |(uint32)((uint32)0U << 9U) \ + |(uint32)((uint32)0U << 1U) \ + |(uint32)((uint32)0U << 0U)) + +#define SCI_FORMAT_CONFIGVALUE (8U - 1U) +#define SCI_BRS_CONFIGVALUE (520U) +#define SCI_PIO0_CONFIGVALUE ((uint32)((uint32)1U << 2U ) | (uint32)((uint32)1U << 1U)) +#define SCI_PIO1_CONFIGVALUE ((uint32)((uint32)0U << 2U ) | (uint32)((uint32)0U << 1U)) +#define SCI_PIO6_CONFIGVALUE ((uint32)((uint32)0U << 2U ) | (uint32)((uint32)0U << 1U)) +#define SCI_PIO7_CONFIGVALUE ((uint32)((uint32)0U << 2U ) | (uint32)((uint32)0U << 1U)) +#define SCI_PIO8_CONFIGVALUE ((uint32)((uint32)1U << 2U ) | (uint32)((uint32)1U << 1U)) + + + +/* Configuration registers initial value for SCI*/ +#define SCILIN_GCR0_CONFIGVALUE 0x00000001U +#define SCILIN_GCR1_CONFIGVALUE ((uint32)((uint32)1U << 5U) \ + |(uint32)((uint32)(2U-1U) << 4U) \ + |(uint32)((uint32)0U << 3U) \ + |(uint32)((uint32)0U << 2U) \ + |(uint32)((uint32)1U << 1U) \ + |(uint32)((uint32)0U << 2U) \ + |(uint32)(0x03000080U)) + +#define SCILIN_SETINTLVL_CONFIGVALUE ((uint32)((uint32)0U << 26U) \ + |(uint32)((uint32)0U << 25U) \ + |(uint32)((uint32)0U << 24U) \ + |(uint32)((uint32)0U << 9U) \ + |(uint32)((uint32)0U << 8U) \ + |(uint32)((uint32)0U << 1U) \ + |(uint32)((uint32)0U)) + +#define SCILIN_SETINT_CONFIGVALUE ((uint32)((uint32)0U << 26U) \ + |(uint32)((uint32)0U << 25U) \ + |(uint32)((uint32)0U << 24U) \ + |(uint32)((uint32)0U << 9U) \ + |(uint32)((uint32)0U << 1U) \ + |(uint32)((uint32)0U << 0U)) + +#define SCILIN_FORMAT_CONFIGVALUE (8U - 1U) +#define SCILIN_BRS_CONFIGVALUE (520U) +#define SCILIN_PIO0_CONFIGVALUE ((uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 1U)) +#define SCILIN_PIO1_CONFIGVALUE ((uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U)) +#define SCILIN_PIO6_CONFIGVALUE ((uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U)) +#define SCILIN_PIO7_CONFIGVALUE ((uint32)((uint32)0U << 2U) | (uint32)((uint32)0U << 1U)) +#define SCILIN_PIO8_CONFIGVALUE ((uint32)((uint32)1U << 2U) | (uint32)((uint32)1U << 1U)) + + + +/** + * @defgroup SCI SCI + * @brief Serial Communication Interface Module. + * + * The SCI module is a universal asynchronous receiver-transmitter that implements the standard nonreturn + * to zero format. The SCI can be used to communicate, for example, through an RS-232 port or over a K-line. + * + * Related Files + * - reg_sci.h + * - sci.h + * - sci.c + * @addtogroup SCI + * @{ + */ + +/* SCI Interface Functions */ +void sciInit(void); +void sciSetFunctional(sciBASE_t *sci, uint32 port); +void sciSetBaudrate(sciBASE_t *sci, uint32 baud); +uint32 sciIsTxReady(sciBASE_t *sci); +void sciSendByte(sciBASE_t *sci, uint8 byte); +void sciSend(sciBASE_t *sci, uint32 length, uint8 * data); +uint32 sciIsRxReady(sciBASE_t *sci); +uint32 sciIsIdleDetected(sciBASE_t *sci); +uint32 sciRxError(sciBASE_t *sci); +uint32 sciReceiveByte(sciBASE_t *sci); +void sciReceive(sciBASE_t *sci, uint32 length, uint8 * data); +void sciEnableNotification(sciBASE_t *sci, uint32 flags); +void sciDisableNotification(sciBASE_t *sci, uint32 flags); +void sciEnableLoopback(sciBASE_t *sci, loopBackType_t Loopbacktype); +void sciDisableLoopback(sciBASE_t *sci); +void sciEnterResetState(sciBASE_t *sci); +void sciExitResetState(sciBASE_t *sci); +void sciGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type); +void scilinGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type); +/** @fn void sciNotification(sciBASE_t *sci, uint32 flags) +* @brief Interrupt callback +* @param[in] sci - sci module base address +* @param[in] flags - copy of error interrupt flags +* +* This is a callback that is provided by the application and is called upon +* an interrupt. The parameter passed to the callback is a copy of the +* interrupt flag register. +*/ +void sciNotification(sciBASE_t *sci, uint32 flags); + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ +/**@}*/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/spi.h b/TestBoardFirmware/Testboard_HAL_drivers/include/spi.h index 0dc9dab2..a16338f4 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/spi.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/spi.h @@ -1,222 +1,222 @@ -/** @file spi.h -* @brief SPI Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __SPI_H__ -#define __SPI_H__ - -#include "reg_spi.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -/** @enum chipSelect -* @brief Transfer Group Chip Select -*/ -enum spiChipSelect -{ - SPI_CS_NONE = 0xFFU, - SPI_CS_0 = 0xFEU, - SPI_CS_1 = 0xFDU, - SPI_CS_2 = 0xFBU, - SPI_CS_3 = 0xF7U, - SPI_CS_4 = 0xEFU, - SPI_CS_5 = 0xDFU, - SPI_CS_6 = 0xBFU, - SPI_CS_7 = 0x7FU -}; - -/** @enum spiPinSelect -* @brief spi Pin Select -*/ -enum spiPinSelect -{ - SPI_PIN_CS0 = 0U, - SPI_PIN_CS1 = 1U, - SPI_PIN_CS2 = 2U, - SPI_PIN_CS3 = 3U, - SPI_PIN_CS4 = 4U, - SPI_PIN_CS5 = 5U, - SPI_PIN_CS6 = 6U, - SPI_PIN_CS7 = 7U, - SPI_PIN_ENA = 8U, - SPI_PIN_CLK = 9U, - SPI_PIN_SIMO = 10U, - SPI_PIN_SOMI = 11U, - SPI_PIN_SIMO_1 = 17U, - SPI_PIN_SIMO_2 = 18U, - SPI_PIN_SIMO_3 = 19U, - SPI_PIN_SIMO_4 = 20U, - SPI_PIN_SIMO_5 = 21U, - SPI_PIN_SIMO_6 = 22U, - SPI_PIN_SIMO_7 = 23U, - SPI_PIN_SOMI_1 = 25U, - SPI_PIN_SOMI_2 = 26U, - SPI_PIN_SOMI_3 = 27U, - SPI_PIN_SOMI_4 = 28U, - SPI_PIN_SOMI_5 = 29U, - SPI_PIN_SOMI_6 = 30U, - SPI_PIN_SOMI_7 = 31U -}; - -/** @enum dataformat -* @brief SPI dataformat register select -*/ -typedef enum dataformat -{ - SPI_FMT_0 = 0U, - SPI_FMT_1 = 1U, - SPI_FMT_2 = 2U, - SPI_FMT_3 = 3U -}SPIDATAFMT_t; - -/** @struct spiDAT1RegConfig -* @brief SPI data register configuration -*/ -typedef struct spiDAT1RegConfig -{ - boolean CS_HOLD; - boolean WDEL; - SPIDATAFMT_t DFSEL; - uint8 CSNR; -}spiDAT1_t; - -/** @enum SpiTxRxDataStatus -* @brief SPI Data Status -*/ -typedef enum SpiTxRxDataStatus -{ - SPI_READY = 0U, - SPI_PENDING = 1U, - SPI_COMPLETED = 2U -}SpiDataStatus_t; - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -typedef struct spi_config_reg -{ - uint32 CONFIG_GCR1; - uint32 CONFIG_INT0; - uint32 CONFIG_LVL; - uint32 CONFIG_PC0; - uint32 CONFIG_PC1; - uint32 CONFIG_PC6; - uint32 CONFIG_PC7; - uint32 CONFIG_PC8; - uint32 CONFIG_DELAY; - uint32 CONFIG_FMT0; - uint32 CONFIG_FMT1; - uint32 CONFIG_FMT2; - uint32 CONFIG_FMT3; -}spi_config_reg_t; - - - - - - - - - - -/** - * @defgroup SPI SPI - * @brief Serial Peripheral Interface Module. - * - * SPI is a high-speed synchronous serial input/output port that allows a serial bit stream of - * programmed length (2 to 16 bits) to be shifted in and out of the device at a programmed bit-transfer rate. - * - * Related Files - * - reg_spi.h - * - spi.h - * - spi.c - * @addtogroup SPI - * @{ - */ - -/* SPI Interface Functions */ -void spiInit(void); -void spiSetFunctional(spiBASE_t *spi, uint32 port); -void spiEnableNotification(spiBASE_t *spi, uint32 flags); -void spiDisableNotification(spiBASE_t *spi, uint32 flags); -uint32 spiTransmitData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * srcbuff); -void spiSendData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * srcbuff); -uint32 spiReceiveData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * destbuff); -void spiGetData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * destbuff); -uint32 spiTransmitAndReceiveData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * srcbuff, uint16 * destbuff); -void spiSendAndGetData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * srcbuff, uint16 * destbuff); -void spiEnableLoopback(spiBASE_t *spi, loopBackType_t Loopbacktype); -void spiDisableLoopback(spiBASE_t *spi); -SpiDataStatus_t SpiTxStatus(spiBASE_t *spi); -SpiDataStatus_t SpiRxStatus(spiBASE_t *spi); - -/** @fn void spiNotification(spiBASE_t *spi, uint32 flags) -* @brief Interrupt callback -* @param[in] spi - Spi module base address -* @param[in] flags - Copy of error interrupt flags -* -* This is a callback that is provided by the application and is called upon -* an interrupt. The parameter passed to the callback is a copy of the -* interrupt flag register. -*/ -void spiNotification(spiBASE_t *spi, uint32 flags); - -/** @fn void spiEndNotification(spiBASE_t *spi) -* @brief Interrupt callback for End of TX or RX data length. -* @param[in] spi - Spi module base address -* -* This is a callback that is provided by the application and is called upon -* an interrupt at the End of TX or RX data length. -*/ -void spiEndNotification(spiBASE_t *spi); - -/**@}*/ -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -#ifdef __cplusplus -} -#endif /*extern "C" */ - -#endif +/** @file spi.h +* @brief SPI Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __SPI_H__ +#define __SPI_H__ + +#include "reg_spi.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** @enum chipSelect +* @brief Transfer Group Chip Select +*/ +enum spiChipSelect +{ + SPI_CS_NONE = 0xFFU, + SPI_CS_0 = 0xFEU, + SPI_CS_1 = 0xFDU, + SPI_CS_2 = 0xFBU, + SPI_CS_3 = 0xF7U, + SPI_CS_4 = 0xEFU, + SPI_CS_5 = 0xDFU, + SPI_CS_6 = 0xBFU, + SPI_CS_7 = 0x7FU +}; + +/** @enum spiPinSelect +* @brief spi Pin Select +*/ +enum spiPinSelect +{ + SPI_PIN_CS0 = 0U, + SPI_PIN_CS1 = 1U, + SPI_PIN_CS2 = 2U, + SPI_PIN_CS3 = 3U, + SPI_PIN_CS4 = 4U, + SPI_PIN_CS5 = 5U, + SPI_PIN_CS6 = 6U, + SPI_PIN_CS7 = 7U, + SPI_PIN_ENA = 8U, + SPI_PIN_CLK = 9U, + SPI_PIN_SIMO = 10U, + SPI_PIN_SOMI = 11U, + SPI_PIN_SIMO_1 = 17U, + SPI_PIN_SIMO_2 = 18U, + SPI_PIN_SIMO_3 = 19U, + SPI_PIN_SIMO_4 = 20U, + SPI_PIN_SIMO_5 = 21U, + SPI_PIN_SIMO_6 = 22U, + SPI_PIN_SIMO_7 = 23U, + SPI_PIN_SOMI_1 = 25U, + SPI_PIN_SOMI_2 = 26U, + SPI_PIN_SOMI_3 = 27U, + SPI_PIN_SOMI_4 = 28U, + SPI_PIN_SOMI_5 = 29U, + SPI_PIN_SOMI_6 = 30U, + SPI_PIN_SOMI_7 = 31U +}; + +/** @enum dataformat +* @brief SPI dataformat register select +*/ +typedef enum dataformat +{ + SPI_FMT_0 = 0U, + SPI_FMT_1 = 1U, + SPI_FMT_2 = 2U, + SPI_FMT_3 = 3U +}SPIDATAFMT_t; + +/** @struct spiDAT1RegConfig +* @brief SPI data register configuration +*/ +typedef struct spiDAT1RegConfig +{ + boolean CS_HOLD; + boolean WDEL; + SPIDATAFMT_t DFSEL; + uint8 CSNR; +}spiDAT1_t; + +/** @enum SpiTxRxDataStatus +* @brief SPI Data Status +*/ +typedef enum SpiTxRxDataStatus +{ + SPI_READY = 0U, + SPI_PENDING = 1U, + SPI_COMPLETED = 2U +}SpiDataStatus_t; + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +typedef struct spi_config_reg +{ + uint32 CONFIG_GCR1; + uint32 CONFIG_INT0; + uint32 CONFIG_LVL; + uint32 CONFIG_PC0; + uint32 CONFIG_PC1; + uint32 CONFIG_PC6; + uint32 CONFIG_PC7; + uint32 CONFIG_PC8; + uint32 CONFIG_DELAY; + uint32 CONFIG_FMT0; + uint32 CONFIG_FMT1; + uint32 CONFIG_FMT2; + uint32 CONFIG_FMT3; +}spi_config_reg_t; + + + + + + + + + + +/** + * @defgroup SPI SPI + * @brief Serial Peripheral Interface Module. + * + * SPI is a high-speed synchronous serial input/output port that allows a serial bit stream of + * programmed length (2 to 16 bits) to be shifted in and out of the device at a programmed bit-transfer rate. + * + * Related Files + * - reg_spi.h + * - spi.h + * - spi.c + * @addtogroup SPI + * @{ + */ + +/* SPI Interface Functions */ +void spiInit(void); +void spiSetFunctional(spiBASE_t *spi, uint32 port); +void spiEnableNotification(spiBASE_t *spi, uint32 flags); +void spiDisableNotification(spiBASE_t *spi, uint32 flags); +uint32 spiTransmitData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * srcbuff); +void spiSendData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * srcbuff); +uint32 spiReceiveData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * destbuff); +void spiGetData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * destbuff); +uint32 spiTransmitAndReceiveData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * srcbuff, uint16 * destbuff); +void spiSendAndGetData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * srcbuff, uint16 * destbuff); +void spiEnableLoopback(spiBASE_t *spi, loopBackType_t Loopbacktype); +void spiDisableLoopback(spiBASE_t *spi); +SpiDataStatus_t SpiTxStatus(spiBASE_t *spi); +SpiDataStatus_t SpiRxStatus(spiBASE_t *spi); + +/** @fn void spiNotification(spiBASE_t *spi, uint32 flags) +* @brief Interrupt callback +* @param[in] spi - Spi module base address +* @param[in] flags - Copy of error interrupt flags +* +* This is a callback that is provided by the application and is called upon +* an interrupt. The parameter passed to the callback is a copy of the +* interrupt flag register. +*/ +void spiNotification(spiBASE_t *spi, uint32 flags); + +/** @fn void spiEndNotification(spiBASE_t *spi) +* @brief Interrupt callback for End of TX or RX data length. +* @param[in] spi - Spi module base address +* +* This is a callback that is provided by the application and is called upon +* an interrupt at the End of TX or RX data length. +*/ +void spiEndNotification(spiBASE_t *spi); + +/**@}*/ +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +#ifdef __cplusplus +} +#endif /*extern "C" */ + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/std_nhet.h b/TestBoardFirmware/Testboard_HAL_drivers/include/std_nhet.h index 3d7ae2dc..e1c1b51c 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/std_nhet.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/std_nhet.h @@ -1,2499 +1,2499 @@ -/** @file std_nhet.h -* @brief NHET Instruction Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -#ifndef __STD_NHET_H__ -#define __STD_NHET_H__ - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "sys_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -#ifndef HET_v2 -# define HET_v2 0 -#endif - -#if ((__little_endian__ == 0) || (__LITTLE_ENDIAN__ == 0) || defined(_TMS470_BIG) || defined(__big_endian__)) - -#ifndef HETBYTE -# define HETBYTE uint8 -#endif - -typedef struct memory_format -{ - uint32 program_word ; - uint32 control_word ; - uint32 data_word ; - uint32 reserved_word ; -} HET_MEMORY ; - -/*---------------------------------------------*/ -/* ACMP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct acmp_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 9 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 coutprv : 1 ; - uint32 : 2 ; - uint32 en_pin_action : 1 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 ext_reg : 1 ; - uint32 : 2 ; - uint32 pin_action : 1 ; - uint32 : 1 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - uint32 data : 25 ; - uint32 : 7 ; - -} ACMP_FIELDS; - -typedef union -{ - ACMP_FIELDS acmp ; - HET_MEMORY memory ; -} ACMP_INSTRUCTION; - - -/*---------------------------------------------*/ -/* ECMP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct ecmp_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 hr_lr : 1 ; - uint32 angle_compare : 1 ; - uint32 : 7 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 : 3 ; - uint32 en_pin_action : 1 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 sub_opcode : 2 ; - uint32 pin_action : 1 ; - uint32 opposite_action : 1 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} ECMP_FIELDS; - -typedef union -{ - ECMP_FIELDS ecmp ; - HET_MEMORY memory ; -} ECMP_INSTRUCTION; - - -/*---------------------------------------------*/ -/* SCMP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct scmp_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 2 ; - uint32 : 2 ; - uint32 : 5 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 coutprv : 1 ; - uint32 : 2 ; - uint32 en_pin_action : 1 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 compare_mode : 2 ; - uint32 pin_action : 1 ; - uint32 : 2 ; - uint32 restart_en : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} SCMP_FIELDS ; - -typedef union -{ - SCMP_FIELDS scmp ; - HET_MEMORY memory ; -} SCMP_INSTRUCTION; - - -/*---------------------------------------------*/ -/* MCMP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct mcmp_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 hr_lr : 1 ; - uint32 angle_compare : 1 ; - uint32 : 1 ; - uint32 save_subtract : 1 ; - uint32 : 5 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 : 3 ; - uint32 en_pin_action : 1 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 sub_opcode : 1 ; - uint32 order : 1 ; - uint32 pin_action : 1 ; - uint32 opposite_action : 1 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} MCMP_FIELDS ; - -typedef union -{ - MCMP_FIELDS mcmp ; - HET_MEMORY memory ; -} MCMP_INSTRUCTION; - - -/*---------------------------------------------*/ -/* MOV64 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct mov64_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 : 3 ; - uint32 en_pin_action : 1 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 compare_mode : 2 ; - uint32 pin_action : 1 ; - uint32 opposite_action : 1 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} MOV64_FIELDS ; - -typedef union -{ - MOV64_FIELDS mov64 ; - HET_MEMORY memory ; -} MOV64_INSTRUCTION; - - -/*---------------------------------------------*/ -/* DADM64 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct dadm64_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 : 3 ; - uint32 en_pin_action : 1 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 compare_mode : 2 ; - uint32 pin_action : 1 ; - uint32 opposite_action : 1 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} DADM64_FIELDS ; - -typedef union -{ - DADM64_FIELDS dadm64 ; - HET_MEMORY memory ; -} DADM64_INSTRUCTION; - - -/*---------------------------------------------*/ -/* RADM64 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct RADM64_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 : 3 ; - uint32 en_pin_action : 1 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 compare_mode : 2 ; - uint32 pin_action : 1 ; - uint32 opposite_action : 1 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} RADM64_FIELDS ; - - -typedef union -{ - RADM64_FIELDS radm64 ; - HET_MEMORY memory ; -} RADM64_INSTRUCTION; - - -/*---------------------------------------------*/ -/* MOV32 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct MOV32_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 auto_read_clear : 1 ; - uint32 : 3 ; - uint32 z_flag : 1 ; - uint32 : 15 ; - uint32 init_flag : 1 ; - uint32 sub_opcode : 1 ; - uint32 move_type : 2 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} MOV32_FIELDS ; - - -typedef union -{ - MOV32_FIELDS mov32 ; - HET_MEMORY memory ; -} MOV32_INSTRUCTION; - - -/*---------------------------------------------*/ -/* ADM32 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct ADM32_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 auto_read_clear : 1 ; - uint32 : 19 ; - uint32 init_flag : 1 ; - uint32 sub_opcode : 1 ; - uint32 move_type : 2 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} ADM32_FIELDS ; - - -typedef union -{ - ADM32_FIELDS adm32 ; - HET_MEMORY memory ; -} ADM32_INSTRUCTION; - - -/*---------------------------------------------*/ -/* ADCNST INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct ADCNST_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 control : 1 ; /* pk */ - uint32 : 1 ; - uint32 constant : 25 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} ADCNST_FIELDS ; - - -typedef union -{ - ADCNST_FIELDS adcnst ; - HET_MEMORY memory ; -} ADCNST_INSTRUCTION; - - -/*----------------------------------------------*/ -/* ADD INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct ADD_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 control : 1; - uint32 sub_opcode3 : 3 ; - uint32 src_1 : 4 ; - uint32 src_2 : 3 ; - uint32 shft_mode : 3 ; - uint32 shft_cnt : 5 ; - uint32 reg_ext : 1 ; - uint32 init_flag : 1 ; - uint32 sub_opcode1 : 1 ; - uint32 rem_dest : 2 ; - uint32 reg : 2 ; - uint32 : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} ADD_FIELDS ; - - -typedef union -{ - ADD_FIELDS add ; - HET_MEMORY memory ; -} ADD_INSTRUCTION; - - - -/*----------------------------------------------*/ -/* ADC INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct ADC_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 control : 1; - uint32 sub_opcode3 : 3 ; - uint32 src_1 : 4 ; - uint32 src_2 : 3 ; - uint32 shft_mode : 3 ; - uint32 shft_cnt : 5 ; - uint32 reg_ext : 1 ; - uint32 init_flag : 1 ; - uint32 sub_opcode1 : 1 ; - uint32 rem_dest : 2 ; - uint32 reg : 2 ; - uint32 : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} ADC_FIELDS ; - - -typedef union -{ - ADC_FIELDS adc ; - HET_MEMORY memory ; -} ADC_INSTRUCTION; - - - -/*----------------------------------------------*/ -/* SUB INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct SUB_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 control : 1; - uint32 sub_opcode3 : 3 ; - uint32 src_1 : 4 ; - uint32 src_2 : 3 ; - uint32 shft_mode : 3 ; - uint32 shft_cnt : 5 ; - uint32 reg_ext : 1 ; - uint32 init_flag : 1 ; - uint32 sub_opcode1 : 1 ; - uint32 rem_dest : 2 ; - uint32 reg : 2 ; - uint32 : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} SUB_FIELDS ; - - -typedef union -{ - SUB_FIELDS sub ; - HET_MEMORY memory ; -} SUB_INSTRUCTION; - - - -/*----------------------------------------------*/ -/* SBB INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct SBB_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 control : 1; - uint32 sub_opcode3 : 3 ; - uint32 src_1 : 4 ; - uint32 src_2 : 3 ; - uint32 shft_mode : 3 ; - uint32 shft_cnt : 5 ; - uint32 reg_ext : 1 ; - uint32 init_flag : 1 ; - uint32 sub_opcode1 : 1 ; - uint32 rem_dest : 2 ; - uint32 reg : 2 ; - uint32 : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} SBB_FIELDS ; - - -typedef union -{ - SBB_FIELDS sbb ; - HET_MEMORY memory ; -} SBB_INSTRUCTION; - - - -/*----------------------------------------------*/ -/* AND INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct AND_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 control : 1; - uint32 sub_opcode3 : 3 ; - uint32 src_1 : 4 ; - uint32 src_2 : 3 ; - uint32 shft_mode : 3 ; - uint32 shft_cnt : 5 ; - uint32 reg_ext : 1 ; - uint32 init_flag : 1 ; - uint32 sub_opcode1 : 1 ; - uint32 rem_dest : 2 ; - uint32 reg : 2 ; - uint32 : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} AND_FIELDS ; - - -typedef union -{ -#ifdef __cplusplus - AND_FIELDS and_cpp ; -#else - AND_FIELDS and ; -#endif - HET_MEMORY memory ; -} AND_INSTRUCTION; - - - -/*----------------------------------------------*/ -/* OR INSTRUCTION */ -/*----------------------------------------------*/ - - -typedef struct OR_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 control : 1; - uint32 sub_opcode3 : 3 ; - uint32 src_1 : 4 ; - uint32 src_2 : 3 ; - uint32 shft_mode : 3 ; - uint32 shft_cnt : 5 ; - uint32 reg_ext : 1 ; - uint32 init_flag : 1 ; - uint32 sub_opcode1 : 1 ; - uint32 rem_dest : 2 ; - uint32 reg : 2 ; - uint32 : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} OR_FIELDS ; - - -typedef union -{ -#ifdef __cplusplus - OR_FIELDS or_cpp ; -#else - OR_FIELDS or ; -#endif - HET_MEMORY memory ; -} OR_INSTRUCTION; - - - -/*----------------------------------------------*/ -/* XOR INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct XOR_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 remote_address : 9 ; - - uint32 : 5 ; - uint32 control : 1; - uint32 sub_opcode3 : 3 ; - uint32 src_1 : 4 ; - uint32 src_2 : 3 ; - uint32 shft_mode : 3 ; - uint32 shft_cnt : 5 ; - uint32 reg_ext : 1 ; - uint32 init_flag : 1 ; - uint32 sub_opcode1 : 1 ; - uint32 rem_dest : 2 ; - uint32 reg : 2 ; - uint32 : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} XOR_FIELDS ; - - -typedef union -{ -#ifdef __cplusplus - XOR_FIELDS xor_cpp ; -#else - XOR_FIELDS xor ; -#endif - HET_MEMORY memory ; -} XOR_INSTRUCTION; - - - -/*---------------------------------------------*/ -/* CNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct CNT_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 angle_cnt : 1 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 : 4 ; - uint32 interrupt_enable : 1 ; - - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 : 1 ; - uint32 max : 25 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} CNT_FIELDS ; - -typedef union -{ - CNT_FIELDS cnt ; - HET_MEMORY memory ; -} CNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* APCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct apcnt_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 interrupt_enable : 1 ; - uint32 edge_select : 2 ; - uint32 : 6 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 previous_bit : 1 ; - uint32 count : 25 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} APCNT_FIELDS ; - -typedef union -{ - APCNT_FIELDS apcnt ; - HET_MEMORY memory ; -} APCNT_INSTRUCTION; - - - -/*---------------------------------------------*/ -/* PCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct pcnt_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 interrupt_enable : 1 ; - uint32 period_pulse_select : 2 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 previous_bit : 1 ; - uint32 count : 25 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} PCNT_FIELDS ; - -typedef union -{ - PCNT_FIELDS pcnt ; - HET_MEMORY memory ; -} PCNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* SCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct scnt_format -{ - uint32 : 9 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 1 ; - uint32 count_mode : 2 ; - uint32 step_width : 2 ; - uint32 : 4 ; - - uint32 : 5 ; - uint32 auto_read_clear : 1 ; - uint32 : 1 ; - uint32 gap_start : 25 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} SCNT_FIELDS ; - -typedef union -{ - SCNT_FIELDS scnt ; - HET_MEMORY memory ; -} SCNT_INSTRUCTION; - - - -/*---------------------------------------------*/ -/* ACNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct acnt_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 edge_select : 1 ; - uint32 : 7 ; - uint32 interrupt_enable : 1 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 previous_bit : 1 ; - uint32 gap_end : 25 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} ACNT_FIELDS ; - -typedef union -{ - ACNT_FIELDS acnt ; - HET_MEMORY memory ; -} ACNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* ECNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct ecnt_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 1 ; - uint32 count_mode : 2 ; - uint32 : 6 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 previous_bit : 1 ; - uint32 : 3 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 count_cond : 3 ; - uint32 : 1 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} ECNT_FIELDS ; - -typedef union -{ - ECNT_FIELDS ecnt ; - HET_MEMORY memory ; -} ECNT_INSTRUCTION; - - - -/*---------------------------------------------*/ -/* RCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct rcnt_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 1 ; - uint32 count_mode : 2 ; - uint32 : 5 ; - uint32 count_mode1 : 1 ; - - uint32 : 3 ; - uint32 : 2 ; - uint32 control : 1 ; - uint32 : 1 ; - uint32 divisor : 25 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} RCNT_FIELDS ; - -typedef union -{ - RCNT_FIELDS rcnt ; - HET_MEMORY memory ; -} RCNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* DJNZ INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct djnz_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 1 ; - uint32 sub_opcode : 2 ; - uint32 : 6 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 : 4 ; - uint32 cond_addr : 9 ; - uint32 : 10 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} DJNZ_FIELDS ; - -typedef union -{ - DJNZ_FIELDS djnz ; - HET_MEMORY memory ; -} DJNZ_INSTRUCTION; - - -/*---------------------------------------------*/ -/* DJZ INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct djz_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 1 ; - uint32 sub_opcode : 2 ; - uint32 : 6 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 : 4 ; - uint32 cond_addr : 9 ; - uint32 : 10 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} DJZ_FIELDS ; - -typedef union -{ - DJZ_FIELDS djz ; - HET_MEMORY memory ; -} DJZ_INSTRUCTION; - -/*---------------------------------------------*/ -/* PWCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct pwcnt_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 hr_lr : 1 ; - uint32 count_mode : 2 ; - uint32 : 6 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 : 3 ; - uint32 en_pin_action : 1 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 3 ; - uint32 pin_action : 1 ; - uint32 opposite_action : 1 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} PWCNT_FIELDS ; - -typedef union -{ - PWCNT_FIELDS pwcnt ; - HET_MEMORY memory ; -} PWCNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* WCAP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct wcap_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 hr_lr : 1 ; - uint32 : 8 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 previous_bit : 1 ; - uint32 : 3 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 capture_condition : 2 ; - uint32 : 2 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} WCAP_FIELDS ; - -typedef union -{ - WCAP_FIELDS wcap ; - HET_MEMORY memory ; -} WCAP_INSTRUCTION; - -/*----------------------------------------------*/ -/* WCAPE INSTRUCTION */ -/*----------------------------------------------*/ -typedef struct wcape_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 9 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 previous_bit : 1 ; - uint32 : 3 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 capture_condition : 2 ; - uint32 : 2 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 ts_data : 25 ; - uint32 ec_data : 7 ; - -} WCAPE_FIELDS ; - -typedef union -{ - WCAPE_FIELDS wcape ; - HET_MEMORY memory ; -} WCAPE_INSTRUCTION; - - -/*---------------------------------------------*/ -/* BR INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct br_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 9 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 previous_bit : 1 ; - uint32 : 3 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - -#if HET_v2 - uint32 branch_condition : 5 ; -#else - uint32 branch_condition : 3 ; - uint32 : 1 ; - uint32 : 1 ; -#endif - - uint32 : 2 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 hr_data : 7 ; - -} BR_FIELDS ; - -typedef union -{ - BR_FIELDS br ; - HET_MEMORY memory ; -} BR_INSTRUCTION; - - -/*---------------------------------------------*/ -/* SHFT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct shft_format -{ - uint32 : 6 ; - uint32 reqnum : 3 ; - uint32 brk : 1 ; - uint32 next_program_address : 9 ; - uint32 op_code : 4 ; - uint32 : 5 ; - uint32 shift_mode : 4 ; - - uint32 : 3 ; - uint32 request : 2 ; - uint32 auto_read_clear : 1 ; - uint32 previous_bit : 1 ; - uint32 : 3 ; - uint32 cond_addr : 9 ; - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 shift_condition : 2 ; - uint32 : 2 ; - uint32 t_register_select : 1 ; - uint32 ab_register_select : 1 ; - uint32 interrupt_enable : 1 ; - - - uint32 data : 25 ; - uint32 : 7 ; - -} SHFT_FIELDS ; - -typedef union -{ - SHFT_FIELDS shft ; - HET_MEMORY memory ; -} SHFT_INSTRUCTION; - -/* ---------------------------------------------------------------------------------------------------- */ - -#else - -#ifndef HETBYTE -# define HETBYTE uint8 -#endif - -typedef struct memory_format -{ - uint32 program_word ; - uint32 control_word ; - uint32 data_word ; - uint32 reserved_word ; -} HET_MEMORY ; - -/*---------------------------------------------*/ -/* ACMP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct acmp_format -{ - uint32 : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 : 1 ; - uint32 pin_action : 1 ; - uint32 : 3 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 en_pin_action : 1 ; - uint32 : 2 ; - uint32 coutprv : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - -} ACMP_FIELDS; - -typedef union -{ - ACMP_FIELDS acmp ; - HET_MEMORY memory ; -} ACMP_INSTRUCTION; - - -/*---------------------------------------------*/ -/* ECMP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct ecmp_format -{ - uint32 : 7 ; - uint32 angle_compare : 1 ; - uint32 hr_lr : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 opposite_action : 1 ; - uint32 pin_action : 1 ; - uint32 sub_opcode : 2 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 en_pin_action : 1 ; - uint32 : 3 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} ECMP_FIELDS; - -typedef union -{ - ECMP_FIELDS ecmp ; - HET_MEMORY memory ; -} ECMP_INSTRUCTION; - - -/*---------------------------------------------*/ -/* SCMP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct scmp_format -{ - uint32 : 5 ; - uint32 : 2 ; - uint32 : 2 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 restart_en : 1 ; - uint32 : 2 ; - uint32 pin_action : 1 ; - uint32 compare_mode : 2 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 en_pin_action : 1 ; - uint32 : 2 ; - uint32 coutprv : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - -} SCMP_FIELDS ; - -typedef union -{ - SCMP_FIELDS scmp ; - HET_MEMORY memory ; -} SCMP_INSTRUCTION; - - -/*---------------------------------------------*/ -/* MCMP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct mcmp_format -{ - uint32 : 5 ; - uint32 save_subtract : 1 ; - uint32 : 1 ; - uint32 angle_compare : 1 ; - uint32 hr_lr : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 opposite_action : 1 ; - uint32 pin_action : 1 ; - uint32 order : 1 ; - uint32 sub_opcode : 1 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 en_pin_action : 1 ; - uint32 : 3 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} MCMP_FIELDS ; - -typedef union -{ - MCMP_FIELDS mcmp ; - HET_MEMORY memory ; -} MCMP_INSTRUCTION; - -/*---------------------------------------------*/ -/* MOV64 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct mov64_format -{ - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 opposite_action : 1 ; - uint32 pin_action : 1 ; - uint32 compare_mode : 2 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 en_pin_action : 1 ; - uint32 : 3 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} MOV64_FIELDS ; - -typedef union -{ - MOV64_FIELDS mov64 ; - HET_MEMORY memory ; -} MOV64_INSTRUCTION; - - -/*---------------------------------------------*/ -/* DADM64 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct dadm64_format -{ - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 opposite_action : 1 ; - uint32 pin_action : 1 ; - uint32 compare_mode : 2 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 en_pin_action : 1 ; - uint32 : 3 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} DADM64_FIELDS ; - -typedef union -{ - DADM64_FIELDS dadm64 ; - HET_MEMORY memory ; -} DADM64_INSTRUCTION; - - -/*---------------------------------------------*/ -/* RADM64 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct RADM64_format -{ - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 opposite_action : 1 ; - uint32 pin_action : 1 ; - uint32 compare_mode : 2 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 en_pin_action : 1 ; - uint32 : 3 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} RADM64_FIELDS ; - - -typedef union -{ - RADM64_FIELDS radm64 ; - HET_MEMORY memory ; -} RADM64_INSTRUCTION; - - -/*---------------------------------------------*/ -/* MOV32 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct MOV32_format -{ - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 move_type : 2 ; - uint32 sub_opcode : 1 ; - uint32 init_flag : 1 ; - uint32 : 15 ; - uint32 z_flag : 1 ; - uint32 : 3 ; - uint32 auto_read_clear : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} MOV32_FIELDS ; - - -typedef union -{ - MOV32_FIELDS mov32 ; - HET_MEMORY memory ; -} MOV32_INSTRUCTION; - - -/*---------------------------------------------*/ -/* ADM32 INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct ADM32_format -{ - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 move_type : 2 ; - uint32 sub_opcode : 1 ; - uint32 init_flag : 1 ; - uint32 : 19 ; - uint32 auto_read_clear : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} ADM32_FIELDS ; - - -typedef union -{ - ADM32_FIELDS adm32 ; - HET_MEMORY memory ; -} ADM32_INSTRUCTION; - - -/*---------------------------------------------*/ -/* ADCNST INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct ADCNST_format -{ - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 constant : 25 ; - uint32 : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} ADCNST_FIELDS ; - - -typedef union -{ - ADCNST_FIELDS adcnst ; - HET_MEMORY memory ; -} ADCNST_INSTRUCTION; - - - -/*----------------------------------------------*/ -/* ADD INSTRUCTION */ -/*----------------------------------------------*/ -typedef struct ADD_format -{ - - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 : 1 ; - uint32 reg : 2 ; - uint32 rem_dest : 2 ; - uint32 sub_opcode1 : 1 ; - uint32 init_flag : 1 ; - uint32 reg_ext : 1 ; - uint32 shft_cnt : 5 ; - uint32 shft_mode : 3 ; - uint32 src_2 : 3 ; - uint32 src_1 : 4 ; - uint32 sub_opcode3 : 3 ; - uint32 control : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - - -} ADD_FIELDS ; - - -typedef union -{ - ADD_FIELDS add ; - HET_MEMORY memory ; -} ADD_INSTRUCTION; - - - - -/*----------------------------------------------*/ -/* ADC INSTRUCTION */ -/*----------------------------------------------*/ - - -typedef struct ADC_format -{ - - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 : 1 ; - uint32 reg : 2 ; - uint32 rem_dest : 2 ; - uint32 sub_opcode1 : 1 ; - uint32 init_flag : 1 ; - uint32 reg_ext : 1 ; - uint32 shft_cnt : 5 ; - uint32 shft_mode : 3 ; - uint32 src_2 : 3 ; - uint32 src_1 : 4 ; - uint32 sub_opcode3 : 3 ; - uint32 control : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - - -} ADC_FIELDS ; - - -typedef union -{ - ADC_FIELDS adc ; - HET_MEMORY memory ; -} ADC_INSTRUCTION; - - - - -/*----------------------------------------------*/ -/* SUB INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct SUB_format -{ - - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 : 1 ; - uint32 reg : 2 ; - uint32 rem_dest : 2 ; - uint32 sub_opcode1 : 1 ; - uint32 init_flag : 1 ; - uint32 reg_ext : 1 ; - uint32 shft_cnt : 5 ; - uint32 shft_mode : 3 ; - uint32 src_2 : 3 ; - uint32 src_1 : 4 ; - uint32 sub_opcode3 : 3 ; - uint32 control : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - - -} SUB_FIELDS ; - - -typedef union -{ - SUB_FIELDS sub ; - HET_MEMORY memory ; -} SUB_INSTRUCTION; - - - - - -/*----------------------------------------------*/ -/* SBB INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct SBB_format -{ - - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 : 1 ; - uint32 reg : 2 ; - uint32 rem_dest : 2 ; - uint32 sub_opcode1 : 1 ; - uint32 init_flag : 1 ; - uint32 reg_ext : 1 ; - uint32 shft_cnt : 5 ; - uint32 shft_mode : 3 ; - uint32 src_2 : 3 ; - uint32 src_1 : 4 ; - uint32 sub_opcode3 : 3 ; - uint32 control : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - - -} SBB_FIELDS ; - - -typedef union -{ - SBB_FIELDS sbb ; - HET_MEMORY memory ; -} SBB_INSTRUCTION; - - - - -/*----------------------------------------------*/ -/* AND INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct AND_format -{ - - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 : 1 ; - uint32 reg : 2 ; - uint32 rem_dest : 2 ; - uint32 sub_opcode1 : 1 ; - uint32 init_flag : 1 ; - uint32 reg_ext : 1 ; - uint32 shft_cnt : 5 ; - uint32 shft_mode : 3 ; - uint32 src_2 : 3 ; - uint32 src_1 : 4 ; - uint32 sub_opcode3 : 3 ; - uint32 control : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - - -} AND_FIELDS ; - - -typedef union -{ -#ifdef __cplusplus - AND_FIELDS and_cpp ; -#else - AND_FIELDS and ; -#endif - HET_MEMORY memory ; -} AND_INSTRUCTION; - - - -/*----------------------------------------------*/ -/* OR INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct OR_format -{ - - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 : 1 ; - uint32 reg : 2 ; - uint32 rem_dest : 2 ; - uint32 sub_opcode1 : 1 ; - uint32 init_flag : 1 ; - uint32 reg_ext : 1 ; - uint32 shft_cnt : 5 ; - uint32 shft_mode : 3 ; - uint32 src_2 : 3 ; - uint32 src_1 : 4 ; - uint32 sub_opcode3 : 3 ; - uint32 control : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - - -} OR_FIELDS ; - - -typedef union -{ -#ifdef __cplusplus - OR_FIELDS or_cpp ; -#else - OR_FIELDS or ; -#endif - HET_MEMORY memory ; -} OR_INSTRUCTION; - - - -/*----------------------------------------------*/ -/* XOR INSTRUCTION */ -/*----------------------------------------------*/ - -typedef struct XOR_format -{ - - uint32 remote_address : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 : 1 ; - uint32 reg : 2 ; - uint32 rem_dest : 2 ; - uint32 sub_opcode1 : 1 ; - uint32 init_flag : 1 ; - uint32 reg_ext : 1 ; - uint32 shft_cnt : 5 ; - uint32 shft_mode : 3 ; - uint32 src_2 : 3 ; - uint32 src_1 : 4 ; - uint32 sub_opcode3 : 3 ; - uint32 control : 1 ; - uint32 : 5 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - - -} XOR_FIELDS ; - - -typedef union -{ -#ifdef __cplusplus - XOR_FIELDS xor_cpp ; -#else - XOR_FIELDS xor ; -#endif - HET_MEMORY memory ; -} XOR_INSTRUCTION; - - - - -/*---------------------------------------------*/ -/* CNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct CNT_format -{ - uint32 interrupt_enable : 1 ; - uint32 : 4 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 angle_cnt : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 max : 25 ; - uint32 : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - -} CNT_FIELDS ; - -typedef union -{ - CNT_FIELDS cnt ; - HET_MEMORY memory ; -} CNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* APCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct apcnt_format -{ - uint32 : 6 ; - uint32 edge_select : 2 ; - uint32 interrupt_enable : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 count : 25 ; - uint32 previous_bit : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - -} APCNT_FIELDS ; - -typedef union -{ - APCNT_FIELDS apcnt ; - HET_MEMORY memory ; -} APCNT_INSTRUCTION; - - - -/*---------------------------------------------*/ -/* PCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct pcnt_format -{ - uint32 pin_select : 5 ; - uint32 : 1 ; - uint32 period_pulse_select : 2 ; - uint32 interrupt_enable : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 count : 25 ; - uint32 previous_bit : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} PCNT_FIELDS ; - -typedef union -{ - PCNT_FIELDS pcnt ; - HET_MEMORY memory ; -} PCNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* SCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct scnt_format -{ - uint32 : 4 ; - uint32 step_width : 2 ; - uint32 count_mode : 2 ; - uint32 : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 : 9 ; - - uint32 gap_start : 25 ; - uint32 : 1 ; - uint32 auto_read_clear : 1 ; - uint32 : 5 ; - - uint32 : 7 ; - uint32 data : 25 ; - -} SCNT_FIELDS ; - -typedef union -{ - SCNT_FIELDS scnt ; - HET_MEMORY memory ; -} SCNT_INSTRUCTION; - -/*---------------------------------------------*/ -/* ACNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct acnt_format -{ - uint32 interrupt_enable : 1 ; - uint32 : 7 ; - uint32 edge_select : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 gap_end : 25 ; - uint32 previous_bit : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - -} ACNT_FIELDS ; - -typedef union -{ - ACNT_FIELDS acnt ; - HET_MEMORY memory ; -} ACNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* ECNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct ecnt_format -{ - uint32 : 6 ; - uint32 count_mode : 2 ; - uint32 : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 : 1 ; - uint32 count_cond : 3 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 : 3 ; - uint32 previous_bit : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - - -} ECNT_FIELDS ; - -typedef union -{ - ECNT_FIELDS ecnt ; - HET_MEMORY memory ; -} ECNT_INSTRUCTION; - -/*---------------------------------------------*/ -/* RCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct rcnt_format -{ - - uint32 count_mode1 : 1 ; - uint32 : 5 ; - uint32 count_mode : 2 ; - uint32 : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - - uint32 divisor : 25 ; - uint32 : 1 ; - uint32 control : 1 ; - uint32 : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - - -} RCNT_FIELDS ; - -typedef union -{ - RCNT_FIELDS rcnt ; - HET_MEMORY memory ; -} RCNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* DJNZ INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct djnz_format -{ - uint32 : 6 ; - uint32 sub_opcode : 2 ; - uint32 : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 : 10 ; - uint32 cond_addr : 9 ; - uint32 : 4 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - -} DJNZ_FIELDS ; - -typedef union -{ - DJNZ_FIELDS djnz ; - HET_MEMORY memory ; -} DJNZ_INSTRUCTION; - - -/*---------------------------------------------*/ -/* DJZ INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct djz_format -{ - uint32 : 6 ; - uint32 sub_opcode : 2 ; - uint32 : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 : 10 ; - uint32 cond_addr : 9 ; - uint32 : 4 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - -} DJZ_FIELDS ; - -typedef union -{ - DJZ_FIELDS djz ; - HET_MEMORY memory ; -} DJZ_INSTRUCTION; - -/*---------------------------------------------*/ -/* PWCNT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct pwcnt_format -{ - uint32 : 6 ; - uint32 count_mode : 2 ; - uint32 hr_lr : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 opposite_action : 1 ; - uint32 pin_action : 1 ; - uint32 : 3 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 en_pin_action : 1 ; - uint32 : 3 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} PWCNT_FIELDS ; - -typedef union -{ - PWCNT_FIELDS pwcnt ; - HET_MEMORY memory ; -} PWCNT_INSTRUCTION; - - -/*---------------------------------------------*/ -/* WCAP INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct wcap_format -{ - uint32 : 8 ; - uint32 hr_lr : 1 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 : 2 ; - uint32 capture_condition : 2 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 : 3 ; - uint32 previous_bit : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} WCAP_FIELDS ; - -typedef union -{ - WCAP_FIELDS wcap ; - HET_MEMORY memory ; -} WCAP_INSTRUCTION; - -/*----------------------------------------------*/ -/* WCAPE INSTRUCTION */ -/*----------------------------------------------*/ -typedef struct wcape_format -{ - uint32 : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 : 2 ; - uint32 capture_condition : 2 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 previous_bit : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 ec_data : 7 ; - uint32 ts_data : 25 ; - -} WCAPE_FIELDS ; - -typedef union -{ - WCAPE_FIELDS wcape ; - HET_MEMORY memory ; -} WCAPE_INSTRUCTION; - - -/*---------------------------------------------*/ -/* BR INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct br_format -{ - uint32 : 9 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 : 2 ; - uint32 : 1 ; - uint32 : 1 ; - uint32 branch_condition : 3 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 : 3 ; - uint32 previous_bit : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 hr_data : 7 ; - uint32 data : 25 ; - -} BR_FIELDS ; - -typedef union -{ - BR_FIELDS br ; - HET_MEMORY memory ; -} BR_INSTRUCTION; - - -/*---------------------------------------------*/ -/* SHFT INSTRUCTION */ -/*---------------------------------------------*/ -typedef struct shft_format -{ - uint32 shift_mode : 4 ; - uint32 : 5 ; - uint32 op_code : 4 ; - uint32 next_program_address : 9 ; - uint32 brk : 1 ; - uint32 reqnum : 3 ; - uint32 : 6 ; - - uint32 interrupt_enable : 1 ; - uint32 ab_register_select : 1 ; - uint32 t_register_select : 1 ; - uint32 : 2 ; - uint32 shift_condition : 2 ; - uint32 : 1 ; - uint32 pin_select : 5 ; - uint32 cond_addr : 9 ; - uint32 : 3 ; - uint32 previous_bit : 1 ; - uint32 auto_read_clear : 1 ; - uint32 request : 2 ; - uint32 : 3 ; - - uint32 : 7 ; - uint32 data : 25 ; - -} SHFT_FIELDS ; - -typedef union -{ - SHFT_FIELDS shft ; - HET_MEMORY memory ; -} SHFT_INSTRUCTION; - -#endif - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -#ifdef __cplusplus -} -#endif /*extern "C" */ - -#endif -/*--------------------------- End Of File ----------------------------------*/ +/** @file std_nhet.h +* @brief NHET Instruction Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +#ifndef __STD_NHET_H__ +#define __STD_NHET_H__ + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +#include "sys_common.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +#ifndef HET_v2 +# define HET_v2 0 +#endif + +#if ((__little_endian__ == 0) || (__LITTLE_ENDIAN__ == 0) || defined(_TMS470_BIG) || defined(__big_endian__)) + +#ifndef HETBYTE +# define HETBYTE uint8 +#endif + +typedef struct memory_format +{ + uint32 program_word ; + uint32 control_word ; + uint32 data_word ; + uint32 reserved_word ; +} HET_MEMORY ; + +/*---------------------------------------------*/ +/* ACMP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct acmp_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 9 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 coutprv : 1 ; + uint32 : 2 ; + uint32 en_pin_action : 1 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 ext_reg : 1 ; + uint32 : 2 ; + uint32 pin_action : 1 ; + uint32 : 1 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + uint32 data : 25 ; + uint32 : 7 ; + +} ACMP_FIELDS; + +typedef union +{ + ACMP_FIELDS acmp ; + HET_MEMORY memory ; +} ACMP_INSTRUCTION; + + +/*---------------------------------------------*/ +/* ECMP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct ecmp_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 hr_lr : 1 ; + uint32 angle_compare : 1 ; + uint32 : 7 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 : 3 ; + uint32 en_pin_action : 1 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 sub_opcode : 2 ; + uint32 pin_action : 1 ; + uint32 opposite_action : 1 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} ECMP_FIELDS; + +typedef union +{ + ECMP_FIELDS ecmp ; + HET_MEMORY memory ; +} ECMP_INSTRUCTION; + + +/*---------------------------------------------*/ +/* SCMP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct scmp_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 2 ; + uint32 : 2 ; + uint32 : 5 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 coutprv : 1 ; + uint32 : 2 ; + uint32 en_pin_action : 1 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 compare_mode : 2 ; + uint32 pin_action : 1 ; + uint32 : 2 ; + uint32 restart_en : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} SCMP_FIELDS ; + +typedef union +{ + SCMP_FIELDS scmp ; + HET_MEMORY memory ; +} SCMP_INSTRUCTION; + + +/*---------------------------------------------*/ +/* MCMP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct mcmp_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 hr_lr : 1 ; + uint32 angle_compare : 1 ; + uint32 : 1 ; + uint32 save_subtract : 1 ; + uint32 : 5 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 : 3 ; + uint32 en_pin_action : 1 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 sub_opcode : 1 ; + uint32 order : 1 ; + uint32 pin_action : 1 ; + uint32 opposite_action : 1 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} MCMP_FIELDS ; + +typedef union +{ + MCMP_FIELDS mcmp ; + HET_MEMORY memory ; +} MCMP_INSTRUCTION; + + +/*---------------------------------------------*/ +/* MOV64 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct mov64_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 : 3 ; + uint32 en_pin_action : 1 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 compare_mode : 2 ; + uint32 pin_action : 1 ; + uint32 opposite_action : 1 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} MOV64_FIELDS ; + +typedef union +{ + MOV64_FIELDS mov64 ; + HET_MEMORY memory ; +} MOV64_INSTRUCTION; + + +/*---------------------------------------------*/ +/* DADM64 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct dadm64_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 : 3 ; + uint32 en_pin_action : 1 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 compare_mode : 2 ; + uint32 pin_action : 1 ; + uint32 opposite_action : 1 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} DADM64_FIELDS ; + +typedef union +{ + DADM64_FIELDS dadm64 ; + HET_MEMORY memory ; +} DADM64_INSTRUCTION; + + +/*---------------------------------------------*/ +/* RADM64 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct RADM64_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 : 3 ; + uint32 en_pin_action : 1 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 compare_mode : 2 ; + uint32 pin_action : 1 ; + uint32 opposite_action : 1 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} RADM64_FIELDS ; + + +typedef union +{ + RADM64_FIELDS radm64 ; + HET_MEMORY memory ; +} RADM64_INSTRUCTION; + + +/*---------------------------------------------*/ +/* MOV32 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct MOV32_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 auto_read_clear : 1 ; + uint32 : 3 ; + uint32 z_flag : 1 ; + uint32 : 15 ; + uint32 init_flag : 1 ; + uint32 sub_opcode : 1 ; + uint32 move_type : 2 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} MOV32_FIELDS ; + + +typedef union +{ + MOV32_FIELDS mov32 ; + HET_MEMORY memory ; +} MOV32_INSTRUCTION; + + +/*---------------------------------------------*/ +/* ADM32 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct ADM32_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 auto_read_clear : 1 ; + uint32 : 19 ; + uint32 init_flag : 1 ; + uint32 sub_opcode : 1 ; + uint32 move_type : 2 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} ADM32_FIELDS ; + + +typedef union +{ + ADM32_FIELDS adm32 ; + HET_MEMORY memory ; +} ADM32_INSTRUCTION; + + +/*---------------------------------------------*/ +/* ADCNST INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct ADCNST_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 control : 1 ; /* pk */ + uint32 : 1 ; + uint32 constant : 25 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} ADCNST_FIELDS ; + + +typedef union +{ + ADCNST_FIELDS adcnst ; + HET_MEMORY memory ; +} ADCNST_INSTRUCTION; + + +/*----------------------------------------------*/ +/* ADD INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct ADD_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 control : 1; + uint32 sub_opcode3 : 3 ; + uint32 src_1 : 4 ; + uint32 src_2 : 3 ; + uint32 shft_mode : 3 ; + uint32 shft_cnt : 5 ; + uint32 reg_ext : 1 ; + uint32 init_flag : 1 ; + uint32 sub_opcode1 : 1 ; + uint32 rem_dest : 2 ; + uint32 reg : 2 ; + uint32 : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} ADD_FIELDS ; + + +typedef union +{ + ADD_FIELDS add ; + HET_MEMORY memory ; +} ADD_INSTRUCTION; + + + +/*----------------------------------------------*/ +/* ADC INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct ADC_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 control : 1; + uint32 sub_opcode3 : 3 ; + uint32 src_1 : 4 ; + uint32 src_2 : 3 ; + uint32 shft_mode : 3 ; + uint32 shft_cnt : 5 ; + uint32 reg_ext : 1 ; + uint32 init_flag : 1 ; + uint32 sub_opcode1 : 1 ; + uint32 rem_dest : 2 ; + uint32 reg : 2 ; + uint32 : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} ADC_FIELDS ; + + +typedef union +{ + ADC_FIELDS adc ; + HET_MEMORY memory ; +} ADC_INSTRUCTION; + + + +/*----------------------------------------------*/ +/* SUB INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct SUB_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 control : 1; + uint32 sub_opcode3 : 3 ; + uint32 src_1 : 4 ; + uint32 src_2 : 3 ; + uint32 shft_mode : 3 ; + uint32 shft_cnt : 5 ; + uint32 reg_ext : 1 ; + uint32 init_flag : 1 ; + uint32 sub_opcode1 : 1 ; + uint32 rem_dest : 2 ; + uint32 reg : 2 ; + uint32 : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} SUB_FIELDS ; + + +typedef union +{ + SUB_FIELDS sub ; + HET_MEMORY memory ; +} SUB_INSTRUCTION; + + + +/*----------------------------------------------*/ +/* SBB INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct SBB_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 control : 1; + uint32 sub_opcode3 : 3 ; + uint32 src_1 : 4 ; + uint32 src_2 : 3 ; + uint32 shft_mode : 3 ; + uint32 shft_cnt : 5 ; + uint32 reg_ext : 1 ; + uint32 init_flag : 1 ; + uint32 sub_opcode1 : 1 ; + uint32 rem_dest : 2 ; + uint32 reg : 2 ; + uint32 : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} SBB_FIELDS ; + + +typedef union +{ + SBB_FIELDS sbb ; + HET_MEMORY memory ; +} SBB_INSTRUCTION; + + + +/*----------------------------------------------*/ +/* AND INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct AND_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 control : 1; + uint32 sub_opcode3 : 3 ; + uint32 src_1 : 4 ; + uint32 src_2 : 3 ; + uint32 shft_mode : 3 ; + uint32 shft_cnt : 5 ; + uint32 reg_ext : 1 ; + uint32 init_flag : 1 ; + uint32 sub_opcode1 : 1 ; + uint32 rem_dest : 2 ; + uint32 reg : 2 ; + uint32 : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} AND_FIELDS ; + + +typedef union +{ +#ifdef __cplusplus + AND_FIELDS and_cpp ; +#else + AND_FIELDS and ; +#endif + HET_MEMORY memory ; +} AND_INSTRUCTION; + + + +/*----------------------------------------------*/ +/* OR INSTRUCTION */ +/*----------------------------------------------*/ + + +typedef struct OR_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 control : 1; + uint32 sub_opcode3 : 3 ; + uint32 src_1 : 4 ; + uint32 src_2 : 3 ; + uint32 shft_mode : 3 ; + uint32 shft_cnt : 5 ; + uint32 reg_ext : 1 ; + uint32 init_flag : 1 ; + uint32 sub_opcode1 : 1 ; + uint32 rem_dest : 2 ; + uint32 reg : 2 ; + uint32 : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} OR_FIELDS ; + + +typedef union +{ +#ifdef __cplusplus + OR_FIELDS or_cpp ; +#else + OR_FIELDS or ; +#endif + HET_MEMORY memory ; +} OR_INSTRUCTION; + + + +/*----------------------------------------------*/ +/* XOR INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct XOR_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 remote_address : 9 ; + + uint32 : 5 ; + uint32 control : 1; + uint32 sub_opcode3 : 3 ; + uint32 src_1 : 4 ; + uint32 src_2 : 3 ; + uint32 shft_mode : 3 ; + uint32 shft_cnt : 5 ; + uint32 reg_ext : 1 ; + uint32 init_flag : 1 ; + uint32 sub_opcode1 : 1 ; + uint32 rem_dest : 2 ; + uint32 reg : 2 ; + uint32 : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} XOR_FIELDS ; + + +typedef union +{ +#ifdef __cplusplus + XOR_FIELDS xor_cpp ; +#else + XOR_FIELDS xor ; +#endif + HET_MEMORY memory ; +} XOR_INSTRUCTION; + + + +/*---------------------------------------------*/ +/* CNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct CNT_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 angle_cnt : 1 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 : 4 ; + uint32 interrupt_enable : 1 ; + + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 : 1 ; + uint32 max : 25 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} CNT_FIELDS ; + +typedef union +{ + CNT_FIELDS cnt ; + HET_MEMORY memory ; +} CNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* APCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct apcnt_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 interrupt_enable : 1 ; + uint32 edge_select : 2 ; + uint32 : 6 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 previous_bit : 1 ; + uint32 count : 25 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} APCNT_FIELDS ; + +typedef union +{ + APCNT_FIELDS apcnt ; + HET_MEMORY memory ; +} APCNT_INSTRUCTION; + + + +/*---------------------------------------------*/ +/* PCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct pcnt_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 interrupt_enable : 1 ; + uint32 period_pulse_select : 2 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 previous_bit : 1 ; + uint32 count : 25 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} PCNT_FIELDS ; + +typedef union +{ + PCNT_FIELDS pcnt ; + HET_MEMORY memory ; +} PCNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* SCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct scnt_format +{ + uint32 : 9 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 1 ; + uint32 count_mode : 2 ; + uint32 step_width : 2 ; + uint32 : 4 ; + + uint32 : 5 ; + uint32 auto_read_clear : 1 ; + uint32 : 1 ; + uint32 gap_start : 25 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} SCNT_FIELDS ; + +typedef union +{ + SCNT_FIELDS scnt ; + HET_MEMORY memory ; +} SCNT_INSTRUCTION; + + + +/*---------------------------------------------*/ +/* ACNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct acnt_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 edge_select : 1 ; + uint32 : 7 ; + uint32 interrupt_enable : 1 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 previous_bit : 1 ; + uint32 gap_end : 25 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} ACNT_FIELDS ; + +typedef union +{ + ACNT_FIELDS acnt ; + HET_MEMORY memory ; +} ACNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* ECNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct ecnt_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 1 ; + uint32 count_mode : 2 ; + uint32 : 6 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 previous_bit : 1 ; + uint32 : 3 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 count_cond : 3 ; + uint32 : 1 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} ECNT_FIELDS ; + +typedef union +{ + ECNT_FIELDS ecnt ; + HET_MEMORY memory ; +} ECNT_INSTRUCTION; + + + +/*---------------------------------------------*/ +/* RCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct rcnt_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 1 ; + uint32 count_mode : 2 ; + uint32 : 5 ; + uint32 count_mode1 : 1 ; + + uint32 : 3 ; + uint32 : 2 ; + uint32 control : 1 ; + uint32 : 1 ; + uint32 divisor : 25 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} RCNT_FIELDS ; + +typedef union +{ + RCNT_FIELDS rcnt ; + HET_MEMORY memory ; +} RCNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* DJNZ INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct djnz_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 1 ; + uint32 sub_opcode : 2 ; + uint32 : 6 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 : 4 ; + uint32 cond_addr : 9 ; + uint32 : 10 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} DJNZ_FIELDS ; + +typedef union +{ + DJNZ_FIELDS djnz ; + HET_MEMORY memory ; +} DJNZ_INSTRUCTION; + + +/*---------------------------------------------*/ +/* DJZ INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct djz_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 1 ; + uint32 sub_opcode : 2 ; + uint32 : 6 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 : 4 ; + uint32 cond_addr : 9 ; + uint32 : 10 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} DJZ_FIELDS ; + +typedef union +{ + DJZ_FIELDS djz ; + HET_MEMORY memory ; +} DJZ_INSTRUCTION; + +/*---------------------------------------------*/ +/* PWCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct pwcnt_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 hr_lr : 1 ; + uint32 count_mode : 2 ; + uint32 : 6 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 : 3 ; + uint32 en_pin_action : 1 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 3 ; + uint32 pin_action : 1 ; + uint32 opposite_action : 1 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} PWCNT_FIELDS ; + +typedef union +{ + PWCNT_FIELDS pwcnt ; + HET_MEMORY memory ; +} PWCNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* WCAP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct wcap_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 hr_lr : 1 ; + uint32 : 8 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 previous_bit : 1 ; + uint32 : 3 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 capture_condition : 2 ; + uint32 : 2 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} WCAP_FIELDS ; + +typedef union +{ + WCAP_FIELDS wcap ; + HET_MEMORY memory ; +} WCAP_INSTRUCTION; + +/*----------------------------------------------*/ +/* WCAPE INSTRUCTION */ +/*----------------------------------------------*/ +typedef struct wcape_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 9 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 previous_bit : 1 ; + uint32 : 3 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 capture_condition : 2 ; + uint32 : 2 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 ts_data : 25 ; + uint32 ec_data : 7 ; + +} WCAPE_FIELDS ; + +typedef union +{ + WCAPE_FIELDS wcape ; + HET_MEMORY memory ; +} WCAPE_INSTRUCTION; + + +/*---------------------------------------------*/ +/* BR INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct br_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 9 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 previous_bit : 1 ; + uint32 : 3 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + +#if HET_v2 + uint32 branch_condition : 5 ; +#else + uint32 branch_condition : 3 ; + uint32 : 1 ; + uint32 : 1 ; +#endif + + uint32 : 2 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 hr_data : 7 ; + +} BR_FIELDS ; + +typedef union +{ + BR_FIELDS br ; + HET_MEMORY memory ; +} BR_INSTRUCTION; + + +/*---------------------------------------------*/ +/* SHFT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct shft_format +{ + uint32 : 6 ; + uint32 reqnum : 3 ; + uint32 brk : 1 ; + uint32 next_program_address : 9 ; + uint32 op_code : 4 ; + uint32 : 5 ; + uint32 shift_mode : 4 ; + + uint32 : 3 ; + uint32 request : 2 ; + uint32 auto_read_clear : 1 ; + uint32 previous_bit : 1 ; + uint32 : 3 ; + uint32 cond_addr : 9 ; + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 shift_condition : 2 ; + uint32 : 2 ; + uint32 t_register_select : 1 ; + uint32 ab_register_select : 1 ; + uint32 interrupt_enable : 1 ; + + + uint32 data : 25 ; + uint32 : 7 ; + +} SHFT_FIELDS ; + +typedef union +{ + SHFT_FIELDS shft ; + HET_MEMORY memory ; +} SHFT_INSTRUCTION; + +/* ---------------------------------------------------------------------------------------------------- */ + +#else + +#ifndef HETBYTE +# define HETBYTE uint8 +#endif + +typedef struct memory_format +{ + uint32 program_word ; + uint32 control_word ; + uint32 data_word ; + uint32 reserved_word ; +} HET_MEMORY ; + +/*---------------------------------------------*/ +/* ACMP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct acmp_format +{ + uint32 : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 : 1 ; + uint32 pin_action : 1 ; + uint32 : 3 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 en_pin_action : 1 ; + uint32 : 2 ; + uint32 coutprv : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + +} ACMP_FIELDS; + +typedef union +{ + ACMP_FIELDS acmp ; + HET_MEMORY memory ; +} ACMP_INSTRUCTION; + + +/*---------------------------------------------*/ +/* ECMP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct ecmp_format +{ + uint32 : 7 ; + uint32 angle_compare : 1 ; + uint32 hr_lr : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 opposite_action : 1 ; + uint32 pin_action : 1 ; + uint32 sub_opcode : 2 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 en_pin_action : 1 ; + uint32 : 3 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} ECMP_FIELDS; + +typedef union +{ + ECMP_FIELDS ecmp ; + HET_MEMORY memory ; +} ECMP_INSTRUCTION; + + +/*---------------------------------------------*/ +/* SCMP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct scmp_format +{ + uint32 : 5 ; + uint32 : 2 ; + uint32 : 2 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 restart_en : 1 ; + uint32 : 2 ; + uint32 pin_action : 1 ; + uint32 compare_mode : 2 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 en_pin_action : 1 ; + uint32 : 2 ; + uint32 coutprv : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + +} SCMP_FIELDS ; + +typedef union +{ + SCMP_FIELDS scmp ; + HET_MEMORY memory ; +} SCMP_INSTRUCTION; + + +/*---------------------------------------------*/ +/* MCMP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct mcmp_format +{ + uint32 : 5 ; + uint32 save_subtract : 1 ; + uint32 : 1 ; + uint32 angle_compare : 1 ; + uint32 hr_lr : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 opposite_action : 1 ; + uint32 pin_action : 1 ; + uint32 order : 1 ; + uint32 sub_opcode : 1 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 en_pin_action : 1 ; + uint32 : 3 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} MCMP_FIELDS ; + +typedef union +{ + MCMP_FIELDS mcmp ; + HET_MEMORY memory ; +} MCMP_INSTRUCTION; + +/*---------------------------------------------*/ +/* MOV64 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct mov64_format +{ + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 opposite_action : 1 ; + uint32 pin_action : 1 ; + uint32 compare_mode : 2 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 en_pin_action : 1 ; + uint32 : 3 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} MOV64_FIELDS ; + +typedef union +{ + MOV64_FIELDS mov64 ; + HET_MEMORY memory ; +} MOV64_INSTRUCTION; + + +/*---------------------------------------------*/ +/* DADM64 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct dadm64_format +{ + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 opposite_action : 1 ; + uint32 pin_action : 1 ; + uint32 compare_mode : 2 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 en_pin_action : 1 ; + uint32 : 3 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} DADM64_FIELDS ; + +typedef union +{ + DADM64_FIELDS dadm64 ; + HET_MEMORY memory ; +} DADM64_INSTRUCTION; + + +/*---------------------------------------------*/ +/* RADM64 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct RADM64_format +{ + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 opposite_action : 1 ; + uint32 pin_action : 1 ; + uint32 compare_mode : 2 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 en_pin_action : 1 ; + uint32 : 3 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} RADM64_FIELDS ; + + +typedef union +{ + RADM64_FIELDS radm64 ; + HET_MEMORY memory ; +} RADM64_INSTRUCTION; + + +/*---------------------------------------------*/ +/* MOV32 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct MOV32_format +{ + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 move_type : 2 ; + uint32 sub_opcode : 1 ; + uint32 init_flag : 1 ; + uint32 : 15 ; + uint32 z_flag : 1 ; + uint32 : 3 ; + uint32 auto_read_clear : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} MOV32_FIELDS ; + + +typedef union +{ + MOV32_FIELDS mov32 ; + HET_MEMORY memory ; +} MOV32_INSTRUCTION; + + +/*---------------------------------------------*/ +/* ADM32 INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct ADM32_format +{ + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 move_type : 2 ; + uint32 sub_opcode : 1 ; + uint32 init_flag : 1 ; + uint32 : 19 ; + uint32 auto_read_clear : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} ADM32_FIELDS ; + + +typedef union +{ + ADM32_FIELDS adm32 ; + HET_MEMORY memory ; +} ADM32_INSTRUCTION; + + +/*---------------------------------------------*/ +/* ADCNST INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct ADCNST_format +{ + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 constant : 25 ; + uint32 : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} ADCNST_FIELDS ; + + +typedef union +{ + ADCNST_FIELDS adcnst ; + HET_MEMORY memory ; +} ADCNST_INSTRUCTION; + + + +/*----------------------------------------------*/ +/* ADD INSTRUCTION */ +/*----------------------------------------------*/ +typedef struct ADD_format +{ + + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 : 1 ; + uint32 reg : 2 ; + uint32 rem_dest : 2 ; + uint32 sub_opcode1 : 1 ; + uint32 init_flag : 1 ; + uint32 reg_ext : 1 ; + uint32 shft_cnt : 5 ; + uint32 shft_mode : 3 ; + uint32 src_2 : 3 ; + uint32 src_1 : 4 ; + uint32 sub_opcode3 : 3 ; + uint32 control : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + + +} ADD_FIELDS ; + + +typedef union +{ + ADD_FIELDS add ; + HET_MEMORY memory ; +} ADD_INSTRUCTION; + + + + +/*----------------------------------------------*/ +/* ADC INSTRUCTION */ +/*----------------------------------------------*/ + + +typedef struct ADC_format +{ + + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 : 1 ; + uint32 reg : 2 ; + uint32 rem_dest : 2 ; + uint32 sub_opcode1 : 1 ; + uint32 init_flag : 1 ; + uint32 reg_ext : 1 ; + uint32 shft_cnt : 5 ; + uint32 shft_mode : 3 ; + uint32 src_2 : 3 ; + uint32 src_1 : 4 ; + uint32 sub_opcode3 : 3 ; + uint32 control : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + + +} ADC_FIELDS ; + + +typedef union +{ + ADC_FIELDS adc ; + HET_MEMORY memory ; +} ADC_INSTRUCTION; + + + + +/*----------------------------------------------*/ +/* SUB INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct SUB_format +{ + + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 : 1 ; + uint32 reg : 2 ; + uint32 rem_dest : 2 ; + uint32 sub_opcode1 : 1 ; + uint32 init_flag : 1 ; + uint32 reg_ext : 1 ; + uint32 shft_cnt : 5 ; + uint32 shft_mode : 3 ; + uint32 src_2 : 3 ; + uint32 src_1 : 4 ; + uint32 sub_opcode3 : 3 ; + uint32 control : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + + +} SUB_FIELDS ; + + +typedef union +{ + SUB_FIELDS sub ; + HET_MEMORY memory ; +} SUB_INSTRUCTION; + + + + + +/*----------------------------------------------*/ +/* SBB INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct SBB_format +{ + + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 : 1 ; + uint32 reg : 2 ; + uint32 rem_dest : 2 ; + uint32 sub_opcode1 : 1 ; + uint32 init_flag : 1 ; + uint32 reg_ext : 1 ; + uint32 shft_cnt : 5 ; + uint32 shft_mode : 3 ; + uint32 src_2 : 3 ; + uint32 src_1 : 4 ; + uint32 sub_opcode3 : 3 ; + uint32 control : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + + +} SBB_FIELDS ; + + +typedef union +{ + SBB_FIELDS sbb ; + HET_MEMORY memory ; +} SBB_INSTRUCTION; + + + + +/*----------------------------------------------*/ +/* AND INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct AND_format +{ + + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 : 1 ; + uint32 reg : 2 ; + uint32 rem_dest : 2 ; + uint32 sub_opcode1 : 1 ; + uint32 init_flag : 1 ; + uint32 reg_ext : 1 ; + uint32 shft_cnt : 5 ; + uint32 shft_mode : 3 ; + uint32 src_2 : 3 ; + uint32 src_1 : 4 ; + uint32 sub_opcode3 : 3 ; + uint32 control : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + + +} AND_FIELDS ; + + +typedef union +{ +#ifdef __cplusplus + AND_FIELDS and_cpp ; +#else + AND_FIELDS and ; +#endif + HET_MEMORY memory ; +} AND_INSTRUCTION; + + + +/*----------------------------------------------*/ +/* OR INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct OR_format +{ + + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 : 1 ; + uint32 reg : 2 ; + uint32 rem_dest : 2 ; + uint32 sub_opcode1 : 1 ; + uint32 init_flag : 1 ; + uint32 reg_ext : 1 ; + uint32 shft_cnt : 5 ; + uint32 shft_mode : 3 ; + uint32 src_2 : 3 ; + uint32 src_1 : 4 ; + uint32 sub_opcode3 : 3 ; + uint32 control : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + + +} OR_FIELDS ; + + +typedef union +{ +#ifdef __cplusplus + OR_FIELDS or_cpp ; +#else + OR_FIELDS or ; +#endif + HET_MEMORY memory ; +} OR_INSTRUCTION; + + + +/*----------------------------------------------*/ +/* XOR INSTRUCTION */ +/*----------------------------------------------*/ + +typedef struct XOR_format +{ + + uint32 remote_address : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 : 1 ; + uint32 reg : 2 ; + uint32 rem_dest : 2 ; + uint32 sub_opcode1 : 1 ; + uint32 init_flag : 1 ; + uint32 reg_ext : 1 ; + uint32 shft_cnt : 5 ; + uint32 shft_mode : 3 ; + uint32 src_2 : 3 ; + uint32 src_1 : 4 ; + uint32 sub_opcode3 : 3 ; + uint32 control : 1 ; + uint32 : 5 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + + +} XOR_FIELDS ; + + +typedef union +{ +#ifdef __cplusplus + XOR_FIELDS xor_cpp ; +#else + XOR_FIELDS xor ; +#endif + HET_MEMORY memory ; +} XOR_INSTRUCTION; + + + + +/*---------------------------------------------*/ +/* CNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct CNT_format +{ + uint32 interrupt_enable : 1 ; + uint32 : 4 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 angle_cnt : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 max : 25 ; + uint32 : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + +} CNT_FIELDS ; + +typedef union +{ + CNT_FIELDS cnt ; + HET_MEMORY memory ; +} CNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* APCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct apcnt_format +{ + uint32 : 6 ; + uint32 edge_select : 2 ; + uint32 interrupt_enable : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 count : 25 ; + uint32 previous_bit : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + +} APCNT_FIELDS ; + +typedef union +{ + APCNT_FIELDS apcnt ; + HET_MEMORY memory ; +} APCNT_INSTRUCTION; + + + +/*---------------------------------------------*/ +/* PCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct pcnt_format +{ + uint32 pin_select : 5 ; + uint32 : 1 ; + uint32 period_pulse_select : 2 ; + uint32 interrupt_enable : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 count : 25 ; + uint32 previous_bit : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} PCNT_FIELDS ; + +typedef union +{ + PCNT_FIELDS pcnt ; + HET_MEMORY memory ; +} PCNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* SCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct scnt_format +{ + uint32 : 4 ; + uint32 step_width : 2 ; + uint32 count_mode : 2 ; + uint32 : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 : 9 ; + + uint32 gap_start : 25 ; + uint32 : 1 ; + uint32 auto_read_clear : 1 ; + uint32 : 5 ; + + uint32 : 7 ; + uint32 data : 25 ; + +} SCNT_FIELDS ; + +typedef union +{ + SCNT_FIELDS scnt ; + HET_MEMORY memory ; +} SCNT_INSTRUCTION; + +/*---------------------------------------------*/ +/* ACNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct acnt_format +{ + uint32 interrupt_enable : 1 ; + uint32 : 7 ; + uint32 edge_select : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 gap_end : 25 ; + uint32 previous_bit : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + +} ACNT_FIELDS ; + +typedef union +{ + ACNT_FIELDS acnt ; + HET_MEMORY memory ; +} ACNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* ECNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct ecnt_format +{ + uint32 : 6 ; + uint32 count_mode : 2 ; + uint32 : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 : 1 ; + uint32 count_cond : 3 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 : 3 ; + uint32 previous_bit : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + + +} ECNT_FIELDS ; + +typedef union +{ + ECNT_FIELDS ecnt ; + HET_MEMORY memory ; +} ECNT_INSTRUCTION; + +/*---------------------------------------------*/ +/* RCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct rcnt_format +{ + + uint32 count_mode1 : 1 ; + uint32 : 5 ; + uint32 count_mode : 2 ; + uint32 : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + + uint32 divisor : 25 ; + uint32 : 1 ; + uint32 control : 1 ; + uint32 : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + + +} RCNT_FIELDS ; + +typedef union +{ + RCNT_FIELDS rcnt ; + HET_MEMORY memory ; +} RCNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* DJNZ INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct djnz_format +{ + uint32 : 6 ; + uint32 sub_opcode : 2 ; + uint32 : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 : 10 ; + uint32 cond_addr : 9 ; + uint32 : 4 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + +} DJNZ_FIELDS ; + +typedef union +{ + DJNZ_FIELDS djnz ; + HET_MEMORY memory ; +} DJNZ_INSTRUCTION; + + +/*---------------------------------------------*/ +/* DJZ INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct djz_format +{ + uint32 : 6 ; + uint32 sub_opcode : 2 ; + uint32 : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 : 10 ; + uint32 cond_addr : 9 ; + uint32 : 4 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + +} DJZ_FIELDS ; + +typedef union +{ + DJZ_FIELDS djz ; + HET_MEMORY memory ; +} DJZ_INSTRUCTION; + +/*---------------------------------------------*/ +/* PWCNT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct pwcnt_format +{ + uint32 : 6 ; + uint32 count_mode : 2 ; + uint32 hr_lr : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 opposite_action : 1 ; + uint32 pin_action : 1 ; + uint32 : 3 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 en_pin_action : 1 ; + uint32 : 3 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} PWCNT_FIELDS ; + +typedef union +{ + PWCNT_FIELDS pwcnt ; + HET_MEMORY memory ; +} PWCNT_INSTRUCTION; + + +/*---------------------------------------------*/ +/* WCAP INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct wcap_format +{ + uint32 : 8 ; + uint32 hr_lr : 1 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 : 2 ; + uint32 capture_condition : 2 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 : 3 ; + uint32 previous_bit : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} WCAP_FIELDS ; + +typedef union +{ + WCAP_FIELDS wcap ; + HET_MEMORY memory ; +} WCAP_INSTRUCTION; + +/*----------------------------------------------*/ +/* WCAPE INSTRUCTION */ +/*----------------------------------------------*/ +typedef struct wcape_format +{ + uint32 : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 : 2 ; + uint32 capture_condition : 2 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 previous_bit : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 ec_data : 7 ; + uint32 ts_data : 25 ; + +} WCAPE_FIELDS ; + +typedef union +{ + WCAPE_FIELDS wcape ; + HET_MEMORY memory ; +} WCAPE_INSTRUCTION; + + +/*---------------------------------------------*/ +/* BR INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct br_format +{ + uint32 : 9 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 : 2 ; + uint32 : 1 ; + uint32 : 1 ; + uint32 branch_condition : 3 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 : 3 ; + uint32 previous_bit : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 hr_data : 7 ; + uint32 data : 25 ; + +} BR_FIELDS ; + +typedef union +{ + BR_FIELDS br ; + HET_MEMORY memory ; +} BR_INSTRUCTION; + + +/*---------------------------------------------*/ +/* SHFT INSTRUCTION */ +/*---------------------------------------------*/ +typedef struct shft_format +{ + uint32 shift_mode : 4 ; + uint32 : 5 ; + uint32 op_code : 4 ; + uint32 next_program_address : 9 ; + uint32 brk : 1 ; + uint32 reqnum : 3 ; + uint32 : 6 ; + + uint32 interrupt_enable : 1 ; + uint32 ab_register_select : 1 ; + uint32 t_register_select : 1 ; + uint32 : 2 ; + uint32 shift_condition : 2 ; + uint32 : 1 ; + uint32 pin_select : 5 ; + uint32 cond_addr : 9 ; + uint32 : 3 ; + uint32 previous_bit : 1 ; + uint32 auto_read_clear : 1 ; + uint32 request : 2 ; + uint32 : 3 ; + + uint32 : 7 ; + uint32 data : 25 ; + +} SHFT_FIELDS ; + +typedef union +{ + SHFT_FIELDS shft ; + HET_MEMORY memory ; +} SHFT_INSTRUCTION; + +#endif + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +#ifdef __cplusplus +} +#endif /*extern "C" */ + +#endif +/*--------------------------- End Of File ----------------------------------*/ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_common.h b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_common.h index 2dd8f1d9..47c7bee1 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_common.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_common.h @@ -1,130 +1,130 @@ -/** @file sys_common.h -* @brief Common Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - General Definitions -* . -* which are relevant for all drivers. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __SYS_COMMON_H__ -#define __SYS_COMMON_H__ - -#include "hal_stdtypes.h" - -#ifdef __cplusplus -extern "C" { -#endif -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/************************************************************/ -/* Type Definitions */ -/************************************************************/ - -#ifndef _TBOOLEAN_DECLARED -typedef boolean tBoolean; -#define _TBOOLEAN_DECLARED -#endif - -/** @enum loopBackType -* @brief Loopback type definition -*/ -/** @typedef loopBackType_t -* @brief Loopback type Type Definition -* -* This type is used to select the module Loopback type Digital or Analog loopback. -*/ -typedef enum loopBackType -{ - Digital_Lbk = 0U, - Analog_Lbk = 1U -}loopBackType_t; - -/** @enum config_value_type -* @brief config type definition -*/ -/** @typedef config_value_type_t -* @brief config type Type Definition -* -* This type is used to specify the Initial and Current value. -*/ -typedef enum config_value_type -{ - InitialValue, - CurrentValue -}config_value_type_t; - -#ifndef __little_endian__ -#define __little_endian__ 0 -#endif -#ifndef __LITTLE_ENDIAN__ -#define __LITTLE_ENDIAN__ 0 -#endif - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/********************************************************************************/ -/* The ASSERT macro, which does the actual assertion checking. Typically, this */ -/* will be for procedure arguments. */ -/********************************************************************************/ -#ifdef DEBUG -#define ASSERT(expr) { \ - if(!(expr)) \ - { \ - __error__(__FILE__, __LINE__); \ - } \ - } -#else -#define ASSERT(expr) -#endif - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ -#ifdef __cplusplus -} -#endif - - -#endif +/** @file sys_common.h +* @brief Common Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - General Definitions +* . +* which are relevant for all drivers. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __SYS_COMMON_H__ +#define __SYS_COMMON_H__ + +#include "hal_stdtypes.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/************************************************************/ +/* Type Definitions */ +/************************************************************/ + +#ifndef _TBOOLEAN_DECLARED +typedef boolean tBoolean; +#define _TBOOLEAN_DECLARED +#endif + +/** @enum loopBackType +* @brief Loopback type definition +*/ +/** @typedef loopBackType_t +* @brief Loopback type Type Definition +* +* This type is used to select the module Loopback type Digital or Analog loopback. +*/ +typedef enum loopBackType +{ + Digital_Lbk = 0U, + Analog_Lbk = 1U +}loopBackType_t; + +/** @enum config_value_type +* @brief config type definition +*/ +/** @typedef config_value_type_t +* @brief config type Type Definition +* +* This type is used to specify the Initial and Current value. +*/ +typedef enum config_value_type +{ + InitialValue, + CurrentValue +}config_value_type_t; + +#ifndef __little_endian__ +#define __little_endian__ 0 +#endif +#ifndef __LITTLE_ENDIAN__ +#define __LITTLE_ENDIAN__ 0 +#endif + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/********************************************************************************/ +/* The ASSERT macro, which does the actual assertion checking. Typically, this */ +/* will be for procedure arguments. */ +/********************************************************************************/ +#ifdef DEBUG +#define ASSERT(expr) { \ + if(!(expr)) \ + { \ + __error__(__FILE__, __LINE__); \ + } \ + } +#else +#define ASSERT(expr) +#endif + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ +#ifdef __cplusplus +} +#endif + + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_core.h b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_core.h index 727e75a5..53e0e3a8 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_core.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_core.h @@ -1,358 +1,358 @@ -/** @file sys_core.h -* @brief System Core Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Core Interface Functions -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __SYS_CORE_H__ -#define __SYS_CORE_H__ - -#include "sys_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/** @def USER_STACK_LENGTH -* @brief USER Mode Stack length (in bytes) -* -* Alias for USER Mode Stack length (in bytes) -* -* @note: Use this macro for USER Mode Stack length (in bytes) -*/ -#define USER_STACK_LENGTH 0x00001000U - -/** @def SVC_STACK_LENGTH -* @brief SVC Mode Stack length (in bytes) -* -* Alias for SVC Mode Stack length (in bytes) -* -* @note: Use this macro for SVC Mode Stack length (in bytes) -*/ -#define SVC_STACK_LENGTH 0x00000100U - -/** @def FIQ_STACK_LENGTH -* @brief FIQ Mode Stack length (in bytes) -* -* Alias for FIQ Mode Stack length (in bytes) -* -* @note: Use this macro for FIQ Mode Stack length (in bytes) -*/ -#define FIQ_STACK_LENGTH 0x00000100U - -/** @def IRQ_STACK_LENGTH -* @brief IRQ Mode Stack length (in bytes) -* -* Alias for IRQ Mode Stack length (in bytes) -* -* @note: Use this macro for IRQ Mode Stack length (in bytes) -*/ -#define IRQ_STACK_LENGTH 0x00000100U - -/** @def ABORT_STACK_LENGTH -* @brief ABORT Mode Stack length (in bytes) -* -* Alias for ABORT Mode Stack length (in bytes) -* -* @note: Use this macro for ABORT Mode Stack length (in bytes) -*/ -#define ABORT_STACK_LENGTH 0x00000100U - -/** @def UNDEF_STACK_LENGTH -* @brief UNDEF Mode Stack length (in bytes) -* -* Alias for UNDEF Mode Stack length (in bytes) -* -* @note: Use this macro for UNDEF Mode Stack length (in bytes) -*/ -#define UNDEF_STACK_LENGTH 0x00000100U - -/* System Core Interface Functions */ - -/** @fn void _coreInitRegisters_(void) -* @brief Initialize Core register -*/ -void _coreInitRegisters_(void); - -/** @fn void _coreInitStackPointer_(void) -* @brief Initialize Core stack pointer -*/ -void _coreInitStackPointer_(void); - -/** @fn void _getCPSRValue_(void) -* @brief Get CPSR Value -*/ -uint32 _getCPSRValue_(void); - -/** @fn void _gotoCPUIdle_(void) -* @brief Take CPU to Idle state -*/ -void _gotoCPUIdle_(void); - -/** @fn void _coreEnableIrqVicOffset_(void) -* @brief Enable Irq offset propagation via Vic controller -*/ -void _coreEnableIrqVicOffset_(void); - -/** @fn void _coreEnableVfp_(void) -* @brief Enable vector floating point unit -*/ -void _coreEnableVfp_(void); - -/** @fn void _coreEnableEventBusExport_(void) -* @brief Enable event bus export for external monitoring modules -* @note It is required to enable event bus export to process ecc issues. -* -* This function enables event bus exports to external monitoring modules -* like tightly coupled RAM wrapper, Flash wrapper and error signaling module. -*/ -void _coreEnableEventBusExport_(void); - -/** @fn void _coreDisableEventBusExport_(void) -* @brief Disable event bus export for external monitoring modules -* -* This function disables event bus exports to external monitoring modules -* like tightly coupled RAM wrapper, Flash wrapper and error signaling module. -*/ -void _coreDisableEventBusExport_(void); - -/** @fn void _coreEnableRamEcc_(void) -* @brief Enable external ecc error for RAM odd and even bank -* @note It is required to enable event bus export to process ecc issues. -*/ -void _coreEnableRamEcc_(void); - -/** @fn void _coreDisableRamEcc_(void) -* @brief Disable external ecc error for RAM odd and even bank -*/ -void _coreDisableRamEcc_(void); - -/** @fn void _coreEnableFlashEcc_(void) -* @brief Enable external ecc error for the Flash -* @note It is required to enable event bus export to process ecc issues. -*/ -void _coreEnableFlashEcc_(void); - -/** @fn void _coreDisableFlashEcc_(void) -* @brief Disable external ecc error for the Flash -*/ -void _coreDisableFlashEcc_(void); - -/** @fn uint32 _coreGetDataFault_(void) -* @brief Get core data fault status register -* @return The function will return the data fault status register value: -* - bit [10,3..0]: -* - 0b00001: Alignment -> address is valid -* - 0b00000: Background -> address is valid -* - 0b01101: Permission -> address is valid -* - 0b01000: Precise External Abort -> address is valid -* - 0b10110: Imprecise External Abort -> address is unpredictable -* - 0b11001: Precise ECC Error -> address is valid -* - 0b11000: Imprecise ECC Error -> address is unpredictable -* - 0b00010: Debug -> address is unchanged -* - bit [11]: -* - 0: Read -* - 1: Write -* - bit [12]: -* - 0: AXI Decode Error (DECERR) -* - 1: AXI Slave Error (SLVERR) -*/ -uint32 _coreGetDataFault_(void); - -/** @fn void _coreClearDataFault_(void) -* @brief Clear core data fault status register -*/ -void _coreClearDataFault_(void); - -/** @fn uint32 _coreGetInstructionFault_(void) -* @brief Get core instruction fault status register -* @return The function will return the instruction fault status register value: -* - bit [10,3..0]: -* - 0b00001: Alignment -> address is valid -* - 0b00000: Background -> address is valid -* - 0b01101: Permission -> address is valid -* - 0b01000: Precise External Abort -> address is valid -* - 0b10110: Imprecise External Abort -> address is unpredictable -* - 0b11001: Precise ECC Error -> address is valid -* - 0b11000: Imprecise ECC Error -> address is unpredictable -* - 0b00010: Debug -> address is unchanged -* - bit [12]: -* - 0: AXI Decode Error (DECERR) -* - 1: AXI Slave Error (SLVERR) -*/ -uint32 _coreGetInstructionFault_(void); - -/** @fn void _coreClearInstructionFault_(void) -* @brief Clear core instruction fault status register -*/ -void _coreClearInstructionFault_(void); - -/** @fn uint32 _coreGetDataFaultAddress_(void) -* @brief Get core data fault address register -* @return The function will return the data fault address: -*/ -uint32 _coreGetDataFaultAddress_(void); - -/** @fn void _coreClearDataFaultAddress_(void) -* @brief Clear core data fault address register -*/ -void _coreClearDataFaultAddress_(void); - -/** @fn uint32 _coreGetInstructionFaultAddress_(void) -* @brief Get core instruction fault address register -* @return The function will return the instruction fault address: -*/ -uint32 _coreGetInstructionFaultAddress_(void); - -/** @fn void _coreClearInstructionFaultAddress_(void) -* @brief Clear core instruction fault address register -*/ -void _coreClearInstructionFaultAddress_(void); - -/** @fn uint32 _coreGetAuxiliaryDataFault_(void) -* @brief Get core auxiliary data fault status register -* @return The function will return the auxiliary data fault status register value: -* - bit [13..5]: -* - Index value for access giving error -* - bit [21]: -* - 0: Unrecoverable error -* - 1: Recoverable error -* - bit [23..22]: -* - 0: Side cache -* - 1: Side ATCM (Flash) -* - 2: Side BTCM (RAM) -* - 3: Reserved -* - bit [27..24]: -* - Cache way or way in which error occurred -*/ -uint32 _coreGetAuxiliaryDataFault_(void); - -/** @fn void _coreClearAuxiliaryDataFault_(void) -* @brief Clear core auxiliary data fault status register -*/ -void _coreClearAuxiliaryDataFault_(void); - -/** @fn uint32 _coreGetAuxiliaryInstructionFault_(void) -* @brief Get core auxiliary instruction fault status register -* @return The function will return the auxiliary instruction fault status register value: -* - bit [13..5]: -* - Index value for access giving error -* - bit [21]: -* - 0: Unrecoverable error -* - 1: Recoverable error -* - bit [23..22]: -* - 0: Side cache -* - 1: Side ATCM (Flash) -* - 2: Side BTCM (RAM) -* - 3: Reserved -* - bit [27..24]: -* - Cache way or way in which error occurred -*/ -uint32 _coreGetAuxiliaryInstructionFault_(void); - -/** @fn void _coreClearAuxiliaryInstructionFault_(void) -* @brief Clear core auxiliary instruction fault status register -*/ -void _coreClearAuxiliaryInstructionFault_(void); - -/** @fn void _disable_interrupt_(void) -* @brief Disable IRQ and FIQ Interrupt mode in CPSR register -* -* This function disables IRQ and FIQ Interrupt mode in CPSR register. -*/ -void _disable_interrupt_(void); - -/** @fn void _disable_IRQ_interrupt_(void) -* @brief Disable IRQ Interrupt mode in CPSR register -* -* This function disables IRQ Interrupt mode in CPSR register. -*/ -void _disable_IRQ_interrupt_(void); - -/** @fn void _disable_FIQ_interrupt_(void) -* @brief Disable FIQ Interrupt mode in CPSR register -* -* This function disables IRQ Interrupt mode in CPSR register. -*/ -void _disable_FIQ_interrupt_(void); - -/** @fn void _enable_interrupt_(void) -* @brief Enable IRQ and FIQ Interrupt mode in CPSR register -* -* This function Enables IRQ and FIQ Interrupt mode in CPSR register. -* User must call this function to enable Interrupts in non-OS environments. -*/ -void _enable_interrupt_(void); - -/** @fn void _esmCcmErrorsClear_(void) -* @brief Clears ESM Error caused due to CCM Errata in RevA Silicon -* -* This function Clears ESM Error caused due to CCM Errata -* in RevA Silicon immediately after powerup. -*/ -void _esmCcmErrorsClear_(void); - -/** @fn void _errata_CORTEXR4_66_(void) -* @brief Work Around for Errata CORTEX-R4#66 -* -* This function Disable out-of-order completion for divide -* instructions in Auxiliary Control register. -*/ -void _errata_CORTEXR4_66_(void); - -/** @fn void _errata_CORTEXR4_57_(void) -* @brief Work Around for Errata CORTEX-R4#57 -* -* Disable out-of-order single-precision floating point -* multiply-accumulate instruction completion. -*/ -void _errata_CORTEXR4_57_(void); - -#ifdef __cplusplus -} -#endif - -#endif +/** @file sys_core.h +* @brief System Core Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Core Interface Functions +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __SYS_CORE_H__ +#define __SYS_CORE_H__ + +#include "sys_common.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/** @def USER_STACK_LENGTH +* @brief USER Mode Stack length (in bytes) +* +* Alias for USER Mode Stack length (in bytes) +* +* @note: Use this macro for USER Mode Stack length (in bytes) +*/ +#define USER_STACK_LENGTH 0x00001000U + +/** @def SVC_STACK_LENGTH +* @brief SVC Mode Stack length (in bytes) +* +* Alias for SVC Mode Stack length (in bytes) +* +* @note: Use this macro for SVC Mode Stack length (in bytes) +*/ +#define SVC_STACK_LENGTH 0x00000100U + +/** @def FIQ_STACK_LENGTH +* @brief FIQ Mode Stack length (in bytes) +* +* Alias for FIQ Mode Stack length (in bytes) +* +* @note: Use this macro for FIQ Mode Stack length (in bytes) +*/ +#define FIQ_STACK_LENGTH 0x00000100U + +/** @def IRQ_STACK_LENGTH +* @brief IRQ Mode Stack length (in bytes) +* +* Alias for IRQ Mode Stack length (in bytes) +* +* @note: Use this macro for IRQ Mode Stack length (in bytes) +*/ +#define IRQ_STACK_LENGTH 0x00000100U + +/** @def ABORT_STACK_LENGTH +* @brief ABORT Mode Stack length (in bytes) +* +* Alias for ABORT Mode Stack length (in bytes) +* +* @note: Use this macro for ABORT Mode Stack length (in bytes) +*/ +#define ABORT_STACK_LENGTH 0x00000100U + +/** @def UNDEF_STACK_LENGTH +* @brief UNDEF Mode Stack length (in bytes) +* +* Alias for UNDEF Mode Stack length (in bytes) +* +* @note: Use this macro for UNDEF Mode Stack length (in bytes) +*/ +#define UNDEF_STACK_LENGTH 0x00000100U + +/* System Core Interface Functions */ + +/** @fn void _coreInitRegisters_(void) +* @brief Initialize Core register +*/ +void _coreInitRegisters_(void); + +/** @fn void _coreInitStackPointer_(void) +* @brief Initialize Core stack pointer +*/ +void _coreInitStackPointer_(void); + +/** @fn void _getCPSRValue_(void) +* @brief Get CPSR Value +*/ +uint32 _getCPSRValue_(void); + +/** @fn void _gotoCPUIdle_(void) +* @brief Take CPU to Idle state +*/ +void _gotoCPUIdle_(void); + +/** @fn void _coreEnableIrqVicOffset_(void) +* @brief Enable Irq offset propagation via Vic controller +*/ +void _coreEnableIrqVicOffset_(void); + +/** @fn void _coreEnableVfp_(void) +* @brief Enable vector floating point unit +*/ +void _coreEnableVfp_(void); + +/** @fn void _coreEnableEventBusExport_(void) +* @brief Enable event bus export for external monitoring modules +* @note It is required to enable event bus export to process ecc issues. +* +* This function enables event bus exports to external monitoring modules +* like tightly coupled RAM wrapper, Flash wrapper and error signaling module. +*/ +void _coreEnableEventBusExport_(void); + +/** @fn void _coreDisableEventBusExport_(void) +* @brief Disable event bus export for external monitoring modules +* +* This function disables event bus exports to external monitoring modules +* like tightly coupled RAM wrapper, Flash wrapper and error signaling module. +*/ +void _coreDisableEventBusExport_(void); + +/** @fn void _coreEnableRamEcc_(void) +* @brief Enable external ecc error for RAM odd and even bank +* @note It is required to enable event bus export to process ecc issues. +*/ +void _coreEnableRamEcc_(void); + +/** @fn void _coreDisableRamEcc_(void) +* @brief Disable external ecc error for RAM odd and even bank +*/ +void _coreDisableRamEcc_(void); + +/** @fn void _coreEnableFlashEcc_(void) +* @brief Enable external ecc error for the Flash +* @note It is required to enable event bus export to process ecc issues. +*/ +void _coreEnableFlashEcc_(void); + +/** @fn void _coreDisableFlashEcc_(void) +* @brief Disable external ecc error for the Flash +*/ +void _coreDisableFlashEcc_(void); + +/** @fn uint32 _coreGetDataFault_(void) +* @brief Get core data fault status register +* @return The function will return the data fault status register value: +* - bit [10,3..0]: +* - 0b00001: Alignment -> address is valid +* - 0b00000: Background -> address is valid +* - 0b01101: Permission -> address is valid +* - 0b01000: Precise External Abort -> address is valid +* - 0b10110: Imprecise External Abort -> address is unpredictable +* - 0b11001: Precise ECC Error -> address is valid +* - 0b11000: Imprecise ECC Error -> address is unpredictable +* - 0b00010: Debug -> address is unchanged +* - bit [11]: +* - 0: Read +* - 1: Write +* - bit [12]: +* - 0: AXI Decode Error (DECERR) +* - 1: AXI Slave Error (SLVERR) +*/ +uint32 _coreGetDataFault_(void); + +/** @fn void _coreClearDataFault_(void) +* @brief Clear core data fault status register +*/ +void _coreClearDataFault_(void); + +/** @fn uint32 _coreGetInstructionFault_(void) +* @brief Get core instruction fault status register +* @return The function will return the instruction fault status register value: +* - bit [10,3..0]: +* - 0b00001: Alignment -> address is valid +* - 0b00000: Background -> address is valid +* - 0b01101: Permission -> address is valid +* - 0b01000: Precise External Abort -> address is valid +* - 0b10110: Imprecise External Abort -> address is unpredictable +* - 0b11001: Precise ECC Error -> address is valid +* - 0b11000: Imprecise ECC Error -> address is unpredictable +* - 0b00010: Debug -> address is unchanged +* - bit [12]: +* - 0: AXI Decode Error (DECERR) +* - 1: AXI Slave Error (SLVERR) +*/ +uint32 _coreGetInstructionFault_(void); + +/** @fn void _coreClearInstructionFault_(void) +* @brief Clear core instruction fault status register +*/ +void _coreClearInstructionFault_(void); + +/** @fn uint32 _coreGetDataFaultAddress_(void) +* @brief Get core data fault address register +* @return The function will return the data fault address: +*/ +uint32 _coreGetDataFaultAddress_(void); + +/** @fn void _coreClearDataFaultAddress_(void) +* @brief Clear core data fault address register +*/ +void _coreClearDataFaultAddress_(void); + +/** @fn uint32 _coreGetInstructionFaultAddress_(void) +* @brief Get core instruction fault address register +* @return The function will return the instruction fault address: +*/ +uint32 _coreGetInstructionFaultAddress_(void); + +/** @fn void _coreClearInstructionFaultAddress_(void) +* @brief Clear core instruction fault address register +*/ +void _coreClearInstructionFaultAddress_(void); + +/** @fn uint32 _coreGetAuxiliaryDataFault_(void) +* @brief Get core auxiliary data fault status register +* @return The function will return the auxiliary data fault status register value: +* - bit [13..5]: +* - Index value for access giving error +* - bit [21]: +* - 0: Unrecoverable error +* - 1: Recoverable error +* - bit [23..22]: +* - 0: Side cache +* - 1: Side ATCM (Flash) +* - 2: Side BTCM (RAM) +* - 3: Reserved +* - bit [27..24]: +* - Cache way or way in which error occurred +*/ +uint32 _coreGetAuxiliaryDataFault_(void); + +/** @fn void _coreClearAuxiliaryDataFault_(void) +* @brief Clear core auxiliary data fault status register +*/ +void _coreClearAuxiliaryDataFault_(void); + +/** @fn uint32 _coreGetAuxiliaryInstructionFault_(void) +* @brief Get core auxiliary instruction fault status register +* @return The function will return the auxiliary instruction fault status register value: +* - bit [13..5]: +* - Index value for access giving error +* - bit [21]: +* - 0: Unrecoverable error +* - 1: Recoverable error +* - bit [23..22]: +* - 0: Side cache +* - 1: Side ATCM (Flash) +* - 2: Side BTCM (RAM) +* - 3: Reserved +* - bit [27..24]: +* - Cache way or way in which error occurred +*/ +uint32 _coreGetAuxiliaryInstructionFault_(void); + +/** @fn void _coreClearAuxiliaryInstructionFault_(void) +* @brief Clear core auxiliary instruction fault status register +*/ +void _coreClearAuxiliaryInstructionFault_(void); + +/** @fn void _disable_interrupt_(void) +* @brief Disable IRQ and FIQ Interrupt mode in CPSR register +* +* This function disables IRQ and FIQ Interrupt mode in CPSR register. +*/ +void _disable_interrupt_(void); + +/** @fn void _disable_IRQ_interrupt_(void) +* @brief Disable IRQ Interrupt mode in CPSR register +* +* This function disables IRQ Interrupt mode in CPSR register. +*/ +void _disable_IRQ_interrupt_(void); + +/** @fn void _disable_FIQ_interrupt_(void) +* @brief Disable FIQ Interrupt mode in CPSR register +* +* This function disables IRQ Interrupt mode in CPSR register. +*/ +void _disable_FIQ_interrupt_(void); + +/** @fn void _enable_interrupt_(void) +* @brief Enable IRQ and FIQ Interrupt mode in CPSR register +* +* This function Enables IRQ and FIQ Interrupt mode in CPSR register. +* User must call this function to enable Interrupts in non-OS environments. +*/ +void _enable_interrupt_(void); + +/** @fn void _esmCcmErrorsClear_(void) +* @brief Clears ESM Error caused due to CCM Errata in RevA Silicon +* +* This function Clears ESM Error caused due to CCM Errata +* in RevA Silicon immediately after powerup. +*/ +void _esmCcmErrorsClear_(void); + +/** @fn void _errata_CORTEXR4_66_(void) +* @brief Work Around for Errata CORTEX-R4#66 +* +* This function Disable out-of-order completion for divide +* instructions in Auxiliary Control register. +*/ +void _errata_CORTEXR4_66_(void); + +/** @fn void _errata_CORTEXR4_57_(void) +* @brief Work Around for Errata CORTEX-R4#57 +* +* Disable out-of-order single-precision floating point +* multiply-accumulate instruction completion. +*/ +void _errata_CORTEXR4_57_(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_dma.h b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_dma.h index 813806a3..56428bd4 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_dma.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_dma.h @@ -1,367 +1,367 @@ -/** @file dma.h -* @brief DMA Driver Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __DMA_H__ -#define __DMA_H__ - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "reg_dma.h" - -#ifdef __cplusplus -extern "C" { -#endif -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @def BLOCK_TRANSFER -* @brief Alias name for DMA Block transfer -* @note This value should be used while setting the DMA control packet -*/ -#define BLOCK_TRANSFER 1U - -/** @def FRAME_TRANSFER -* @brief Alias name for DMA Frame transfer -* @note This value should be used while setting the DMA control packet -*/ -#define FRAME_TRANSFER 0U - -/** @def AUTOINIT_ON -* @brief Alias name for Auto Initialization ON -* @note This value should be used while setting the DMA control packet -*/ -#define AUTOINIT_ON 1U - -/** @def AUTOINIT_OFF -* @brief Alias name for Auto Initialization OFF -* @note This value should be used while setting the DMA control packet -*/ -#define AUTOINIT_OFF 0U - -/** @def ADDR_FIXED -* @brief Alias name for Fixed Addressing mode -* @note This value should be used while setting the DMA control packet -*/ -#define ADDR_FIXED 0U - -/** @def ADDR_INC1 -* @brief Alias name for Post-increment Addressing mode -* @note This value should be used while setting the DMA control packet -*/ -#define ADDR_INC1 1U - -/** @def ADDR_OFFSET -* @brief Alias name for Offset Addressing mode -* @note This value should be used while setting the DMA control packet -*/ -#define ADDR_OFFSET 3U - -/** @def INTERRUPT_ENABLE -* @brief Alias name for Interrupt enable -* @note @note This value should be used for API argument @a intenable -*/ -#define INTERRUPT_ENABLE 1U - -/** @def INTERRUPT_DISABLE -* @brief Alias name for Interrupt disable -* @note @note This value should be used for API argument @a intenable -*/ -#define INTERRUPT_DISABLE 0U - - -/** @def DMA_GCTRL_BUSBUSY -* @brief Bit mask for BUS BUSY in GCTRL Register -* @note @note This value should be used for API argument @a intenable -*/ -#define DMA_GCTRL_BUSBUSY (0x00004000U) - -/** @enum dmaREQTYPE -* @brief DMA TRANSFER Type definitions -* -* Used to define DMA transfer type -*/ -enum dmaREQTYPE -{ - DMA_HW = 0x0U, /**< Hardware trigger */ - DMA_SW = 0x1U /**< Software trigger */ -}; - - -/** @enum dmaCHANNEL -* @brief DMA CHANNEL definitions -* -* Used to define DMA Channel Number -*/ -enum dmaCHANNEL -{ - DMA_CH0 = 0x00U, - DMA_CH1 = 0x01U, - DMA_CH2 = 0x02U, - DMA_CH3 = 0x03U, - DMA_CH4 = 0x04U, - DMA_CH5 = 0x05U, - DMA_CH6 = 0x06U, - DMA_CH7 = 0x07U, - DMA_CH8 = 0x08U, - DMA_CH9 = 0x09U, - DMA_CH10 = 0x0AU, - DMA_CH11 = 0x0BU, - DMA_CH12 = 0x0CU, - DMA_CH13 = 0x0DU, - DMA_CH14 = 0x0EU, - DMA_CH15 = 0x0FU, - DMA_CH16 = 0x10U, - DMA_CH17 = 0x11U, - DMA_CH18 = 0x12U, - DMA_CH19 = 0x13U, - DMA_CH20 = 0x14U, - DMA_CH21 = 0x15U, - DMA_CH22 = 0x16U, - DMA_CH23 = 0x17U, - DMA_CH24 = 0x18U, - DMA_CH25 = 0x19U, - DMA_CH26 = 0x1AU, - DMA_CH27 = 0x1BU, - DMA_CH28 = 0x1CU, - DMA_CH29 = 0x1DU, - DMA_CH30 = 0x1EU, - DMA_CH31 = 0x1FU -}; - -/** @enum dmaACCESS -* @brief DMA ACESS WIDTH definitions -* -* Used to define DMA access width -*/ -typedef enum dmaACCESS -{ - ACCESS_8_BIT = 0U, - ACCESS_16_BIT = 1U, - ACCESS_32_BIT = 2U, - ACCESS_64_BIT = 3U -}dmaACCESS_t; - - -/** @enum dmaPRIORITY -* @brief DMA Channel Priority -* -* Used to define to which priority queue a DMA channel is assigned to -*/ -typedef enum dmaPRIORITY -{ - LOWPRIORITY = 0U, - HIGHPRIORITY = 1U -}dmaPRIORITY_t; - - -/** @enum dmaREGION -* @brief DMA Memory Protection Region -* -* Used to define DMA Memory Protection Region -*/ -typedef enum dmaREGION -{ - DMA_REGION0 = 0U, - DMA_REGION1 = 1U, - DMA_REGION2 = 2U, - DMA_REGION3 = 3U -}dmaREGION_t; - - -/** @enum dmaRegionAccess -* @brief DMA Memory Protection Region Access -* -* Used to define access permission of DMA memory protection regions -*/ -typedef enum dmaRegionAccess -{ - FULLACCESS = 0U, - READONLY = 1U, - WRITEONLY = 2U, - NOACCESS = 3U -}dmaRegionAccess_t; - - -/** @enum dmaInterrupt -* @brief DMA Interrupt -* -* Used to define DMA interrupts -*/ -typedef enum dmaInterrupt -{ - FTC = 1U, /**< Frame transfer complete Interrupt */ - LFS = 2U, /**< Last frame transfer started Interrupt */ - HBC = 3U, /**< First half of block complete Interrupt */ - BTC = 4U /**< Block transfer complete Interrupt */ -}dmaInterrupt_t; - -/** @struct g_dmaCTRL -* @brief Interrupt mode globals -* -*/ -typedef struct dmaCTRLPKT -{ - uint32 SADD; /* initial source address */ - uint32 DADD; /* initial destination address */ - uint32 CHCTRL; /* next ctrl packet to be trigger + 1 */ - uint32 FRCNT; /* frame count */ - uint32 ELCNT; /* element count */ - uint32 ELDOFFSET; /* element destination offset */ - uint32 ELSOFFSET; /* element source offset */ - uint32 FRDOFFSET; /* frame detination offset */ - uint32 FRSOFFSET; /* frame source offset */ - uint32 PORTASGN; /* dma port */ - uint32 RDSIZE; /* read element size */ - uint32 WRSIZE; /* write element size */ - uint32 TTYPE; /* trigger type - frame/block */ - uint32 ADDMODERD; /* addresssing mode for source */ - uint32 ADDMODEWR; /* addresssing mode for destination */ - uint32 AUTOINIT; /* auto-init mode */ - uint32 COMBO; /* next ctrl packet trigger(Not used) */ -} g_dmaCTRL; - -typedef volatile struct -{ - - struct /* 0x000-0x400 */ - { - uint32 ISADDR; - uint32 IDADDR; - uint32 ITCOUNT; - uint32 rsvd1; - uint32 CHCTRL; - uint32 EIOFF; - uint32 FIOFF; - uint32 rsvd2; - }PCP[32U]; - - struct /* 0x400-0x800 */ - { - uint32 res[256U]; - } RESERVED; - - struct /* 0x800-0xA00 */ - { - uint32 CSADDR; - uint32 CDADDR; - uint32 CTCOUNT; - uint32 rsvd3; - }WCP[32U]; - -} dmaRAMBASE_t; - -#define dmaRAMREG ((dmaRAMBASE_t *)0xFFF80000U) - -typedef struct dma_config_reg -{ - uint32 CONFIG_CHPRIOS; - uint32 CONFIG_GCHIENAS; - uint32 CONFIG_DREQASI[8U]; - uint32 CONFIG_FTCINTENAS; - uint32 CONFIG_LFSINTENAS; - uint32 CONFIG_HBCINTENAS; - uint32 CONFIG_BTCINTENAS; - uint32 CONFIG_DMAPCR; - uint32 CONFIG_DMAMPCTRL; -} dma_config_reg_t; - - -/** - * @defgroup DMA DMA - * @brief Direct Memory Access Controller - * - * The DMA controller is used to transfer data between two locations in the memory map in the background - * of CPU operations. Typically, the DMA is used to: - * - Transfer blocks of data between external and internal data memories - * - Restructure portions of internal data memory - * - Continually service a peripheral - * - Page program sections to internal program memory - * - * Related files: - * - reg_dma.h - * - sys_dma.h - * - sys_dma.c - * - * @addtogroup DMA - * @{ - */ -/* DMA Interface Functions */ -void dmaEnable(void); -void dmaDisable(void); -void dmaSetCtrlPacket(uint32 channel, g_dmaCTRL g_dmaCTRLPKT); -void dmaSetChEnable(uint32 channel,uint32 type); -void dmaReqAssign(uint32 channel,uint32 reqline); -uint32 dmaGetReq(uint32 channel); -void dmaSetPriority(uint32 channel, dmaPRIORITY_t priority); -void dmaEnableInterrupt(uint32 channel, dmaInterrupt_t inttype); -void dmaDisableInterrupt(uint32 channel, dmaInterrupt_t inttype); -void dmaDefineRegion(dmaREGION_t region, uint32 start_add, uint32 end_add); -void dmaEnableRegion(dmaREGION_t region, dmaRegionAccess_t access, boolean intenable); -void dmaDisableRegion(dmaREGION_t region); -void dmaEnableParityCheck(void); -void dmaDisableParityCheck(void); -void dmaGetConfigValue(dma_config_reg_t *config_reg, config_value_type_t type); - -/** @fn void dmaGroupANotification(dmaInterrupt_t inttype, uint32 channel) -* @brief Interrupt callback -* @param[in] inttype Interrupt type -* - FTC -* - LFS -* - HBC -* - BTC -* @param[in] channel channel number 0..15 -* This is a callback that is provided by the application and is called apon -* an interrupt. The parameter passed to the callback is a copy of the -* interrupt flag register. -*/ -void dmaGroupANotification(dmaInterrupt_t inttype, uint32 channel); - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/**@}*/ -#ifdef __cplusplus -} -#endif - -#endif +/** @file dma.h +* @brief DMA Driver Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __DMA_H__ +#define __DMA_H__ + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +#include "reg_dma.h" + +#ifdef __cplusplus +extern "C" { +#endif +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @def BLOCK_TRANSFER +* @brief Alias name for DMA Block transfer +* @note This value should be used while setting the DMA control packet +*/ +#define BLOCK_TRANSFER 1U + +/** @def FRAME_TRANSFER +* @brief Alias name for DMA Frame transfer +* @note This value should be used while setting the DMA control packet +*/ +#define FRAME_TRANSFER 0U + +/** @def AUTOINIT_ON +* @brief Alias name for Auto Initialization ON +* @note This value should be used while setting the DMA control packet +*/ +#define AUTOINIT_ON 1U + +/** @def AUTOINIT_OFF +* @brief Alias name for Auto Initialization OFF +* @note This value should be used while setting the DMA control packet +*/ +#define AUTOINIT_OFF 0U + +/** @def ADDR_FIXED +* @brief Alias name for Fixed Addressing mode +* @note This value should be used while setting the DMA control packet +*/ +#define ADDR_FIXED 0U + +/** @def ADDR_INC1 +* @brief Alias name for Post-increment Addressing mode +* @note This value should be used while setting the DMA control packet +*/ +#define ADDR_INC1 1U + +/** @def ADDR_OFFSET +* @brief Alias name for Offset Addressing mode +* @note This value should be used while setting the DMA control packet +*/ +#define ADDR_OFFSET 3U + +/** @def INTERRUPT_ENABLE +* @brief Alias name for Interrupt enable +* @note @note This value should be used for API argument @a intenable +*/ +#define INTERRUPT_ENABLE 1U + +/** @def INTERRUPT_DISABLE +* @brief Alias name for Interrupt disable +* @note @note This value should be used for API argument @a intenable +*/ +#define INTERRUPT_DISABLE 0U + + +/** @def DMA_GCTRL_BUSBUSY +* @brief Bit mask for BUS BUSY in GCTRL Register +* @note @note This value should be used for API argument @a intenable +*/ +#define DMA_GCTRL_BUSBUSY (0x00004000U) + +/** @enum dmaREQTYPE +* @brief DMA TRANSFER Type definitions +* +* Used to define DMA transfer type +*/ +enum dmaREQTYPE +{ + DMA_HW = 0x0U, /**< Hardware trigger */ + DMA_SW = 0x1U /**< Software trigger */ +}; + + +/** @enum dmaCHANNEL +* @brief DMA CHANNEL definitions +* +* Used to define DMA Channel Number +*/ +enum dmaCHANNEL +{ + DMA_CH0 = 0x00U, + DMA_CH1 = 0x01U, + DMA_CH2 = 0x02U, + DMA_CH3 = 0x03U, + DMA_CH4 = 0x04U, + DMA_CH5 = 0x05U, + DMA_CH6 = 0x06U, + DMA_CH7 = 0x07U, + DMA_CH8 = 0x08U, + DMA_CH9 = 0x09U, + DMA_CH10 = 0x0AU, + DMA_CH11 = 0x0BU, + DMA_CH12 = 0x0CU, + DMA_CH13 = 0x0DU, + DMA_CH14 = 0x0EU, + DMA_CH15 = 0x0FU, + DMA_CH16 = 0x10U, + DMA_CH17 = 0x11U, + DMA_CH18 = 0x12U, + DMA_CH19 = 0x13U, + DMA_CH20 = 0x14U, + DMA_CH21 = 0x15U, + DMA_CH22 = 0x16U, + DMA_CH23 = 0x17U, + DMA_CH24 = 0x18U, + DMA_CH25 = 0x19U, + DMA_CH26 = 0x1AU, + DMA_CH27 = 0x1BU, + DMA_CH28 = 0x1CU, + DMA_CH29 = 0x1DU, + DMA_CH30 = 0x1EU, + DMA_CH31 = 0x1FU +}; + +/** @enum dmaACCESS +* @brief DMA ACESS WIDTH definitions +* +* Used to define DMA access width +*/ +typedef enum dmaACCESS +{ + ACCESS_8_BIT = 0U, + ACCESS_16_BIT = 1U, + ACCESS_32_BIT = 2U, + ACCESS_64_BIT = 3U +}dmaACCESS_t; + + +/** @enum dmaPRIORITY +* @brief DMA Channel Priority +* +* Used to define to which priority queue a DMA channel is assigned to +*/ +typedef enum dmaPRIORITY +{ + LOWPRIORITY = 0U, + HIGHPRIORITY = 1U +}dmaPRIORITY_t; + + +/** @enum dmaREGION +* @brief DMA Memory Protection Region +* +* Used to define DMA Memory Protection Region +*/ +typedef enum dmaREGION +{ + DMA_REGION0 = 0U, + DMA_REGION1 = 1U, + DMA_REGION2 = 2U, + DMA_REGION3 = 3U +}dmaREGION_t; + + +/** @enum dmaRegionAccess +* @brief DMA Memory Protection Region Access +* +* Used to define access permission of DMA memory protection regions +*/ +typedef enum dmaRegionAccess +{ + FULLACCESS = 0U, + READONLY = 1U, + WRITEONLY = 2U, + NOACCESS = 3U +}dmaRegionAccess_t; + + +/** @enum dmaInterrupt +* @brief DMA Interrupt +* +* Used to define DMA interrupts +*/ +typedef enum dmaInterrupt +{ + FTC = 1U, /**< Frame transfer complete Interrupt */ + LFS = 2U, /**< Last frame transfer started Interrupt */ + HBC = 3U, /**< First half of block complete Interrupt */ + BTC = 4U /**< Block transfer complete Interrupt */ +}dmaInterrupt_t; + +/** @struct g_dmaCTRL +* @brief Interrupt mode globals +* +*/ +typedef struct dmaCTRLPKT +{ + uint32 SADD; /* initial source address */ + uint32 DADD; /* initial destination address */ + uint32 CHCTRL; /* next ctrl packet to be trigger + 1 */ + uint32 FRCNT; /* frame count */ + uint32 ELCNT; /* element count */ + uint32 ELDOFFSET; /* element destination offset */ + uint32 ELSOFFSET; /* element source offset */ + uint32 FRDOFFSET; /* frame detination offset */ + uint32 FRSOFFSET; /* frame source offset */ + uint32 PORTASGN; /* dma port */ + uint32 RDSIZE; /* read element size */ + uint32 WRSIZE; /* write element size */ + uint32 TTYPE; /* trigger type - frame/block */ + uint32 ADDMODERD; /* addresssing mode for source */ + uint32 ADDMODEWR; /* addresssing mode for destination */ + uint32 AUTOINIT; /* auto-init mode */ + uint32 COMBO; /* next ctrl packet trigger(Not used) */ +} g_dmaCTRL; + +typedef volatile struct +{ + + struct /* 0x000-0x400 */ + { + uint32 ISADDR; + uint32 IDADDR; + uint32 ITCOUNT; + uint32 rsvd1; + uint32 CHCTRL; + uint32 EIOFF; + uint32 FIOFF; + uint32 rsvd2; + }PCP[32U]; + + struct /* 0x400-0x800 */ + { + uint32 res[256U]; + } RESERVED; + + struct /* 0x800-0xA00 */ + { + uint32 CSADDR; + uint32 CDADDR; + uint32 CTCOUNT; + uint32 rsvd3; + }WCP[32U]; + +} dmaRAMBASE_t; + +#define dmaRAMREG ((dmaRAMBASE_t *)0xFFF80000U) + +typedef struct dma_config_reg +{ + uint32 CONFIG_CHPRIOS; + uint32 CONFIG_GCHIENAS; + uint32 CONFIG_DREQASI[8U]; + uint32 CONFIG_FTCINTENAS; + uint32 CONFIG_LFSINTENAS; + uint32 CONFIG_HBCINTENAS; + uint32 CONFIG_BTCINTENAS; + uint32 CONFIG_DMAPCR; + uint32 CONFIG_DMAMPCTRL; +} dma_config_reg_t; + + +/** + * @defgroup DMA DMA + * @brief Direct Memory Access Controller + * + * The DMA controller is used to transfer data between two locations in the memory map in the background + * of CPU operations. Typically, the DMA is used to: + * - Transfer blocks of data between external and internal data memories + * - Restructure portions of internal data memory + * - Continually service a peripheral + * - Page program sections to internal program memory + * + * Related files: + * - reg_dma.h + * - sys_dma.h + * - sys_dma.c + * + * @addtogroup DMA + * @{ + */ +/* DMA Interface Functions */ +void dmaEnable(void); +void dmaDisable(void); +void dmaSetCtrlPacket(uint32 channel, g_dmaCTRL g_dmaCTRLPKT); +void dmaSetChEnable(uint32 channel,uint32 type); +void dmaReqAssign(uint32 channel,uint32 reqline); +uint32 dmaGetReq(uint32 channel); +void dmaSetPriority(uint32 channel, dmaPRIORITY_t priority); +void dmaEnableInterrupt(uint32 channel, dmaInterrupt_t inttype); +void dmaDisableInterrupt(uint32 channel, dmaInterrupt_t inttype); +void dmaDefineRegion(dmaREGION_t region, uint32 start_add, uint32 end_add); +void dmaEnableRegion(dmaREGION_t region, dmaRegionAccess_t access, boolean intenable); +void dmaDisableRegion(dmaREGION_t region); +void dmaEnableParityCheck(void); +void dmaDisableParityCheck(void); +void dmaGetConfigValue(dma_config_reg_t *config_reg, config_value_type_t type); + +/** @fn void dmaGroupANotification(dmaInterrupt_t inttype, uint32 channel) +* @brief Interrupt callback +* @param[in] inttype Interrupt type +* - FTC +* - LFS +* - HBC +* - BTC +* @param[in] channel channel number 0..15 +* This is a callback that is provided by the application and is called apon +* an interrupt. The parameter passed to the callback is a copy of the +* interrupt flag register. +*/ +void dmaGroupANotification(dmaInterrupt_t inttype, uint32 channel); + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/**@}*/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_mpu.h b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_mpu.h index d8c7e82e..1233db05 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_mpu.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_mpu.h @@ -1,517 +1,517 @@ -/** @file sys_mpu.h -* @brief System Mpu Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Mpu Interface Functions -* . -* which are relevant for the memory protection unit driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __SYS_MPU_H__ -#define __SYS_MPU_H__ - -#include "sys_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/** @def mpuREGION1 -* @brief Mpu region 1 -* -* Alias for Mpu region 1 -*/ -#define mpuREGION1 0U - -/** @def mpuREGION2 -* @brief Mpu region 2 -* -* Alias for Mpu region 1 -*/ -#define mpuREGION2 1U - -/** @def mpuREGION3 -* @brief Mpu region 3 -* -* Alias for Mpu region 3 -*/ -#define mpuREGION3 2U - -/** @def mpuREGION4 -* @brief Mpu region 4 -* -* Alias for Mpu region 4 -*/ -#define mpuREGION4 3U - -/** @def mpuREGION5 -* @brief Mpu region 5 -* -* Alias for Mpu region 5 -*/ -#define mpuREGION5 4U - -/** @def mpuREGION6 -* @brief Mpu region 6 -* -* Alias for Mpu region 6 -*/ -#define mpuREGION6 5U - -/** @def mpuREGION7 -* @brief Mpu region 7 -* -* Alias for Mpu region 7 -*/ -#define mpuREGION7 6U - -/** @def mpuREGION8 -* @brief Mpu region 8 -* -* Alias for Mpu region 8 -*/ -#define mpuREGION8 7U - -/** @def mpuREGION9 -* @brief Mpu region 9 -* -* Alias for Mpu region 9 -*/ -#define mpuREGION9 8U - -/** @def mpuREGION10 -* @brief Mpu region 10 -* -* Alias for Mpu region 10 -*/ -#define mpuREGION10 9U - -/** @def mpuREGION11 -* @brief Mpu region 11 -* -* Alias for Mpu region 11 -*/ -#define mpuREGION11 10U - -/** @def mpuREGION12 -* @brief Mpu region 12 -* -* Alias for Mpu region 12 -*/ -#define mpuREGION12 11U - -/** @def mpuREGION_ENABLE -* @brief Enable MPU Region -* -* Alias for MPU region enable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuREGION_ENABLE 1U - -/** @def mpuREGION_DISABLE -* @brief Disable MPU Region -* -* Alias for MPU region disable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuREGION_DISABLE 0U - -/** @def mpuSUBREGION0_DISABLE -* @brief Disable MPU Sub Region0 -* -* Alias for MPU subregion0 disable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuSUBREGION0_DISABLE 0x100U - -/** @def mpuSUBREGION1_DISABLE -* @brief Disable MPU Sub Region1 -* -* Alias for MPU subregion1 disable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuSUBREGION1_DISABLE 0x200U - -/** @def mpuSUBREGION2_DISABLE -* @brief Disable MPU Sub Region2 -* -* Alias for MPU subregion2 disable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuSUBREGION2_DISABLE 0x400U - -/** @def mpuSUBREGION3_DISABLE -* @brief Disable MPU Sub Region3 -* -* Alias for MPU subregion3 disable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuSUBREGION3_DISABLE 0x800U - -/** @def mpuSUBREGION4_DISABLE -* @brief Disable MPU Sub Region4 -* -* Alias for MPU subregion4 disable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuSUBREGION4_DISABLE 0x1000U - -/** @def mpuSUBREGION5_DISABLE -* @brief Disable MPU Sub Region5 -* -* Alias for MPU subregion5 disable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuSUBREGION5_DISABLE 0x2000U - -/** @def mpuSUBREGION6_DISABLE -* @brief Disable MPU Sub Region6 -* -* Alias for MPU subregion6 disable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuSUBREGION6_DISABLE 0x4000U - -/** @def mpuSUBREGION7_DISABLE -* @brief Disable MPU Sub Region7 -* -* Alias for MPU subregion7 disable. -* -* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ -*/ -#define mpuSUBREGION7_DISABLE 0x8000U - - - -/** @enum mpuRegionAccessPermission -* @brief Alias names for mpu region access permissions -* -* This enumeration is used to provide alias names for the mpu region access permission: -* - MPU_PRIV_NA_USER_NA_EXEC no access in privileged mode, no access in user mode and execute -* - MPU_PRIV_RW_USER_NA_EXEC read/write in privileged mode, no access in user mode and execute -* - MPU_PRIV_RW_USER_RO_EXEC read/write in privileged mode, read only in user mode and execute -* - MPU_PRIV_RW_USER_RW_EXEC read/write in privileged mode, read/write in user mode and execute -* - MPU_PRIV_RO_USER_NA_EXEC read only in privileged mode, no access in user mode and execute -* - MPU_PRIV_RO_USER_RO_EXEC read only in privileged mode, read only in user mode and execute -* - MPU_PRIV_NA_USER_NA_NOEXEC no access in privileged mode, no access in user mode and no execution -* - MPU_PRIV_RW_USER_NA_NOEXEC read/write in privileged mode, no access in user mode and no execution -* - MPU_PRIV_RW_USER_RO_NOEXEC read/write in privileged mode, read only in user mode and no execution -* - MPU_PRIV_RW_USER_RW_NOEXEC read/write in privileged mode, read/write in user mode and no execution -* - MPU_PRIV_RO_USER_NA_NOEXEC read only in privileged mode, no access in user mode and no execution -* - MPU_PRIV_RO_USER_RO_NOEXEC read only in privileged mode, read only in user mode and no execution -* -*/ -enum mpuRegionAccessPermission -{ - MPU_PRIV_NA_USER_NA_EXEC = 0x0000U, /**< Alias no access in privileged mode, no access in user mode and execute */ - MPU_PRIV_RW_USER_NA_EXEC = 0x0100U, /**< Alias no read/write in privileged mode, no access in user mode and execute */ - MPU_PRIV_RW_USER_RO_EXEC = 0x0200U, /**< Alias no read/write in privileged mode, read only in user mode and execute */ - MPU_PRIV_RW_USER_RW_EXEC = 0x0300U, /**< Alias no read/write in privileged mode, read/write in user mode and execute */ - MPU_PRIV_RO_USER_NA_EXEC = 0x0500U, /**< Alias no read only in privileged mode, no access in user mode and execute */ - MPU_PRIV_RO_USER_RO_EXEC = 0x0600U, /**< Alias no read only in privileged mode, read only in user mode and execute */ - MPU_PRIV_NA_USER_NA_NOEXEC = 0x1000U, /**< Alias no access in privileged mode, no access in user mode and no execution */ - MPU_PRIV_RW_USER_NA_NOEXEC = 0x1100U, /**< Alias no read/write in privileged mode, no access in user mode and no execution */ - MPU_PRIV_RW_USER_RO_NOEXEC = 0x1200U, /**< Alias no read/write in privileged mode, read only in user mode and no execution */ - MPU_PRIV_RW_USER_RW_NOEXEC = 0x1300U, /**< Alias no read/write in privileged mode, read/write in user mode and no execution */ - MPU_PRIV_RO_USER_NA_NOEXEC = 0x1500U, /**< Alias no read only in privileged mode, no access in user mode and no execution */ - MPU_PRIV_RO_USER_RO_NOEXEC = 0x1600U /**< Alias no read only in privileged mode, read only in user mode and no execution */ -}; - -/** @enum mpuRegionType -* @brief Alias names for mpu region type -* -* This enumeration is used to provide alias names for the mpu region type: -* - MPU_STRONGLYORDERED_SHAREABLE Memory type strongly ordered and sharable -* - MPU_DEVICE_SHAREABLE Memory type device and sharable -* - MPU_NORMAL_OIWTNOWA_NONSHARED Memory type normal outer and inner write-through, no write allocate and non shared -* - MPU_NORMAL_OIWTNOWA_SHARED Memory type normal outer and inner write-through, no write allocate and shared -* - MPU_NORMAL_OIWBNOWA_NONSHARED Memory type normal outer and inner write-back, no write allocate and non shared -* - MPU_NORMAL_OIWBNOWA_SHARED Memory type normal outer and inner write-back, no write allocate and shared -* - MPU_NORMAL_OINC_NONSHARED Memory type normal outer and inner non-cachable and non shared -* - MPU_NORMAL_OINC_SHARED Memory type normal outer and inner non-cachable and shared -* - MPU_NORMAL_OIWBWA_NONSHARED Memory type normal outer and inner write-back, write allocate and non shared -* - MPU_NORMAL_OIWBWA_SHARED Memory type normal outer and inner write-back, write allocate and shared -* - MPU_DEVICE_NONSHAREABLE Memory type device and non sharable -*/ -enum mpuRegionType -{ - MPU_STRONGLYORDERED_SHAREABLE = 0x0000U, /**< Memory type strongly ordered and sharable */ - MPU_DEVICE_SHAREABLE = 0x0001U, /**< Memory type device and sharable */ - MPU_NORMAL_OIWTNOWA_NONSHARED = 0x0002U, /**< Memory type normal outer and inner write-through, no write allocate and non shared */ - MPU_NORMAL_OIWBNOWA_NONSHARED = 0x0003U, /**< Memory type normal outer and inner write-back, no write allocate and non shared */ - MPU_NORMAL_OIWTNOWA_SHARED = 0x0006U, /**< Memory type normal outer and inner write-through, no write allocate and shared */ - MPU_NORMAL_OIWBNOWA_SHARED = 0x0007U, /**< Memory type normal outer and inner write-back, no write allocate and shared */ - MPU_NORMAL_OINC_NONSHARED = 0x0008U, /**< Memory type normal outer and inner non-cachable and non shared */ - MPU_NORMAL_OIWBWA_NONSHARED = 0x000BU, /**< Memory type normal outer and inner write-back, write allocate and non shared */ - MPU_NORMAL_OINC_SHARED = 0x000CU, /**< Memory type normal outer and inner non-cachable and shared */ - MPU_NORMAL_OIWBWA_SHARED = 0x000FU, /**< Memory type normal outer and inner write-back, write allocate and shared */ - MPU_DEVICE_NONSHAREABLE = 0x0010U /**< Memory type device and non sharable */ -}; - -/** @enum mpuRegionSize -* @brief Alias names for mpu region type -* -* This enumeration is used to provide alias names for the mpu region type: -* - MPU_STRONGLYORDERED_SHAREABLE Memory type strongly ordered and sharable -* - MPU_32_BYTES Memory size in bytes -* - MPU_64_BYTES Memory size in bytes -* - MPU_128_BYTES Memory size in bytes -* - MPU_256_BYTES Memory size in bytes -* - MPU_512_BYTES Memory size in bytes -* - MPU_1_KB Memory size in kB -* - MPU_2_KB Memory size in kB -* - MPU_4_KB Memory size in kB -* - MPU_8_KB Memory size in kB -* - MPU_16_KB Memory size in kB -* - MPU_32_KB Memory size in kB -* - MPU_64_KB Memory size in kB -* - MPU_128_KB Memory size in kB -* - MPU_256_KB Memory size in kB -* - MPU_512_KB Memory size in kB -* - MPU_1_MB Memory size in MB -* - MPU_2_MB Memory size in MB -* - MPU_4_MB Memory size in MB -* - MPU_8_MBv Memory size in MB -* - MPU_16_MB Memory size in MB -* - MPU_32_MB Memory size in MB -* - MPU_64_MB Memory size in MB -* - MPU_128_MB Memory size in MB -* - MPU_256_MB Memory size in MB -* - MPU_512_MB Memory size in MB -* - MPU_1_GB Memory size in GB -* - MPU_2_GB Memory size in GB -* - MPU_4_GB Memory size in GB -*/ -enum mpuRegionSize -{ - MPU_32_BYTES = 0x04U << 1U, /**< Memory size in bytes */ - MPU_64_BYTES = 0x05U << 1U, /**< Memory size in bytes */ - MPU_128_BYTES = 0x06U << 1U, /**< Memory size in bytes */ - MPU_256_BYTES = 0x07U << 1U, /**< Memory size in bytes */ - MPU_512_BYTES = 0x08U << 1U, /**< Memory size in bytes */ - MPU_1_KB = 0x09U << 1U, /**< Memory size in kB */ - MPU_2_KB = 0x0AU << 1U, /**< Memory size in kB */ - MPU_4_KB = 0x0BU << 1U, /**< Memory size in kB */ - MPU_8_KB = 0x0CU << 1U, /**< Memory size in kB */ - MPU_16_KB = 0x0DU << 1U, /**< Memory size in kB */ - MPU_32_KB = 0x0EU << 1U, /**< Memory size in kB */ - MPU_64_KB = 0x0FU << 1U, /**< Memory size in kB */ - MPU_128_KB = 0x10U << 1U, /**< Memory size in kB */ - MPU_256_KB = 0x11U << 1U, /**< Memory size in kB */ - MPU_512_KB = 0x12U << 1U, /**< Memory size in kB */ - MPU_1_MB = 0x13U << 1U, /**< Memory size in MB */ - MPU_2_MB = 0x14U << 1U, /**< Memory size in MB */ - MPU_4_MB = 0x15U << 1U, /**< Memory size in MB */ - MPU_8_MB = 0x16U << 1U, /**< Memory size in MB */ - MPU_16_MB = 0x17U << 1U, /**< Memory size in MB */ - MPU_32_MB = 0x18U << 1U, /**< Memory size in MB */ - MPU_64_MB = 0x19U << 1U, /**< Memory size in MB */ - MPU_128_MB = 0x1AU << 1U, /**< Memory size in MB */ - MPU_256_MB = 0x1BU << 1U, /**< Memory size in MB */ - MPU_512_MB = 0x1CU << 1U, /**< Memory size in MB */ - MPU_1_GB = 0x1DU << 1U, /**< Memory size in GB */ - MPU_2_GB = 0x1EU << 1U, /**< Memory size in GB */ - MPU_4_GB = 0x1FU << 1U /**< Memory size in GB */ -}; - -/** @fn void _mpuInit_(void) -* @brief Initialize Mpu -* -* This function initializes memory protection unit. -*/ -void _mpuInit_(void); - -/** @fn void _mpuEnable_(void) -* @brief Enable Mpu -* -* This function enables memory protection unit. -*/ -void _mpuEnable_(void); - -/** @fn void _mpuDisable_(void) -* @brief Disable Mpu -* -* This function disables memory protection unit. -*/ -void _mpuDisable_(void); - -/** @fn void _mpuEnableBackgroundRegion_(void) -* @brief Enable Mpu background region -* -* This function enables background region of the memory protection unit. -*/ -void _mpuEnableBackgroundRegion_(void); - -/** @fn void _mpuDisableBackgroundRegion_(void) -* @brief Disable Mpu background region -* -* This function disables background region of the memory protection unit. -*/ -void _mpuDisableBackgroundRegion_(void); - -/** @fn uint32 _mpuGetNumberOfRegions_(void) -* @brief Returns number of implemented Mpu regions -* @return Number of implemented mpu regions -* -* This function returns the number of implemented mpu regions. -*/ -uint32 _mpuGetNumberOfRegions_(void); - -/** @fn uint32 _mpuAreRegionsSeparate_(void) -* @brief Returns the type of the implemented mpu regions -* @return Mpu type of regions -* -* This function returns 0 when mpu regions are of type unified otherwise regions are of type separate. -*/ -uint32 _mpuAreRegionsSeparate_(void); - -/** @fn void _mpuSetRegion_(uint32 region) -* @brief Set mpu region number -* @param[in] region Region number: mpuREGION1..mpuREGION12 -* -* This function selects one of the implemented mpu regions. -*/ -void _mpuSetRegion_(uint32 region); - -/** @fn uint32 _mpuGetRegion_(void) -* @brief Returns the currently selected mpu region -* @return Mpu region number -* -* This function returns currently selected mpu region number. -*/ -uint32 _mpuGetRegion_(void); - -/** @fn void _mpuSetRegionBaseAddress_(uint32 address) -* @brief Set base address of currently selected mpu region -* @param[in] address Base address of the MPU region -* @note The base address must always aligned with region size -* -* This function sets the base address of currently selected mpu region. -*/ -void _mpuSetRegionBaseAddress_(uint32 address); - -/** @fn uint32 _mpuGetRegionBaseAddress_(void) -* @brief Returns base address of currently selected mpu region -* @return Current base address of selected mpu region -* -* This function returns the base address of currently selected mpu region. -*/ -uint32 _mpuGetRegionBaseAddress_(void); - -/** @fn void _mpuSetRegionTypeAndPermission_(uint32 type, uint32 permission) -* @brief Set type of currently selected mpu region -* @param[in] type Region Type -* - MPU_STRONGLYORDERED_SHAREABLE : Memory type strongly ordered and sharable -* - MPU_DEVICE_SHAREABLE : Memory type device and sharable -* - MPU_NORMAL_OIWTNOWA_NONSHARED : Memory type normal outer and inner write-through, no write allocate and non shared -* - MPU_NORMAL_OIWBNOWA_NONSHARED : Memory type normal outer and inner write-back, no write allocate and non shared -* - MPU_NORMAL_OIWTNOWA_SHARED : Memory type normal outer and inner write-through, no write allocate and shared -* - MPU_NORMAL_OIWBNOWA_SHARED : Memory type normal outer and inner write-back, no write allocate and shared -* - MPU_NORMAL_OINC_NONSHARED : Memory type normal outer and inner non-cachable and non shared -* - MPU_NORMAL_OIWBWA_NONSHARED : Memory type normal outer and inner write-back, write allocate and non shared -* - MPU_NORMAL_OINC_SHARED : Memory type normal outer and inner non-cachable and shared -* - MPU_NORMAL_OIWBWA_SHARED : Memory type normal outer and inner write-back, write allocate and shared -* - MPU_DEVICE_NONSHAREABLE : Memory type device and non sharable -* -* @param[in] permission Region Access permission -* - MPU_PRIV_NA_USER_NA_EXEC : Alias no access in privileged mode, no access in user mode and execute -* - MPU_PRIV_RW_USER_NA_EXEC : Alias no read/write in privileged mode, no access in user mode and execute -* - MPU_PRIV_RW_USER_RO_EXEC : Alias no read/write in privileged mode, read only in user mode and execute -* - MPU_PRIV_RW_USER_RW_EXEC : Alias no read/write in privileged mode, read/write in user mode and execute -* - MPU_PRIV_RO_USER_NA_EXEC : Alias no read only in privileged mode, no access in user mode and execute -* - MPU_PRIV_RO_USER_RO_EXEC : Alias no read only in privileged mode, read only in user mode and execute -* - MPU_PRIV_NA_USER_NA_NOEXEC : Alias no access in privileged mode, no access in user mode and no execution -* - MPU_PRIV_RW_USER_NA_NOEXEC : Alias no read/write in privileged mode, no access in user mode and no execution -* - MPU_PRIV_RW_USER_RO_NOEXEC : Alias no read/write in privileged mode, read only in user mode and no execution -* - MPU_PRIV_RW_USER_RW_NOEXEC : Alias no read/write in privileged mode, read/write in user mode and no execution -* - MPU_PRIV_RO_USER_NA_NOEXEC : Alias no read only in privileged mode, no access in user mode and no execution -* - MPU_PRIV_RO_USER_RO_NOEXEC : Alias no read only in privileged mode, read only in user mode and no execution -* -* This function sets the type of currently selected mpu region. -*/ -void _mpuSetRegionTypeAndPermission_(uint32 type, uint32 permission); - -/** @fn uint32 _mpuGetRegionType_(void) -* @brief Returns the type of currently selected mpu region -* @return Current type of selected mpu region -* -* This function returns the type of currently selected mpu region. -*/ -uint32 _mpuGetRegionType_(void); - -/** @fn uint32 _mpuGetRegionPermission_(void) -* @brief Returns permission of currently selected mpu region -* @return Current type of selected mpu region -* -* This function returns permission of currently selected mpu region. -*/ -uint32 _mpuGetRegionPermission_(void); - -/** @fn void _mpuSetRegionSizeRegister_(uint32 value) -* @brief Set mpu region size register value -* @param[in] value Value to be written in the MPU Region Size and Enable register -* -* This function sets mpu region size register value. -* -* Sample usuage: -* _mpuSetRegion_(mpuREGION5); -* _mpuSetRegionSizeRegister_(mpuREGION_ENABLE | MPU_16_KB | mpuSUBREGION3_DISABLE | mpuSUBREGION4_DISABLE); -*/ -void _mpuSetRegionSizeRegister_(uint32 value); - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ -#ifdef __cplusplus -} -#endif - -#endif +/** @file sys_mpu.h +* @brief System Mpu Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Mpu Interface Functions +* . +* which are relevant for the memory protection unit driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __SYS_MPU_H__ +#define __SYS_MPU_H__ + +#include "sys_common.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/** @def mpuREGION1 +* @brief Mpu region 1 +* +* Alias for Mpu region 1 +*/ +#define mpuREGION1 0U + +/** @def mpuREGION2 +* @brief Mpu region 2 +* +* Alias for Mpu region 1 +*/ +#define mpuREGION2 1U + +/** @def mpuREGION3 +* @brief Mpu region 3 +* +* Alias for Mpu region 3 +*/ +#define mpuREGION3 2U + +/** @def mpuREGION4 +* @brief Mpu region 4 +* +* Alias for Mpu region 4 +*/ +#define mpuREGION4 3U + +/** @def mpuREGION5 +* @brief Mpu region 5 +* +* Alias for Mpu region 5 +*/ +#define mpuREGION5 4U + +/** @def mpuREGION6 +* @brief Mpu region 6 +* +* Alias for Mpu region 6 +*/ +#define mpuREGION6 5U + +/** @def mpuREGION7 +* @brief Mpu region 7 +* +* Alias for Mpu region 7 +*/ +#define mpuREGION7 6U + +/** @def mpuREGION8 +* @brief Mpu region 8 +* +* Alias for Mpu region 8 +*/ +#define mpuREGION8 7U + +/** @def mpuREGION9 +* @brief Mpu region 9 +* +* Alias for Mpu region 9 +*/ +#define mpuREGION9 8U + +/** @def mpuREGION10 +* @brief Mpu region 10 +* +* Alias for Mpu region 10 +*/ +#define mpuREGION10 9U + +/** @def mpuREGION11 +* @brief Mpu region 11 +* +* Alias for Mpu region 11 +*/ +#define mpuREGION11 10U + +/** @def mpuREGION12 +* @brief Mpu region 12 +* +* Alias for Mpu region 12 +*/ +#define mpuREGION12 11U + +/** @def mpuREGION_ENABLE +* @brief Enable MPU Region +* +* Alias for MPU region enable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuREGION_ENABLE 1U + +/** @def mpuREGION_DISABLE +* @brief Disable MPU Region +* +* Alias for MPU region disable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuREGION_DISABLE 0U + +/** @def mpuSUBREGION0_DISABLE +* @brief Disable MPU Sub Region0 +* +* Alias for MPU subregion0 disable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuSUBREGION0_DISABLE 0x100U + +/** @def mpuSUBREGION1_DISABLE +* @brief Disable MPU Sub Region1 +* +* Alias for MPU subregion1 disable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuSUBREGION1_DISABLE 0x200U + +/** @def mpuSUBREGION2_DISABLE +* @brief Disable MPU Sub Region2 +* +* Alias for MPU subregion2 disable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuSUBREGION2_DISABLE 0x400U + +/** @def mpuSUBREGION3_DISABLE +* @brief Disable MPU Sub Region3 +* +* Alias for MPU subregion3 disable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuSUBREGION3_DISABLE 0x800U + +/** @def mpuSUBREGION4_DISABLE +* @brief Disable MPU Sub Region4 +* +* Alias for MPU subregion4 disable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuSUBREGION4_DISABLE 0x1000U + +/** @def mpuSUBREGION5_DISABLE +* @brief Disable MPU Sub Region5 +* +* Alias for MPU subregion5 disable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuSUBREGION5_DISABLE 0x2000U + +/** @def mpuSUBREGION6_DISABLE +* @brief Disable MPU Sub Region6 +* +* Alias for MPU subregion6 disable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuSUBREGION6_DISABLE 0x4000U + +/** @def mpuSUBREGION7_DISABLE +* @brief Disable MPU Sub Region7 +* +* Alias for MPU subregion7 disable. +* +* @note This should be used as the parameter of the API _mpuSetRegionSizeRegister_ +*/ +#define mpuSUBREGION7_DISABLE 0x8000U + + + +/** @enum mpuRegionAccessPermission +* @brief Alias names for mpu region access permissions +* +* This enumeration is used to provide alias names for the mpu region access permission: +* - MPU_PRIV_NA_USER_NA_EXEC no access in privileged mode, no access in user mode and execute +* - MPU_PRIV_RW_USER_NA_EXEC read/write in privileged mode, no access in user mode and execute +* - MPU_PRIV_RW_USER_RO_EXEC read/write in privileged mode, read only in user mode and execute +* - MPU_PRIV_RW_USER_RW_EXEC read/write in privileged mode, read/write in user mode and execute +* - MPU_PRIV_RO_USER_NA_EXEC read only in privileged mode, no access in user mode and execute +* - MPU_PRIV_RO_USER_RO_EXEC read only in privileged mode, read only in user mode and execute +* - MPU_PRIV_NA_USER_NA_NOEXEC no access in privileged mode, no access in user mode and no execution +* - MPU_PRIV_RW_USER_NA_NOEXEC read/write in privileged mode, no access in user mode and no execution +* - MPU_PRIV_RW_USER_RO_NOEXEC read/write in privileged mode, read only in user mode and no execution +* - MPU_PRIV_RW_USER_RW_NOEXEC read/write in privileged mode, read/write in user mode and no execution +* - MPU_PRIV_RO_USER_NA_NOEXEC read only in privileged mode, no access in user mode and no execution +* - MPU_PRIV_RO_USER_RO_NOEXEC read only in privileged mode, read only in user mode and no execution +* +*/ +enum mpuRegionAccessPermission +{ + MPU_PRIV_NA_USER_NA_EXEC = 0x0000U, /**< Alias no access in privileged mode, no access in user mode and execute */ + MPU_PRIV_RW_USER_NA_EXEC = 0x0100U, /**< Alias no read/write in privileged mode, no access in user mode and execute */ + MPU_PRIV_RW_USER_RO_EXEC = 0x0200U, /**< Alias no read/write in privileged mode, read only in user mode and execute */ + MPU_PRIV_RW_USER_RW_EXEC = 0x0300U, /**< Alias no read/write in privileged mode, read/write in user mode and execute */ + MPU_PRIV_RO_USER_NA_EXEC = 0x0500U, /**< Alias no read only in privileged mode, no access in user mode and execute */ + MPU_PRIV_RO_USER_RO_EXEC = 0x0600U, /**< Alias no read only in privileged mode, read only in user mode and execute */ + MPU_PRIV_NA_USER_NA_NOEXEC = 0x1000U, /**< Alias no access in privileged mode, no access in user mode and no execution */ + MPU_PRIV_RW_USER_NA_NOEXEC = 0x1100U, /**< Alias no read/write in privileged mode, no access in user mode and no execution */ + MPU_PRIV_RW_USER_RO_NOEXEC = 0x1200U, /**< Alias no read/write in privileged mode, read only in user mode and no execution */ + MPU_PRIV_RW_USER_RW_NOEXEC = 0x1300U, /**< Alias no read/write in privileged mode, read/write in user mode and no execution */ + MPU_PRIV_RO_USER_NA_NOEXEC = 0x1500U, /**< Alias no read only in privileged mode, no access in user mode and no execution */ + MPU_PRIV_RO_USER_RO_NOEXEC = 0x1600U /**< Alias no read only in privileged mode, read only in user mode and no execution */ +}; + +/** @enum mpuRegionType +* @brief Alias names for mpu region type +* +* This enumeration is used to provide alias names for the mpu region type: +* - MPU_STRONGLYORDERED_SHAREABLE Memory type strongly ordered and sharable +* - MPU_DEVICE_SHAREABLE Memory type device and sharable +* - MPU_NORMAL_OIWTNOWA_NONSHARED Memory type normal outer and inner write-through, no write allocate and non shared +* - MPU_NORMAL_OIWTNOWA_SHARED Memory type normal outer and inner write-through, no write allocate and shared +* - MPU_NORMAL_OIWBNOWA_NONSHARED Memory type normal outer and inner write-back, no write allocate and non shared +* - MPU_NORMAL_OIWBNOWA_SHARED Memory type normal outer and inner write-back, no write allocate and shared +* - MPU_NORMAL_OINC_NONSHARED Memory type normal outer and inner non-cachable and non shared +* - MPU_NORMAL_OINC_SHARED Memory type normal outer and inner non-cachable and shared +* - MPU_NORMAL_OIWBWA_NONSHARED Memory type normal outer and inner write-back, write allocate and non shared +* - MPU_NORMAL_OIWBWA_SHARED Memory type normal outer and inner write-back, write allocate and shared +* - MPU_DEVICE_NONSHAREABLE Memory type device and non sharable +*/ +enum mpuRegionType +{ + MPU_STRONGLYORDERED_SHAREABLE = 0x0000U, /**< Memory type strongly ordered and sharable */ + MPU_DEVICE_SHAREABLE = 0x0001U, /**< Memory type device and sharable */ + MPU_NORMAL_OIWTNOWA_NONSHARED = 0x0002U, /**< Memory type normal outer and inner write-through, no write allocate and non shared */ + MPU_NORMAL_OIWBNOWA_NONSHARED = 0x0003U, /**< Memory type normal outer and inner write-back, no write allocate and non shared */ + MPU_NORMAL_OIWTNOWA_SHARED = 0x0006U, /**< Memory type normal outer and inner write-through, no write allocate and shared */ + MPU_NORMAL_OIWBNOWA_SHARED = 0x0007U, /**< Memory type normal outer and inner write-back, no write allocate and shared */ + MPU_NORMAL_OINC_NONSHARED = 0x0008U, /**< Memory type normal outer and inner non-cachable and non shared */ + MPU_NORMAL_OIWBWA_NONSHARED = 0x000BU, /**< Memory type normal outer and inner write-back, write allocate and non shared */ + MPU_NORMAL_OINC_SHARED = 0x000CU, /**< Memory type normal outer and inner non-cachable and shared */ + MPU_NORMAL_OIWBWA_SHARED = 0x000FU, /**< Memory type normal outer and inner write-back, write allocate and shared */ + MPU_DEVICE_NONSHAREABLE = 0x0010U /**< Memory type device and non sharable */ +}; + +/** @enum mpuRegionSize +* @brief Alias names for mpu region type +* +* This enumeration is used to provide alias names for the mpu region type: +* - MPU_STRONGLYORDERED_SHAREABLE Memory type strongly ordered and sharable +* - MPU_32_BYTES Memory size in bytes +* - MPU_64_BYTES Memory size in bytes +* - MPU_128_BYTES Memory size in bytes +* - MPU_256_BYTES Memory size in bytes +* - MPU_512_BYTES Memory size in bytes +* - MPU_1_KB Memory size in kB +* - MPU_2_KB Memory size in kB +* - MPU_4_KB Memory size in kB +* - MPU_8_KB Memory size in kB +* - MPU_16_KB Memory size in kB +* - MPU_32_KB Memory size in kB +* - MPU_64_KB Memory size in kB +* - MPU_128_KB Memory size in kB +* - MPU_256_KB Memory size in kB +* - MPU_512_KB Memory size in kB +* - MPU_1_MB Memory size in MB +* - MPU_2_MB Memory size in MB +* - MPU_4_MB Memory size in MB +* - MPU_8_MBv Memory size in MB +* - MPU_16_MB Memory size in MB +* - MPU_32_MB Memory size in MB +* - MPU_64_MB Memory size in MB +* - MPU_128_MB Memory size in MB +* - MPU_256_MB Memory size in MB +* - MPU_512_MB Memory size in MB +* - MPU_1_GB Memory size in GB +* - MPU_2_GB Memory size in GB +* - MPU_4_GB Memory size in GB +*/ +enum mpuRegionSize +{ + MPU_32_BYTES = 0x04U << 1U, /**< Memory size in bytes */ + MPU_64_BYTES = 0x05U << 1U, /**< Memory size in bytes */ + MPU_128_BYTES = 0x06U << 1U, /**< Memory size in bytes */ + MPU_256_BYTES = 0x07U << 1U, /**< Memory size in bytes */ + MPU_512_BYTES = 0x08U << 1U, /**< Memory size in bytes */ + MPU_1_KB = 0x09U << 1U, /**< Memory size in kB */ + MPU_2_KB = 0x0AU << 1U, /**< Memory size in kB */ + MPU_4_KB = 0x0BU << 1U, /**< Memory size in kB */ + MPU_8_KB = 0x0CU << 1U, /**< Memory size in kB */ + MPU_16_KB = 0x0DU << 1U, /**< Memory size in kB */ + MPU_32_KB = 0x0EU << 1U, /**< Memory size in kB */ + MPU_64_KB = 0x0FU << 1U, /**< Memory size in kB */ + MPU_128_KB = 0x10U << 1U, /**< Memory size in kB */ + MPU_256_KB = 0x11U << 1U, /**< Memory size in kB */ + MPU_512_KB = 0x12U << 1U, /**< Memory size in kB */ + MPU_1_MB = 0x13U << 1U, /**< Memory size in MB */ + MPU_2_MB = 0x14U << 1U, /**< Memory size in MB */ + MPU_4_MB = 0x15U << 1U, /**< Memory size in MB */ + MPU_8_MB = 0x16U << 1U, /**< Memory size in MB */ + MPU_16_MB = 0x17U << 1U, /**< Memory size in MB */ + MPU_32_MB = 0x18U << 1U, /**< Memory size in MB */ + MPU_64_MB = 0x19U << 1U, /**< Memory size in MB */ + MPU_128_MB = 0x1AU << 1U, /**< Memory size in MB */ + MPU_256_MB = 0x1BU << 1U, /**< Memory size in MB */ + MPU_512_MB = 0x1CU << 1U, /**< Memory size in MB */ + MPU_1_GB = 0x1DU << 1U, /**< Memory size in GB */ + MPU_2_GB = 0x1EU << 1U, /**< Memory size in GB */ + MPU_4_GB = 0x1FU << 1U /**< Memory size in GB */ +}; + +/** @fn void _mpuInit_(void) +* @brief Initialize Mpu +* +* This function initializes memory protection unit. +*/ +void _mpuInit_(void); + +/** @fn void _mpuEnable_(void) +* @brief Enable Mpu +* +* This function enables memory protection unit. +*/ +void _mpuEnable_(void); + +/** @fn void _mpuDisable_(void) +* @brief Disable Mpu +* +* This function disables memory protection unit. +*/ +void _mpuDisable_(void); + +/** @fn void _mpuEnableBackgroundRegion_(void) +* @brief Enable Mpu background region +* +* This function enables background region of the memory protection unit. +*/ +void _mpuEnableBackgroundRegion_(void); + +/** @fn void _mpuDisableBackgroundRegion_(void) +* @brief Disable Mpu background region +* +* This function disables background region of the memory protection unit. +*/ +void _mpuDisableBackgroundRegion_(void); + +/** @fn uint32 _mpuGetNumberOfRegions_(void) +* @brief Returns number of implemented Mpu regions +* @return Number of implemented mpu regions +* +* This function returns the number of implemented mpu regions. +*/ +uint32 _mpuGetNumberOfRegions_(void); + +/** @fn uint32 _mpuAreRegionsSeparate_(void) +* @brief Returns the type of the implemented mpu regions +* @return Mpu type of regions +* +* This function returns 0 when mpu regions are of type unified otherwise regions are of type separate. +*/ +uint32 _mpuAreRegionsSeparate_(void); + +/** @fn void _mpuSetRegion_(uint32 region) +* @brief Set mpu region number +* @param[in] region Region number: mpuREGION1..mpuREGION12 +* +* This function selects one of the implemented mpu regions. +*/ +void _mpuSetRegion_(uint32 region); + +/** @fn uint32 _mpuGetRegion_(void) +* @brief Returns the currently selected mpu region +* @return Mpu region number +* +* This function returns currently selected mpu region number. +*/ +uint32 _mpuGetRegion_(void); + +/** @fn void _mpuSetRegionBaseAddress_(uint32 address) +* @brief Set base address of currently selected mpu region +* @param[in] address Base address of the MPU region +* @note The base address must always aligned with region size +* +* This function sets the base address of currently selected mpu region. +*/ +void _mpuSetRegionBaseAddress_(uint32 address); + +/** @fn uint32 _mpuGetRegionBaseAddress_(void) +* @brief Returns base address of currently selected mpu region +* @return Current base address of selected mpu region +* +* This function returns the base address of currently selected mpu region. +*/ +uint32 _mpuGetRegionBaseAddress_(void); + +/** @fn void _mpuSetRegionTypeAndPermission_(uint32 type, uint32 permission) +* @brief Set type of currently selected mpu region +* @param[in] type Region Type +* - MPU_STRONGLYORDERED_SHAREABLE : Memory type strongly ordered and sharable +* - MPU_DEVICE_SHAREABLE : Memory type device and sharable +* - MPU_NORMAL_OIWTNOWA_NONSHARED : Memory type normal outer and inner write-through, no write allocate and non shared +* - MPU_NORMAL_OIWBNOWA_NONSHARED : Memory type normal outer and inner write-back, no write allocate and non shared +* - MPU_NORMAL_OIWTNOWA_SHARED : Memory type normal outer and inner write-through, no write allocate and shared +* - MPU_NORMAL_OIWBNOWA_SHARED : Memory type normal outer and inner write-back, no write allocate and shared +* - MPU_NORMAL_OINC_NONSHARED : Memory type normal outer and inner non-cachable and non shared +* - MPU_NORMAL_OIWBWA_NONSHARED : Memory type normal outer and inner write-back, write allocate and non shared +* - MPU_NORMAL_OINC_SHARED : Memory type normal outer and inner non-cachable and shared +* - MPU_NORMAL_OIWBWA_SHARED : Memory type normal outer and inner write-back, write allocate and shared +* - MPU_DEVICE_NONSHAREABLE : Memory type device and non sharable +* +* @param[in] permission Region Access permission +* - MPU_PRIV_NA_USER_NA_EXEC : Alias no access in privileged mode, no access in user mode and execute +* - MPU_PRIV_RW_USER_NA_EXEC : Alias no read/write in privileged mode, no access in user mode and execute +* - MPU_PRIV_RW_USER_RO_EXEC : Alias no read/write in privileged mode, read only in user mode and execute +* - MPU_PRIV_RW_USER_RW_EXEC : Alias no read/write in privileged mode, read/write in user mode and execute +* - MPU_PRIV_RO_USER_NA_EXEC : Alias no read only in privileged mode, no access in user mode and execute +* - MPU_PRIV_RO_USER_RO_EXEC : Alias no read only in privileged mode, read only in user mode and execute +* - MPU_PRIV_NA_USER_NA_NOEXEC : Alias no access in privileged mode, no access in user mode and no execution +* - MPU_PRIV_RW_USER_NA_NOEXEC : Alias no read/write in privileged mode, no access in user mode and no execution +* - MPU_PRIV_RW_USER_RO_NOEXEC : Alias no read/write in privileged mode, read only in user mode and no execution +* - MPU_PRIV_RW_USER_RW_NOEXEC : Alias no read/write in privileged mode, read/write in user mode and no execution +* - MPU_PRIV_RO_USER_NA_NOEXEC : Alias no read only in privileged mode, no access in user mode and no execution +* - MPU_PRIV_RO_USER_RO_NOEXEC : Alias no read only in privileged mode, read only in user mode and no execution +* +* This function sets the type of currently selected mpu region. +*/ +void _mpuSetRegionTypeAndPermission_(uint32 type, uint32 permission); + +/** @fn uint32 _mpuGetRegionType_(void) +* @brief Returns the type of currently selected mpu region +* @return Current type of selected mpu region +* +* This function returns the type of currently selected mpu region. +*/ +uint32 _mpuGetRegionType_(void); + +/** @fn uint32 _mpuGetRegionPermission_(void) +* @brief Returns permission of currently selected mpu region +* @return Current type of selected mpu region +* +* This function returns permission of currently selected mpu region. +*/ +uint32 _mpuGetRegionPermission_(void); + +/** @fn void _mpuSetRegionSizeRegister_(uint32 value) +* @brief Set mpu region size register value +* @param[in] value Value to be written in the MPU Region Size and Enable register +* +* This function sets mpu region size register value. +* +* Sample usuage: +* _mpuSetRegion_(mpuREGION5); +* _mpuSetRegionSizeRegister_(mpuREGION_ENABLE | MPU_16_KB | mpuSUBREGION3_DISABLE | mpuSUBREGION4_DISABLE); +*/ +void _mpuSetRegionSizeRegister_(uint32 value); + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pcr.h b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pcr.h index 387e0218..122c6f1e 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pcr.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pcr.h @@ -1,297 +1,297 @@ -/** @file sys_pcr.h -* @brief PCR Driver Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __SYS_PCR_H__ -#define __SYS_PCR_H__ - -#include "reg_pcr.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* PCR General Definitions */ - -typedef uint32 peripheralFrame_CS_t; - -#define PeripheralFrame_CS0 0U -#define PeripheralFrame_CS1 1U -#define PeripheralFrame_CS2 2U -#define PeripheralFrame_CS3 3U -#define PeripheralFrame_CS4 4U -#define PeripheralFrame_CS5 5U -#define PeripheralFrame_CS6 6U -#define PeripheralFrame_CS7 7U -#define PeripheralFrame_CS8 8U -#define PeripheralFrame_CS9 9U -#define PeripheralFrame_CS10 10U -#define PeripheralFrame_CS11 11U -#define PeripheralFrame_CS12 12U -#define PeripheralFrame_CS13 13U -#define PeripheralFrame_CS14 14U -#define PeripheralFrame_CS15 15U -#define PeripheralFrame_CS16 16U -#define PeripheralFrame_CS17 17U -#define PeripheralFrame_CS18 18U -#define PeripheralFrame_CS19 19U -#define PeripheralFrame_CS20 20U -#define PeripheralFrame_CS21 21U -#define PeripheralFrame_CS22 22U -#define PeripheralFrame_CS23 23U -#define PeripheralFrame_CS24 24U -#define PeripheralFrame_CS25 25U -#define PeripheralFrame_CS26 26U -#define PeripheralFrame_CS27 27U -#define PeripheralFrame_CS28 28U -#define PeripheralFrame_CS29 29U -#define PeripheralFrame_CS30 30U -#define PeripheralFrame_CS31 31U - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -typedef uint32 quadrant_Select_t; -#define Quadrant0 1U -#define Quadrant1 2U -#define Quadrant2 4U -#define Quadrant3 8U - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/** @typedef peripheral_Frame_Select_t -* @brief PCR Peripheral Frame Type Definition -* -* This type is used to access the PCR peripheral Frame configuration register. -*/ -typedef struct peripheral_Frame_Select -{ - peripheralFrame_CS_t Peripheral_CS; - quadrant_Select_t Peripheral_Quadrant; -}peripheral_Frame_Select_t; - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - -/** @typedef peripheral_Quad_ChipSelect_t -* @brief PCR Peripheral Frame registers Type Definition -* -* This type is used to access all the PCR peripheral Frame configuration registers. -*/ -typedef struct peripheral_Quad_ChipSelect -{ - uint32 Peripheral_Quad0_3_CS0_7; - uint32 Peripheral_Quad4_7_CS8_15; - uint32 Peripheral_Quad8_11_CS16_23; - uint32 Peripheral_Quad12_15_CS24_31; -}peripheral_Quad_ChipSelect_t; - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - -/** @typedef peripheral_Memory_ChipSelect_t -* @brief PCR Peripheral Memory Frame registers Type Definition -* -* This type is used to access all the PCR peripheral Memory Frame configuration registers. -*/ -typedef struct peripheral_Memory_ChipSelect -{ - uint32 Peripheral_Mem_CS0_31; - uint32 Peripheral_Mem_CS32_63; -}peripheral_Memory_ChipSelect_t; - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - -typedef uint32 peripheral_MemoryFrame_CS_t; - -#define PeripheralMemoryFrame_CS0 0U -#define PeripheralMemoryFrame_CS1 1U -#define PeripheralMemoryFrame_CS2 2U -#define PeripheralMemoryFrame_CS3 3U -#define PeripheralMemoryFrame_CS4 4U -#define PeripheralMemoryFrame_CS5 5U -#define PeripheralMemoryFrame_CS6 6U -#define PeripheralMemoryFrame_CS7 7U -#define PeripheralMemoryFrame_CS8 8U -#define PeripheralMemoryFrame_CS9 9U -#define PeripheralMemoryFrame_CS10 10U -#define PeripheralMemoryFrame_CS11 11U -#define PeripheralMemoryFrame_CS12 12U -#define PeripheralMemoryFrame_CS13 13U -#define PeripheralMemoryFrame_CS14 14U -#define PeripheralMemoryFrame_CS15 15U -#define PeripheralMemoryFrame_CS16 16U -#define PeripheralMemoryFrame_CS17 17U -#define PeripheralMemoryFrame_CS18 18U -#define PeripheralMemoryFrame_CS19 19U -#define PeripheralMemoryFrame_CS20 20U -#define PeripheralMemoryFrame_CS21 21U -#define PeripheralMemoryFrame_CS22 22U -#define PeripheralMemoryFrame_CS23 23U -#define PeripheralMemoryFrame_CS24 24U -#define PeripheralMemoryFrame_CS25 25U -#define PeripheralMemoryFrame_CS26 26U -#define PeripheralMemoryFrame_CS27 27U -#define PeripheralMemoryFrame_CS28 28U -#define PeripheralMemoryFrame_CS29 29U -#define PeripheralMemoryFrame_CS30 30U -#define PeripheralMemoryFrame_CS31 31U -#define PeripheralMemoryFrame_CS32 32U -#define PeripheralMemoryFrame_CS33 33U -#define PeripheralMemoryFrame_CS34 34U -#define PeripheralMemoryFrame_CS35 35U -#define PeripheralMemoryFrame_CS36 36U -#define PeripheralMemoryFrame_CS37 37U -#define PeripheralMemoryFrame_CS38 38U -#define PeripheralMemoryFrame_CS39 39U -#define PeripheralMemoryFrame_CS40 40U -#define PeripheralMemoryFrame_CS41 41U -#define PeripheralMemoryFrame_CS42 42U -#define PeripheralMemoryFrame_CS43 43U -#define PeripheralMemoryFrame_CS44 44U -#define PeripheralMemoryFrame_CS45 45U -#define PeripheralMemoryFrame_CS46 46U -#define PeripheralMemoryFrame_CS47 47U -#define PeripheralMemoryFrame_CS48 48U -#define PeripheralMemoryFrame_CS49 49U -#define PeripheralMemoryFrame_CS50 50U -#define PeripheralMemoryFrame_CS51 51U -#define PeripheralMemoryFrame_CS52 52U -#define PeripheralMemoryFrame_CS53 53U -#define PeripheralMemoryFrame_CS54 54U -#define PeripheralMemoryFrame_CS55 55U -#define PeripheralMemoryFrame_CS56 56U -#define PeripheralMemoryFrame_CS57 57U -#define PeripheralMemoryFrame_CS58 58U -#define PeripheralMemoryFrame_CS59 59U -#define PeripheralMemoryFrame_CS60 60U -#define PeripheralMemoryFrame_CS61 61U -#define PeripheralMemoryFrame_CS62 62U -#define PeripheralMemoryFrame_CS63 63U - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - -typedef struct pcr_config_reg -{ - uint32 CONFIG_PMPROTSET0; - uint32 CONFIG_PMPROTSET1; - uint32 CONFIG_PPROTSET0; - uint32 CONFIG_PPROTSET1; - uint32 CONFIG_PPROTSET2; - uint32 CONFIG_PPROTSET3; - uint32 CONFIG_PCSPWRDWNSET0; - uint32 CONFIG_PCSPWRDWNSET1; - uint32 CONFIG_PSPWRDWNSET0; - uint32 CONFIG_PSPWRDWNSET1; - uint32 CONFIG_PSPWRDWNSET2; - uint32 CONFIG_PSPWRDWNSET3; -} pcr_config_reg_t; - -/** - * @defgroup PCR PCR - * @brief Peripheral Central Resource Controller - * - * The PCR manages the accesses to the peripheral registers and peripheral - * memories. It provides a global reset for all the peripherals. It also supports the - * capability to selectively enable or disable the clock for each peripheral - * individually. The PCR also manages the accesses to the system module - * registers required to configure the device’s clocks, interrupts, and so on. The - * system module registers also include status flags for indicating exception - * conditions – resets, aborts, errors, interrupts. - * - * Related files: - * - reg_pcr.h - * - sys_pcr.h - * - sys_pcr.c - * - * @addtogroup PCR - * @{ - */ - -/* PCR Interface Functions */ - -void peripheral_Frame_Protection_Set(peripheral_Frame_Select_t peripheral_Frame); -void peripheral_Frame_Protection_Clr(peripheral_Frame_Select_t peripheral_Frame); -void peripheral_Frame_Powerdown_Set(peripheral_Frame_Select_t peripheral_Frame); -void peripheral_Frame_Powerdown_Clr(peripheral_Frame_Select_t peripheral_Frame); - -void peripheral_Protection_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS); -void peripheral_Protection_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS); -void peripheral_Protection_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS); -void peripheral_Powerdown_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS); -void peripheral_Powerdown_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS); -void peripheral_Powerdown_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS); - -void peripheral_Memory_Protection_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS); -void peripheral_Memory_Protection_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS); -void peripheral_Memory_Protection_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS); -void peripheral_Memory_Powerdown_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS); -void peripheral_Memory_Powerdown_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS); -void peripheral_Memory_Powerdown_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS); - -void peripheral_Mem_Frame_Prot_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS); -void peripheral_Mem_Frame_Prot_Clr(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS); -void peripheral_Mem_Frame_Pwrdwn_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS); -void peripheral_Mem_Frame_Pwrdwn_Clr (peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS); - -void pcrGetConfigValue(pcr_config_reg_t *config_reg, config_value_type_t type); - -/**@}*/ -/* USER CODE BEGIN (7) */ -/* USER CODE END */ - -#ifdef __cplusplus -} -#endif - -#endif +/** @file sys_pcr.h +* @brief PCR Driver Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __SYS_PCR_H__ +#define __SYS_PCR_H__ + +#include "reg_pcr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* PCR General Definitions */ + +typedef uint32 peripheralFrame_CS_t; + +#define PeripheralFrame_CS0 0U +#define PeripheralFrame_CS1 1U +#define PeripheralFrame_CS2 2U +#define PeripheralFrame_CS3 3U +#define PeripheralFrame_CS4 4U +#define PeripheralFrame_CS5 5U +#define PeripheralFrame_CS6 6U +#define PeripheralFrame_CS7 7U +#define PeripheralFrame_CS8 8U +#define PeripheralFrame_CS9 9U +#define PeripheralFrame_CS10 10U +#define PeripheralFrame_CS11 11U +#define PeripheralFrame_CS12 12U +#define PeripheralFrame_CS13 13U +#define PeripheralFrame_CS14 14U +#define PeripheralFrame_CS15 15U +#define PeripheralFrame_CS16 16U +#define PeripheralFrame_CS17 17U +#define PeripheralFrame_CS18 18U +#define PeripheralFrame_CS19 19U +#define PeripheralFrame_CS20 20U +#define PeripheralFrame_CS21 21U +#define PeripheralFrame_CS22 22U +#define PeripheralFrame_CS23 23U +#define PeripheralFrame_CS24 24U +#define PeripheralFrame_CS25 25U +#define PeripheralFrame_CS26 26U +#define PeripheralFrame_CS27 27U +#define PeripheralFrame_CS28 28U +#define PeripheralFrame_CS29 29U +#define PeripheralFrame_CS30 30U +#define PeripheralFrame_CS31 31U + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +typedef uint32 quadrant_Select_t; +#define Quadrant0 1U +#define Quadrant1 2U +#define Quadrant2 4U +#define Quadrant3 8U + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/** @typedef peripheral_Frame_Select_t +* @brief PCR Peripheral Frame Type Definition +* +* This type is used to access the PCR peripheral Frame configuration register. +*/ +typedef struct peripheral_Frame_Select +{ + peripheralFrame_CS_t Peripheral_CS; + quadrant_Select_t Peripheral_Quadrant; +}peripheral_Frame_Select_t; + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + +/** @typedef peripheral_Quad_ChipSelect_t +* @brief PCR Peripheral Frame registers Type Definition +* +* This type is used to access all the PCR peripheral Frame configuration registers. +*/ +typedef struct peripheral_Quad_ChipSelect +{ + uint32 Peripheral_Quad0_3_CS0_7; + uint32 Peripheral_Quad4_7_CS8_15; + uint32 Peripheral_Quad8_11_CS16_23; + uint32 Peripheral_Quad12_15_CS24_31; +}peripheral_Quad_ChipSelect_t; + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + +/** @typedef peripheral_Memory_ChipSelect_t +* @brief PCR Peripheral Memory Frame registers Type Definition +* +* This type is used to access all the PCR peripheral Memory Frame configuration registers. +*/ +typedef struct peripheral_Memory_ChipSelect +{ + uint32 Peripheral_Mem_CS0_31; + uint32 Peripheral_Mem_CS32_63; +}peripheral_Memory_ChipSelect_t; + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + +typedef uint32 peripheral_MemoryFrame_CS_t; + +#define PeripheralMemoryFrame_CS0 0U +#define PeripheralMemoryFrame_CS1 1U +#define PeripheralMemoryFrame_CS2 2U +#define PeripheralMemoryFrame_CS3 3U +#define PeripheralMemoryFrame_CS4 4U +#define PeripheralMemoryFrame_CS5 5U +#define PeripheralMemoryFrame_CS6 6U +#define PeripheralMemoryFrame_CS7 7U +#define PeripheralMemoryFrame_CS8 8U +#define PeripheralMemoryFrame_CS9 9U +#define PeripheralMemoryFrame_CS10 10U +#define PeripheralMemoryFrame_CS11 11U +#define PeripheralMemoryFrame_CS12 12U +#define PeripheralMemoryFrame_CS13 13U +#define PeripheralMemoryFrame_CS14 14U +#define PeripheralMemoryFrame_CS15 15U +#define PeripheralMemoryFrame_CS16 16U +#define PeripheralMemoryFrame_CS17 17U +#define PeripheralMemoryFrame_CS18 18U +#define PeripheralMemoryFrame_CS19 19U +#define PeripheralMemoryFrame_CS20 20U +#define PeripheralMemoryFrame_CS21 21U +#define PeripheralMemoryFrame_CS22 22U +#define PeripheralMemoryFrame_CS23 23U +#define PeripheralMemoryFrame_CS24 24U +#define PeripheralMemoryFrame_CS25 25U +#define PeripheralMemoryFrame_CS26 26U +#define PeripheralMemoryFrame_CS27 27U +#define PeripheralMemoryFrame_CS28 28U +#define PeripheralMemoryFrame_CS29 29U +#define PeripheralMemoryFrame_CS30 30U +#define PeripheralMemoryFrame_CS31 31U +#define PeripheralMemoryFrame_CS32 32U +#define PeripheralMemoryFrame_CS33 33U +#define PeripheralMemoryFrame_CS34 34U +#define PeripheralMemoryFrame_CS35 35U +#define PeripheralMemoryFrame_CS36 36U +#define PeripheralMemoryFrame_CS37 37U +#define PeripheralMemoryFrame_CS38 38U +#define PeripheralMemoryFrame_CS39 39U +#define PeripheralMemoryFrame_CS40 40U +#define PeripheralMemoryFrame_CS41 41U +#define PeripheralMemoryFrame_CS42 42U +#define PeripheralMemoryFrame_CS43 43U +#define PeripheralMemoryFrame_CS44 44U +#define PeripheralMemoryFrame_CS45 45U +#define PeripheralMemoryFrame_CS46 46U +#define PeripheralMemoryFrame_CS47 47U +#define PeripheralMemoryFrame_CS48 48U +#define PeripheralMemoryFrame_CS49 49U +#define PeripheralMemoryFrame_CS50 50U +#define PeripheralMemoryFrame_CS51 51U +#define PeripheralMemoryFrame_CS52 52U +#define PeripheralMemoryFrame_CS53 53U +#define PeripheralMemoryFrame_CS54 54U +#define PeripheralMemoryFrame_CS55 55U +#define PeripheralMemoryFrame_CS56 56U +#define PeripheralMemoryFrame_CS57 57U +#define PeripheralMemoryFrame_CS58 58U +#define PeripheralMemoryFrame_CS59 59U +#define PeripheralMemoryFrame_CS60 60U +#define PeripheralMemoryFrame_CS61 61U +#define PeripheralMemoryFrame_CS62 62U +#define PeripheralMemoryFrame_CS63 63U + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + +typedef struct pcr_config_reg +{ + uint32 CONFIG_PMPROTSET0; + uint32 CONFIG_PMPROTSET1; + uint32 CONFIG_PPROTSET0; + uint32 CONFIG_PPROTSET1; + uint32 CONFIG_PPROTSET2; + uint32 CONFIG_PPROTSET3; + uint32 CONFIG_PCSPWRDWNSET0; + uint32 CONFIG_PCSPWRDWNSET1; + uint32 CONFIG_PSPWRDWNSET0; + uint32 CONFIG_PSPWRDWNSET1; + uint32 CONFIG_PSPWRDWNSET2; + uint32 CONFIG_PSPWRDWNSET3; +} pcr_config_reg_t; + +/** + * @defgroup PCR PCR + * @brief Peripheral Central Resource Controller + * + * The PCR manages the accesses to the peripheral registers and peripheral + * memories. It provides a global reset for all the peripherals. It also supports the + * capability to selectively enable or disable the clock for each peripheral + * individually. The PCR also manages the accesses to the system module + * registers required to configure the device’s clocks, interrupts, and so on. The + * system module registers also include status flags for indicating exception + * conditions – resets, aborts, errors, interrupts. + * + * Related files: + * - reg_pcr.h + * - sys_pcr.h + * - sys_pcr.c + * + * @addtogroup PCR + * @{ + */ + +/* PCR Interface Functions */ + +void peripheral_Frame_Protection_Set(peripheral_Frame_Select_t peripheral_Frame); +void peripheral_Frame_Protection_Clr(peripheral_Frame_Select_t peripheral_Frame); +void peripheral_Frame_Powerdown_Set(peripheral_Frame_Select_t peripheral_Frame); +void peripheral_Frame_Powerdown_Clr(peripheral_Frame_Select_t peripheral_Frame); + +void peripheral_Protection_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS); +void peripheral_Protection_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS); +void peripheral_Protection_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS); +void peripheral_Powerdown_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS); +void peripheral_Powerdown_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS); +void peripheral_Powerdown_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS); + +void peripheral_Memory_Protection_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS); +void peripheral_Memory_Protection_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS); +void peripheral_Memory_Protection_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS); +void peripheral_Memory_Powerdown_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS); +void peripheral_Memory_Powerdown_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS); +void peripheral_Memory_Powerdown_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS); + +void peripheral_Mem_Frame_Prot_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS); +void peripheral_Mem_Frame_Prot_Clr(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS); +void peripheral_Mem_Frame_Pwrdwn_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS); +void peripheral_Mem_Frame_Pwrdwn_Clr (peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS); + +void pcrGetConfigValue(pcr_config_reg_t *config_reg, config_value_type_t type); + +/**@}*/ +/* USER CODE BEGIN (7) */ +/* USER CODE END */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pmm.h b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pmm.h index f2c049eb..6ee63c67 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pmm.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pmm.h @@ -1,182 +1,182 @@ -/** @file sys_pmm.h -* @brief PMM Driver Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Definitions -* - Types -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __SYS_PMM_H__ -#define __SYS_PMM_H__ - -#include "reg_pmm.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Bit Masks */ -#define PMM_LOGICPDPWRCTRL0_LOGICPDON0 0x0F000000U /*PD2*/ -#define PMM_LOGICPDPWRCTRL0_LOGICPDON1 0x000F0000U /*PD3*/ -#define PMM_LOGICPDPWRCTRL0_LOGICPDON2 0x00000F00U /*PD4*/ -#define PMM_LOGICPDPWRCTRL0_LOGICPDON3 0x0000000FU /*PD5*/ - -#define PMM_MEMPDPWRCTRL0_MEMPDON0 0x0F000000U /*RAM_PD1*/ -#define PMM_MEMPDPWRCTRL0_MEMPDON1 0x000F0000U /*RAM_PD2*/ -#define PMM_MEMPDPWRCTRL0_MEMPDON2 0x00000F00U /*RAM_PD3*/ - -#define PMM_LOGICPDPWRSTAT_DOMAINON 0x00000100U -#define PMM_LOGICPDPWRSTAT_LOGICPDPWRSTAT 0x00000003U -#define PMM_MEMPDPWRSTAT_DOMAINON 0x00000100U -#define PMM_MEMPDPWRSTAT_MEMPDPWRSTAT 0x00000003U -#define PMM_GLOBALCTRL1_AUTOCLKWAKEENA 0x00000001U - -/* Configuration registers initial value */ -#define PMM_LOGICPDPWRCTRL0_CONFIGVALUE ( (uint32)((uint32)0x5U << 24U) \ - | (uint32)((uint32)0x5U << 16U) \ - | (uint32)((uint32)0x5U << 8U) \ - | (uint32)((uint32)0x5U << 0U) ) -#define PMM_MEMPDPWRCTRL0_CONFIGVALUE ( (uint32)((uint32)0x5U << 24U) \ - | (uint32)((uint32)0x5U << 16U) \ - ) - -#define PMM_PDCLKDISREG_CONFIGVALUE ( (uint32)((uint32)(1U-1U) << 0U) \ - | (uint32)((uint32)(1U-1U) << 1U) \ - | (uint32)((uint32)(1U-1U) << 2U) \ - | (uint32)((uint32)(1U-1U) << 3U) ) - -#define PMM_GLOBALCTRL1_CONFIGVALUE ( (uint32)((uint32)0U << 8U) \ - | (uint32)((uint32)0U << 0U)) - - -/** @enum pmmLogicPDTag -* @brief PMM Logic Power Domain -* -* Used to define PMM Logic Power Domain -*/ -typedef enum pmmLogicPDTag -{ - PMM_LOGICPD1 = 4U, /*-- NOT USED*/ - PMM_LOGICPD2 = 0U, - PMM_LOGICPD3 = 1U, - PMM_LOGICPD4 = 2U, - PMM_LOGICPD5 = 3U -}pmm_LogicPD_t; - - -/** @enum pmmMemPDTag -* @brief PMM Memory-Only Power Domain -* -* Used to define PMM Memory-Only Power Domain -*/ -typedef enum pmmMemPDTag -{ - PMM_MEMPD1 = 0U, - PMM_MEMPD2 = 1U, - PMM_MEMPD3 = 2U -}pmm_MemPD_t; - - -/** @enum pmmModeTag -* @brief PSCON operating mode -* -* Used to define the operating mode of PSCON Compare Block -*/ -typedef enum pmmModeTag -{ - LockStep = 0x0U, - SelfTest = 0x6U, - ErrorForcing = 0x9U, - SelfTestErrorForcing = 0xFU -}pmm_Mode_t; - - -typedef struct pmm_config_reg -{ - uint32 CONFIG_LOGICPDPWRCTRL0; - uint32 CONFIG_MEMPDPWRCTRL0; - uint32 CONFIG_PDCLKDISREG; - uint32 CONFIG_GLOBALCTRL1; -}pmm_config_reg_t; - -/** - * @defgroup PMM PMM - * @brief Power Management Module - * - * The PMM provides memory-mapped registers that control the states of the supported power domains. - * The PMM includes interfaces to the Power Mode Controller (PMC) and the Power State Controller (PSCON). - * The PMC and PSCON control the power up/down sequence of each power domain. - * - * Related files: - * - reg_pmm.h - * - sys_pmm.h - * - sys_pmm.c - * - * @addtogroup PMM - * @{ - */ - -/* Pmm Interface Functions */ -void pmmInit(void); -void pmmTurnONLogicPowerDomain(pmm_LogicPD_t logicPD); -void pmmTurnONMemPowerDomain(pmm_MemPD_t memPD); -void pmmTurnOFFLogicPowerDomain(pmm_LogicPD_t logicPD); -void pmmTurnOFFMemPowerDomain(pmm_MemPD_t memPD); -boolean pmmIsLogicPowerDomainActive(pmm_LogicPD_t logicPD); -boolean pmmIsMemPowerDomainActive(pmm_MemPD_t memPD); -void pmmGetConfigValue(pmm_config_reg_t *config_reg, config_value_type_t type); -void pmmSetMode(pmm_Mode_t mode); -boolean pmmPerformSelfTest(void); - -/**@}*/ -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -#ifdef __cplusplus -} -#endif /*extern "C" */ - -#endif - +/** @file sys_pmm.h +* @brief PMM Driver Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __SYS_PMM_H__ +#define __SYS_PMM_H__ + +#include "reg_pmm.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Bit Masks */ +#define PMM_LOGICPDPWRCTRL0_LOGICPDON0 0x0F000000U /*PD2*/ +#define PMM_LOGICPDPWRCTRL0_LOGICPDON1 0x000F0000U /*PD3*/ +#define PMM_LOGICPDPWRCTRL0_LOGICPDON2 0x00000F00U /*PD4*/ +#define PMM_LOGICPDPWRCTRL0_LOGICPDON3 0x0000000FU /*PD5*/ + +#define PMM_MEMPDPWRCTRL0_MEMPDON0 0x0F000000U /*RAM_PD1*/ +#define PMM_MEMPDPWRCTRL0_MEMPDON1 0x000F0000U /*RAM_PD2*/ +#define PMM_MEMPDPWRCTRL0_MEMPDON2 0x00000F00U /*RAM_PD3*/ + +#define PMM_LOGICPDPWRSTAT_DOMAINON 0x00000100U +#define PMM_LOGICPDPWRSTAT_LOGICPDPWRSTAT 0x00000003U +#define PMM_MEMPDPWRSTAT_DOMAINON 0x00000100U +#define PMM_MEMPDPWRSTAT_MEMPDPWRSTAT 0x00000003U +#define PMM_GLOBALCTRL1_AUTOCLKWAKEENA 0x00000001U + +/* Configuration registers initial value */ +#define PMM_LOGICPDPWRCTRL0_CONFIGVALUE ( (uint32)((uint32)0x5U << 24U) \ + | (uint32)((uint32)0x5U << 16U) \ + | (uint32)((uint32)0x5U << 8U) \ + | (uint32)((uint32)0x5U << 0U) ) +#define PMM_MEMPDPWRCTRL0_CONFIGVALUE ( (uint32)((uint32)0x5U << 24U) \ + | (uint32)((uint32)0x5U << 16U) \ + ) + +#define PMM_PDCLKDISREG_CONFIGVALUE ( (uint32)((uint32)(1U-1U) << 0U) \ + | (uint32)((uint32)(1U-1U) << 1U) \ + | (uint32)((uint32)(1U-1U) << 2U) \ + | (uint32)((uint32)(1U-1U) << 3U) ) + +#define PMM_GLOBALCTRL1_CONFIGVALUE ( (uint32)((uint32)0U << 8U) \ + | (uint32)((uint32)0U << 0U)) + + +/** @enum pmmLogicPDTag +* @brief PMM Logic Power Domain +* +* Used to define PMM Logic Power Domain +*/ +typedef enum pmmLogicPDTag +{ + PMM_LOGICPD1 = 4U, /*-- NOT USED*/ + PMM_LOGICPD2 = 0U, + PMM_LOGICPD3 = 1U, + PMM_LOGICPD4 = 2U, + PMM_LOGICPD5 = 3U +}pmm_LogicPD_t; + + +/** @enum pmmMemPDTag +* @brief PMM Memory-Only Power Domain +* +* Used to define PMM Memory-Only Power Domain +*/ +typedef enum pmmMemPDTag +{ + PMM_MEMPD1 = 0U, + PMM_MEMPD2 = 1U, + PMM_MEMPD3 = 2U +}pmm_MemPD_t; + + +/** @enum pmmModeTag +* @brief PSCON operating mode +* +* Used to define the operating mode of PSCON Compare Block +*/ +typedef enum pmmModeTag +{ + LockStep = 0x0U, + SelfTest = 0x6U, + ErrorForcing = 0x9U, + SelfTestErrorForcing = 0xFU +}pmm_Mode_t; + + +typedef struct pmm_config_reg +{ + uint32 CONFIG_LOGICPDPWRCTRL0; + uint32 CONFIG_MEMPDPWRCTRL0; + uint32 CONFIG_PDCLKDISREG; + uint32 CONFIG_GLOBALCTRL1; +}pmm_config_reg_t; + +/** + * @defgroup PMM PMM + * @brief Power Management Module + * + * The PMM provides memory-mapped registers that control the states of the supported power domains. + * The PMM includes interfaces to the Power Mode Controller (PMC) and the Power State Controller (PSCON). + * The PMC and PSCON control the power up/down sequence of each power domain. + * + * Related files: + * - reg_pmm.h + * - sys_pmm.h + * - sys_pmm.c + * + * @addtogroup PMM + * @{ + */ + +/* Pmm Interface Functions */ +void pmmInit(void); +void pmmTurnONLogicPowerDomain(pmm_LogicPD_t logicPD); +void pmmTurnONMemPowerDomain(pmm_MemPD_t memPD); +void pmmTurnOFFLogicPowerDomain(pmm_LogicPD_t logicPD); +void pmmTurnOFFMemPowerDomain(pmm_MemPD_t memPD); +boolean pmmIsLogicPowerDomainActive(pmm_LogicPD_t logicPD); +boolean pmmIsMemPowerDomainActive(pmm_MemPD_t memPD); +void pmmGetConfigValue(pmm_config_reg_t *config_reg, config_value_type_t type); +void pmmSetMode(pmm_Mode_t mode); +boolean pmmPerformSelfTest(void); + +/**@}*/ +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +#ifdef __cplusplus +} +#endif /*extern "C" */ + +#endif + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pmu.h b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pmu.h index c2f4e5cd..cdf81f1a 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pmu.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_pmu.h @@ -1,241 +1,241 @@ -/** @file sys_pmu.h -* @brief System Pmu Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Pmu Interface Functions -* . -* which are relevant for the performance monitor unit driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __SYS_PMU_H__ -#define __SYS_PMU_H__ - -#include "sys_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/** @def pmuCOUNTER0 -* @brief pmu event counter 0 mask -* -* Alias for pmu event counter 0 mask -* -* @note: Use this macro as a parameter 'counters' in APIs _pmuStartCounters_ and _pmuStopCounters_ -*/ -#define pmuCOUNTER0 0x00000001U - -/** @def pmuCOUNTER1 -* @brief pmu event counter 1 mask -* -* Alias for pmu event counter 1 mask -* -* @note: Use this macro as a parameter 'counters' in APIs _pmuStartCounters_ and _pmuStopCounters_ -*/ -#define pmuCOUNTER1 0x00000002U - -/** @def pmuCOUNTER2 -* @brief pmu event counter 2 mask -* -* Alias for pmu event counter 2 mask -* -* @note: Use this macro as a parameter 'counters' in APIs _pmuStartCounters_ and _pmuStopCounters_ -*/ -#define pmuCOUNTER2 0x00000004U - -/** @def pmuCYCLE_COUNTER -* @brief pmu cycle counter mask -* -* Alias for pmu event counter mask -* -* @note: Use this macro as a parameter 'counters' in APIs _pmuStartCounters_ and _pmuStopCounters_ -*/ -#define pmuCYCLE_COUNTER 0x80000000U - -/** @enum pmuEvent -* @brief pmu event -* -* Alias for pmu event counter increment source -*/ -enum pmuEvent -{ - PMU_INST_CACHE_MISS = 0x01U, - PMU_DATA_CACHE_MISS = 0x03U, - PMU_DATA_CACHE_ACCESS = 0x04U, - PMU_DATA_READ_ARCH_EXECUTED = 0x06U, - PMU_DATA_WRITE_ARCH_EXECUTED = 0x07U, - PMU_INST_ARCH_EXECUTED = 0x08U, - PMU_EXCEPTION_TAKEN = 0x09U, - PMU_EXCEPTION_RETURN_ARCH_EXECUTED = 0x0AU, - PMU_CHANGE_TO_CONTEXT_ID_EXECUTED = 0x0BU, - PMU_SW_CHANGE_OF_PC_ARCH_EXECUTED = 0x0CU, - PMU_BRANCH_IMM_INST_ARCH_EXECUTED = 0x0DU, - PMU_PROC_RETURN_ARCH_EXECUTED = 0x0EU, - PMU_UNALIGNED_ACCESS_ARCH_EXECUTED = 0x0FU, - PMU_BRANCH_MISSPREDICTED = 0x10U, - PMU_CYCLE_COUNT = 0x11U, - PMU_PREDICTABLE_BRANCHES = 0x12U, - PMU_INST_BUFFER_STALL = 0x40U, - PMU_DATA_DEPENDENCY_INST_STALL = 0x41U, - PMU_DATA_CACHE_WRITE_BACK = 0x42U, - PMU_EXT_MEMORY_REQUEST = 0x43U, - PMU_LSU_BUSY_STALL = 0x44U, - PMU_FORCED_DRAIN_OFSTORE_BUFFER = 0x45U, - PMU_FIQ_DISABLED_CYCLE_COUNT = 0x46U, - PMU_IRQ_DISABLED_CYCLE_COUNT = 0x47U, - PMU_ETMEXTOUT_0 = 0x48U, - PMU_ETMEXTOUT_1 = 0x49U, - PMU_INST_CACHE_TAG_ECC_ERROR = 0x4AU, - PMU_INST_CACHE_DATA_ECC_ERROR = 0x4BU, - PMU_DATA_CACHE_TAG_ECC_ERROR = 0x4CU, - PMU_DATA_CACHE_DATA_ECC_ERROR = 0x4DU, - PMU_TCM_FATAL_ECC_ERROR_PREFETCH = 0x4EU, - PMU_TCM_FATAL_ECC_ERROR_LOAD_STORE = 0x4FU, - PMU_STORE_BUFFER_MERGE = 0x50U, - PMU_LSU_STALL_STORE_BUFFER_FULL = 0x51U, - PMU_LSU_STALL_STORE_QUEUE_FULL = 0x52U, - PMU_INTEGER_DIV_EXECUTED = 0x53U, - PMU_STALL_INTEGER_DIV = 0x54U, - PMU_PLD_INST_LINE_FILL = 0x55U, - PMU_PLD_INST_NO_LINE_FILL = 0x56U, - PMU_NON_CACHEABLE_ACCESS_AXI_MASTER = 0x57U, - PMU_INST_CACHE_ACCESS = 0x58U, - PMU_DOUBLE_DATA_CACHE_ISSUE = 0x59U, - PMU_DUAL_ISSUE_CASE_A = 0x5AU, - PMU_DUAL_ISSUE_CASE_B1_B2_F2_F2D = 0x5BU, - PMU_DUAL_ISSUE_OTHER = 0x5CU, - PMU_DP_FLOAT_INST_EXCECUTED = 0x5DU, - PMU_DUAL_ISSUED_PAIR_INST_ARCH_EXECUTED = 0x5EU, - PMU_DATA_CACHE_DATA_FATAL_ECC_ERROR = 0x60U, - PMU_DATA_CACHE_TAG_FATAL_ECC_ERROR = 0x61U, - PMU_PROCESSOR_LIVE_LOCK = 0x62U, - PMU_ATCM_MULTI_BIT_ECC_ERROR = 0x64U, - PMU_B0TCM_MULTI_BIT_ECC_ERROR = 0x65U, - PMU_B1TCM_MULTI_BIT_ECC_ERROR = 0x66U, - PMU_ATCM_SINGLE_BIT_ECC_ERROR = 0x67U, - PMU_B0TCM_SINGLE_BIT_ECC_ERROR = 0x68U, - PMU_B1TCM_SINGLE_BIT_ECC_ERROR = 0x69U, - PMU_TCM_COR_ECC_ERROR_LOAD_STORE = 0x6AU, - PMU_TCM_COR_ECC_ERROR_PREFETCH = 0x6BU, - PMU_TCM_FATAL_ECC_ERROR_AXI_SLAVE = 0x6CU, - PMU_TCM_COR_ECC_ERROR_AXI_SLAVE = 0x6DU -}; - -/** @fn void _pmuInit_(void) -* @brief Initialize Performance Monitor Unit -*/ -void _pmuInit_(void); - -/** @fn void _pmuEnableCountersGlobal_(void) -* @brief Enable and reset cycle counter and all 3 event counters -*/ -void _pmuEnableCountersGlobal_(void); - -/** @fn void _pmuDisableCountersGlobal_(void) -* @brief Disable cycle counter and all 3 event counters -*/ -void _pmuDisableCountersGlobal_(void); - -/** @fn void _pmuResetCycleCounter_(void) -* @brief Reset cycle counter -*/ -void _pmuResetCycleCounter_(void); - -/** @fn void _pmuResetEventCounters_(void) -* @brief Reset event counters 0-2 -*/ -void _pmuResetEventCounters_(void); - -/** @fn void _pmuResetCounters_(void) -* @brief Reset cycle counter and event counters 0-2 -*/ -void _pmuResetCounters_(void); - -/** @fn void _pmuStartCounters_(uint32 counters) -* @brief Starts selected counters -* @param[in] counters - Counter mask -*/ -void _pmuStartCounters_(uint32 counters); - -/** @fn void _pmuStopCounters_(uint32 counters) -* @brief Stops selected counters -* @param[in] counters - Counter mask -*/ -void _pmuStopCounters_(uint32 counters); - -/** @fn void _pmuSetCountEvent_(uint32 counter, uint32 event) -* @brief Set event counter count event -* @param[in] counter - Counter select 0..2 -* @param[in] event - Count event -*/ -void _pmuSetCountEvent_(uint32 counter, uint32 event); - -/** @fn uint32 _pmuGetCycleCount_(void) -* @brief Returns current cycle counter value -* -* @return cycle count. -*/ -uint32 _pmuGetCycleCount_(void); - -/** @fn uint32 _pmuGetEventCount_(uint32 counter) -* @brief Returns current event counter value -* @param[in] counter - Counter select 0..2 -* -* @return event counter count. -*/ -uint32 _pmuGetEventCount_(uint32 counter); - -/** @fn uint32 _pmuGetOverflow_(void) -* @brief Returns current overflow register and clear flags -* -* @return overflow flags. -*/ -uint32 _pmuGetOverflow_(void); - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -#ifdef __cplusplus -} -#endif /*extern "C" */ -#endif +/** @file sys_pmu.h +* @brief System Pmu Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Pmu Interface Functions +* . +* which are relevant for the performance monitor unit driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __SYS_PMU_H__ +#define __SYS_PMU_H__ + +#include "sys_common.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/** @def pmuCOUNTER0 +* @brief pmu event counter 0 mask +* +* Alias for pmu event counter 0 mask +* +* @note: Use this macro as a parameter 'counters' in APIs _pmuStartCounters_ and _pmuStopCounters_ +*/ +#define pmuCOUNTER0 0x00000001U + +/** @def pmuCOUNTER1 +* @brief pmu event counter 1 mask +* +* Alias for pmu event counter 1 mask +* +* @note: Use this macro as a parameter 'counters' in APIs _pmuStartCounters_ and _pmuStopCounters_ +*/ +#define pmuCOUNTER1 0x00000002U + +/** @def pmuCOUNTER2 +* @brief pmu event counter 2 mask +* +* Alias for pmu event counter 2 mask +* +* @note: Use this macro as a parameter 'counters' in APIs _pmuStartCounters_ and _pmuStopCounters_ +*/ +#define pmuCOUNTER2 0x00000004U + +/** @def pmuCYCLE_COUNTER +* @brief pmu cycle counter mask +* +* Alias for pmu event counter mask +* +* @note: Use this macro as a parameter 'counters' in APIs _pmuStartCounters_ and _pmuStopCounters_ +*/ +#define pmuCYCLE_COUNTER 0x80000000U + +/** @enum pmuEvent +* @brief pmu event +* +* Alias for pmu event counter increment source +*/ +enum pmuEvent +{ + PMU_INST_CACHE_MISS = 0x01U, + PMU_DATA_CACHE_MISS = 0x03U, + PMU_DATA_CACHE_ACCESS = 0x04U, + PMU_DATA_READ_ARCH_EXECUTED = 0x06U, + PMU_DATA_WRITE_ARCH_EXECUTED = 0x07U, + PMU_INST_ARCH_EXECUTED = 0x08U, + PMU_EXCEPTION_TAKEN = 0x09U, + PMU_EXCEPTION_RETURN_ARCH_EXECUTED = 0x0AU, + PMU_CHANGE_TO_CONTEXT_ID_EXECUTED = 0x0BU, + PMU_SW_CHANGE_OF_PC_ARCH_EXECUTED = 0x0CU, + PMU_BRANCH_IMM_INST_ARCH_EXECUTED = 0x0DU, + PMU_PROC_RETURN_ARCH_EXECUTED = 0x0EU, + PMU_UNALIGNED_ACCESS_ARCH_EXECUTED = 0x0FU, + PMU_BRANCH_MISSPREDICTED = 0x10U, + PMU_CYCLE_COUNT = 0x11U, + PMU_PREDICTABLE_BRANCHES = 0x12U, + PMU_INST_BUFFER_STALL = 0x40U, + PMU_DATA_DEPENDENCY_INST_STALL = 0x41U, + PMU_DATA_CACHE_WRITE_BACK = 0x42U, + PMU_EXT_MEMORY_REQUEST = 0x43U, + PMU_LSU_BUSY_STALL = 0x44U, + PMU_FORCED_DRAIN_OFSTORE_BUFFER = 0x45U, + PMU_FIQ_DISABLED_CYCLE_COUNT = 0x46U, + PMU_IRQ_DISABLED_CYCLE_COUNT = 0x47U, + PMU_ETMEXTOUT_0 = 0x48U, + PMU_ETMEXTOUT_1 = 0x49U, + PMU_INST_CACHE_TAG_ECC_ERROR = 0x4AU, + PMU_INST_CACHE_DATA_ECC_ERROR = 0x4BU, + PMU_DATA_CACHE_TAG_ECC_ERROR = 0x4CU, + PMU_DATA_CACHE_DATA_ECC_ERROR = 0x4DU, + PMU_TCM_FATAL_ECC_ERROR_PREFETCH = 0x4EU, + PMU_TCM_FATAL_ECC_ERROR_LOAD_STORE = 0x4FU, + PMU_STORE_BUFFER_MERGE = 0x50U, + PMU_LSU_STALL_STORE_BUFFER_FULL = 0x51U, + PMU_LSU_STALL_STORE_QUEUE_FULL = 0x52U, + PMU_INTEGER_DIV_EXECUTED = 0x53U, + PMU_STALL_INTEGER_DIV = 0x54U, + PMU_PLD_INST_LINE_FILL = 0x55U, + PMU_PLD_INST_NO_LINE_FILL = 0x56U, + PMU_NON_CACHEABLE_ACCESS_AXI_MASTER = 0x57U, + PMU_INST_CACHE_ACCESS = 0x58U, + PMU_DOUBLE_DATA_CACHE_ISSUE = 0x59U, + PMU_DUAL_ISSUE_CASE_A = 0x5AU, + PMU_DUAL_ISSUE_CASE_B1_B2_F2_F2D = 0x5BU, + PMU_DUAL_ISSUE_OTHER = 0x5CU, + PMU_DP_FLOAT_INST_EXCECUTED = 0x5DU, + PMU_DUAL_ISSUED_PAIR_INST_ARCH_EXECUTED = 0x5EU, + PMU_DATA_CACHE_DATA_FATAL_ECC_ERROR = 0x60U, + PMU_DATA_CACHE_TAG_FATAL_ECC_ERROR = 0x61U, + PMU_PROCESSOR_LIVE_LOCK = 0x62U, + PMU_ATCM_MULTI_BIT_ECC_ERROR = 0x64U, + PMU_B0TCM_MULTI_BIT_ECC_ERROR = 0x65U, + PMU_B1TCM_MULTI_BIT_ECC_ERROR = 0x66U, + PMU_ATCM_SINGLE_BIT_ECC_ERROR = 0x67U, + PMU_B0TCM_SINGLE_BIT_ECC_ERROR = 0x68U, + PMU_B1TCM_SINGLE_BIT_ECC_ERROR = 0x69U, + PMU_TCM_COR_ECC_ERROR_LOAD_STORE = 0x6AU, + PMU_TCM_COR_ECC_ERROR_PREFETCH = 0x6BU, + PMU_TCM_FATAL_ECC_ERROR_AXI_SLAVE = 0x6CU, + PMU_TCM_COR_ECC_ERROR_AXI_SLAVE = 0x6DU +}; + +/** @fn void _pmuInit_(void) +* @brief Initialize Performance Monitor Unit +*/ +void _pmuInit_(void); + +/** @fn void _pmuEnableCountersGlobal_(void) +* @brief Enable and reset cycle counter and all 3 event counters +*/ +void _pmuEnableCountersGlobal_(void); + +/** @fn void _pmuDisableCountersGlobal_(void) +* @brief Disable cycle counter and all 3 event counters +*/ +void _pmuDisableCountersGlobal_(void); + +/** @fn void _pmuResetCycleCounter_(void) +* @brief Reset cycle counter +*/ +void _pmuResetCycleCounter_(void); + +/** @fn void _pmuResetEventCounters_(void) +* @brief Reset event counters 0-2 +*/ +void _pmuResetEventCounters_(void); + +/** @fn void _pmuResetCounters_(void) +* @brief Reset cycle counter and event counters 0-2 +*/ +void _pmuResetCounters_(void); + +/** @fn void _pmuStartCounters_(uint32 counters) +* @brief Starts selected counters +* @param[in] counters - Counter mask +*/ +void _pmuStartCounters_(uint32 counters); + +/** @fn void _pmuStopCounters_(uint32 counters) +* @brief Stops selected counters +* @param[in] counters - Counter mask +*/ +void _pmuStopCounters_(uint32 counters); + +/** @fn void _pmuSetCountEvent_(uint32 counter, uint32 event) +* @brief Set event counter count event +* @param[in] counter - Counter select 0..2 +* @param[in] event - Count event +*/ +void _pmuSetCountEvent_(uint32 counter, uint32 event); + +/** @fn uint32 _pmuGetCycleCount_(void) +* @brief Returns current cycle counter value +* +* @return cycle count. +*/ +uint32 _pmuGetCycleCount_(void); + +/** @fn uint32 _pmuGetEventCount_(uint32 counter) +* @brief Returns current event counter value +* @param[in] counter - Counter select 0..2 +* +* @return event counter count. +*/ +uint32 _pmuGetEventCount_(uint32 counter); + +/** @fn uint32 _pmuGetOverflow_(void) +* @brief Returns current overflow register and clear flags +* +* @return overflow flags. +*/ +uint32 _pmuGetOverflow_(void); + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +#ifdef __cplusplus +} +#endif /*extern "C" */ +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_selftest.h b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_selftest.h index fcdcfac2..cee6b25f 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/sys_selftest.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/sys_selftest.h @@ -1,471 +1,471 @@ -/** @file sys_selftest.h -* @brief System Memory Header File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Efuse Self Test Functions -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#ifndef __sys_selftest_H__ -#define __sys_selftest_H__ - -#include "reg_pbist.h" -#include "reg_stc.h" -#include "reg_efc.h" -#include "sys_core.h" -#include "system.h" -#include "sys_vim.h" -#include "adc.h" -#include "can.h" -#include "mibspi.h" -#include "het.h" -#include "htu.h" -#include "esm.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#define flash1bitError (*(volatile uint32 *)(0xF00803F0U)) -#define flash2bitError (*(volatile uint32 *)(0xF00803F8U)) - -#define tcramA1bitError (*(volatile uint32 *)(0x08400000U)) -#define tcramA2bitError (*(volatile uint32 *)(0x08400010U)) - -#define tcramB1bitError (*(volatile uint32 *)(0x08400008U)) -#define tcramB2bitError (*(volatile uint32 *)(0x08400018U)) - -#define tcramA1bit (*(volatile uint64 *)(0x08000000U)) -#define tcramA2bit (*(volatile uint64 *)(0x08000010U)) - -#define tcramB1bit (*(volatile uint64 *)(0x08000008U)) -#define tcramB2bit (*(volatile uint64 *)(0x08000018U)) - -#define flashBadECC1 (*(volatile uint32 *)(0x20000000U)) -#define flashBadECC2 (*(volatile uint32 *)(0x20000010U)) - -#define CCMSR (*(volatile uint32 *)(0xFFFFF600U)) -#define CCMKEYR (*(volatile uint32 *)(0xFFFFF604U)) - -#define DMA_PARCR (*(volatile uint32 *)(0xFFFFF1A8U)) -#define DMA_PARADDR (*(volatile uint32 *)(0xFFFFF1ACU)) -#define DMARAMLOC (*(volatile uint32 *)(0xFFF80000U)) -#define DMARAMPARLOC (*(volatile uint32 *)(0xFFF80A00U)) - -#define MIBSPI1RAMLOC (*(volatile uint32 *)(0xFF0E0000U)) -#define MIBSPI3RAMLOC (*(volatile uint32 *)(0xFF0C0000U)) -#define MIBSPI5RAMLOC (*(volatile uint32 *)(0xFF0A0000U)) - - -#ifndef __PBIST_H__ -#define __PBIST_H__ - -/** @enum pbistPort -* @brief Alias names for pbist Port number -* -* This enumeration is used to provide alias names for the pbist Port number -* - PBIST_PORT0 -* - PBIST_PORT1 -* -* @note Check the datasheet for the port avaiability -*/ -enum pbistPort -{ - PBIST_PORT0 = 0U, /**< Alias for PBIST Port 0 */ - PBIST_PORT1 = 1U /**< Alias for PBIST Port 1 < Check datasheet for Port 1 availability > */ -}; -/** @enum pbistAlgo -* @brief Alias names for pbist Algorithm -* -* This enumeration is used to provide alias names for the pbist Algorithm -*/ -enum pbistAlgo -{ - PBIST_TripleReadSlow = 0x00000001U, /** */ +}; +/** @enum pbistAlgo +* @brief Alias names for pbist Algorithm +* +* This enumeration is used to provide alias names for the pbist Algorithm +*/ +enum pbistAlgo +{ + PBIST_TripleReadSlow = 0x00000001U, /**>16U) -#define SYS_EXCEPTION (*(volatile uint32 *)0xFFFFFFE4U) - -#define POWERON_RESET 0x8000U -#define OSC_FAILURE_RESET 0x4000U -#define WATCHDOG_RESET 0x2000U -#define ICEPICK_RESET 0x2000U -#define CPU_RESET 0x0020U -#define SW_RESET 0x0010U - -#define WATCHDOG_STATUS (*(volatile uint32 *)0xFFFFFC98U) -#define DEVICE_ID_REV (*(volatile uint32 *)0xFFFFFFF0U) - -/** @def OSC_FREQ -* @brief Oscillator clock source exported from HALCoGen GUI -* -* Oscillator clock source exported from HALCoGen GUI -*/ -#define OSC_FREQ 16.0F - -/** @def PLL1_FREQ -* @brief PLL 1 clock source exported from HALCoGen GUI -* -* PLL 1 clock source exported from HALCoGen GUI -*/ -#define PLL1_FREQ 160.00F - -/** @def LPO_LF_FREQ -* @brief LPO Low Freq Oscillator source exported from HALCoGen GUI -* -* LPO Low Freq Oscillator source exported from HALCoGen GUI -*/ -#define LPO_LF_FREQ 0.080F - -/** @def LPO_HF_FREQ -* @brief LPO High Freq Oscillator source exported from HALCoGen GUI -* -* LPO High Freq Oscillator source exported from HALCoGen GUI -*/ -#define LPO_HF_FREQ 10.000F - -/** @def PLL1_FREQ -* @brief PLL 2 clock source exported from HALCoGen GUI -* -* PLL 2 clock source exported from HALCoGen GUI -*/ -#define PLL2_FREQ 160.00F - -/** @def GCLK_FREQ -* @brief GCLK domain frequency exported from HALCoGen GUI -* -* GCLK domain frequency exported from HALCoGen GUI -*/ -#define GCLK_FREQ 160.000F - -/** @def HCLK_FREQ -* @brief HCLK domain frequency exported from HALCoGen GUI -* -* HCLK domain frequency exported from HALCoGen GUI -*/ -#define HCLK_FREQ 160.000F - -/** @def RTI_FREQ -* @brief RTI Clock frequency exported from HALCoGen GUI -* -* RTI Clock frequency exported from HALCoGen GUI -*/ -#define RTI_FREQ 80.000F - -/** @def AVCLK1_FREQ -* @brief AVCLK1 Domain frequency exported from HALCoGen GUI -* -* AVCLK Domain frequency exported from HALCoGen GUI -*/ -#define AVCLK1_FREQ 80.000F - -/** @def AVCLK2_FREQ -* @brief AVCLK2 Domain frequency exported from HALCoGen GUI -* -* AVCLK2 Domain frequency exported from HALCoGen GUI -*/ -#define AVCLK2_FREQ 80.000F - -/** @def AVCLK3_FREQ -* @brief AVCLK3 Domain frequency exported from HALCoGen GUI -* -* AVCLK3 Domain frequency exported from HALCoGen GUI -*/ -#define AVCLK3_FREQ 0.000F - -/** @def AVCLK4_FREQ -* @brief AVCLK4 Domain frequency exported from HALCoGen GUI -* -* AVCLK4 Domain frequency exported from HALCoGen GUI -*/ -#define AVCLK4_FREQ 80.000F - -/** @def VCLK1_FREQ -* @brief VCLK1 Domain frequency exported from HALCoGen GUI -* -* VCLK1 Domain frequency exported from HALCoGen GUI -*/ -#define VCLK1_FREQ 80.000F - -/** @def VCLK2_FREQ -* @brief VCLK2 Domain frequency exported from HALCoGen GUI -* -* VCLK2 Domain frequency exported from HALCoGen GUI -*/ -#define VCLK2_FREQ 80.000F - -/** @def VCLK3_FREQ -* @brief VCLK3 Domain frequency exported from HALCoGen GUI -* -* VCLK3 Domain frequency exported from HALCoGen GUI -*/ -#define VCLK3_FREQ 80.000F - -/** @def VCLK4_FREQ -* @brief VCLK4 Domain frequency exported from HALCoGen GUI -* -* VCLK4 Domain frequency exported from HALCoGen GUI -*/ -#define VCLK4_FREQ 80.000F - - -/** @def SYS_PRE1 -* @brief Alias name for RTI1CLK PRE clock source -* -* This is an alias name for the RTI1CLK pre clock source. -* This can be either: -* - Oscillator -* - Pll -* - 32 kHz Oscillator -* - External -* - Low Power Oscillator Low -* - Low Power Oscillator High -* - Flexray Pll -*/ -/*SAFETYMCUSW 79 S MR:19.4 " Value comes from GUI drop down option " */ -#define SYS_PRE1 (SYS_PLL1) - -/** @def SYS_PRE2 -* @brief Alias name for RTI2CLK pre clock source -* -* This is an alias name for the RTI2CLK pre clock source. -* This can be either: -* - Oscillator -* - Pll -* - 32 kHz Oscillator -* - External -* - Low Power Oscillator Low -* - Low Power Oscillator High -* - Flexray Pll -*/ -/*SAFETYMCUSW 79 S MR:19.4 " Value comes from GUI drop down option " */ -#define SYS_PRE2 (SYS_PLL1) - -/* Configuration registers */ -typedef struct system_config_reg -{ - uint32 CONFIG_SYSPC1; - uint32 CONFIG_SYSPC2; - uint32 CONFIG_SYSPC7; - uint32 CONFIG_SYSPC8; - uint32 CONFIG_SYSPC9; - uint32 CONFIG_CSDIS; - uint32 CONFIG_CDDIS; - uint32 CONFIG_GHVSRC; - uint32 CONFIG_VCLKASRC; - uint32 CONFIG_RCLKSRC; - uint32 CONFIG_MSTGCR; - uint32 CONFIG_MINITGCR; - uint32 CONFIG_MSINENA; - uint32 CONFIG_PLLCTL1; - uint32 CONFIG_PLLCTL2; - uint32 CONFIG_UERFLAG; - uint32 CONFIG_LPOMONCTL; - uint32 CONFIG_CLKTEST; - uint32 CONFIG_DFTCTRLREG1; - uint32 CONFIG_DFTCTRLREG2; - uint32 CONFIG_GPREG1; - uint32 CONFIG_RAMGCR; - uint32 CONFIG_BMMCR1; - uint32 CONFIG_MMUGCR; - uint32 CONFIG_CLKCNTL; - uint32 CONFIG_ECPCNTL; - uint32 CONFIG_DEVCR1; - uint32 CONFIG_SYSECR; - uint32 CONFIG_PLLCTL3; - uint32 CONFIG_STCCLKDIV; - uint32 CONFIG_CLK2CNTL; - uint32 CONFIG_VCLKACON1; - uint32 CONFIG_CLKSLIP; - uint32 CONFIG_EFC_CTLEN; -} system_config_reg_t; - -/* Configuration registers initial value */ -#define SYS_SYSPC1_CONFIGVALUE 0U - -#define SYS_SYSPC2_CONFIGVALUE 1U - -#define SYS_SYSPC7_CONFIGVALUE 0U - -#define SYS_SYSPC8_CONFIGVALUE 0U - -#define SYS_SYSPC9_CONFIGVALUE 1U - -#define SYS_CSDIS_CONFIGVALUE ( 0x00000000U\ - | 0x00000000U \ - | 0x00000008U \ - | 0x00000080U \ - | 0x00000000U \ - | 0x00000000U \ - | 0x00000000U\ - | 0x4U ) - -#define SYS_CDDIS_CONFIGVALUE ( (uint32)((uint32)0U << 4U )\ - | (uint32)((uint32)0U << 5U )\ - | (uint32)((uint32)0U << 8U )\ - | (uint32)((uint32)0U << 9U )\ - | (uint32)((uint32)1U << 10U)\ - | (uint32)((uint32)0U << 11U) ) - -#define SYS_GHVSRC_CONFIGVALUE ( (uint32)((uint32)SYS_OSC << 24U) \ - | (uint32)((uint32)SYS_OSC << 16U) \ - | (uint32)((uint32)SYS_PLL1 << 0U) ) - -#define SYS_VCLKASRC_CONFIGVALUE ( (uint32)((uint32)SYS_VCLK << 8U)\ - | (uint32)((uint32)SYS_VCLK << 0U) ) - -#define SYS_RCLKSRC_CONFIGVALUE ( (uint32)((uint32)1U << 24U)\ - | (uint32)((uint32)SYS_VCLK << 16U)\ - | (uint32)((uint32)1U << 8U)\ - | (uint32)((uint32)SYS_VCLK << 0U) ) - -#define SYS_MSTGCR_CONFIGVALUE 0x00000105U - -#define SYS_MINITGCR_CONFIGVALUE 0x5U - -#define SYS_MSINENA_CONFIGVALUE 0U - -#define SYS_PLLCTL1_CONFIGVALUE_1 ( (uint32)0x00000000U \ - | (uint32)0x20000000U \ - | (uint32)((uint32)0x1FU << 24U) \ - | (uint32)0x00000000U \ - | (uint32)((uint32)(6U - 1U)<< 16U)\ - | (uint32)(0x7700U)) - -#define SYS_PLLCTL1_CONFIGVALUE_2 (((SYS_PLLCTL1_CONFIGVALUE_1) & 0xE0FFFFFFU) | (uint32)((uint32)(1U - 1U) << 24U)) - -#define SYS_PLLCTL2_CONFIGVALUE ( (uint32)0x00000000U\ - | (uint32)((uint32)255U << 22U)\ - | (uint32)((uint32)7U << 12U)\ - | (uint32)((uint32)(2U - 1U)<< 9U)\ - | (uint32)61U) - -#define SYS_UERFLAG_CONFIGVALUE 0U - -#define SYS_LPOMONCTL_CONFIGVALUE_1 ((uint32)((uint32)1U << 24U) | LPO_TRIM_VALUE) -#define SYS_LPOMONCTL_CONFIGVALUE_2 ((uint32)((uint32)1U << 24U) | (uint32)((uint32)16U << 8U) | 16U) - -#define SYS_CLKTEST_CONFIGVALUE 0x000A0000U - -#define SYS_DFTCTRLREG1_CONFIGVALUE 0x00002205U - -#define SYS_DFTCTRLREG2_CONFIGVALUE 0x5U - -#define SYS_GPREG1_CONFIGVALUE 0x0005FFFFU - -#define SYS_RAMGCR_CONFIGVALUE 0x00050000U - -#define SYS_BMMCR1_CONFIGVALUE 0xAU - -#define SYS_MMUGCR_CONFIGVALUE 0U - -#define SYS_CLKCNTL_CONFIGVALUE ( 0x00000100U \ - | (uint32)((uint32)1U << 16U) \ - | (uint32)((uint32)1U << 24U) ) - -#define SYS_ECPCNTL_CONFIGVALUE ( (uint32)((uint32)0U << 24U)\ - | (uint32)((uint32)0U << 23U)\ - | (uint32)((uint32)(8U - 1U) & 0xFFFFU) ) - -#define SYS_DEVCR1_CONFIGVALUE 0xAU - -#define SYS_SYSECR_CONFIGVALUE 0x00004000U -#define SYS2_PLLCTL3_CONFIGVALUE_1 ( (uint32)((uint32)(2U - 1U) << 29U)\ - | (uint32)((uint32)0x1FU << 24U) \ - | (uint32)((uint32)(6U - 1U)<< 16U) \ - | (uint32)(0x7700U)) - -#define SYS2_PLLCTL3_CONFIGVALUE_2 (((SYS2_PLLCTL3_CONFIGVALUE_1) & 0xE0FFFFFFU) | (uint32)((uint32)(1U - 1U) << 24U)) -#define SYS2_STCCLKDIV_CONFIGVALUE 0U -#define SYS2_CLK2CNTL_CONFIGVALUE (1U | 0x00000100U) -#define SYS2_VCLKACON1_CONFIGVALUE ( (uint32)((uint32)1U << 24U) \ - | (uint32)((uint32)1U << 20U) \ - | (uint32)((uint32)SYS_VCLK << 16U)\ - | (uint32)((uint32)1U << 8U)\ - | (uint32)((uint32)1U << 4U) \ - | (uint32)((uint32)SYS_VCLK << 0U) ) -#define SYS2_CLKSLIP_CONFIGVALUE 0x5U -#define SYS2_EFC_CTLEN_CONFIGVALUE 0x5U - -void systemGetConfigValue(system_config_reg_t *config_reg, config_value_type_t type); - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/* FlashW General Definitions */ - - -/** @enum flashWPowerModes -* @brief Alias names for flash bank power modes -* -* This enumeration is used to provide alias names for the flash bank power modes: -* - sleep -* - standby -* - active -*/ -enum flashWPowerModes -{ - SYS_SLEEP = 0U, /**< Alias for flash bank power mode sleep */ - SYS_STANDBY = 1U, /**< Alias for flash bank power mode standby */ - SYS_ACTIVE = 3U /**< Alias for flash bank power mode active */ -}; - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - - -#define FSM_WR_ENA_HL (*(volatile uint32 *)0xFFF87288U) -#define EEPROM_CONFIG_HL (*(volatile uint32 *)0xFFF872B8U) - -/* Configuration registers */ -typedef struct tcmflash_config_reg -{ - uint32 CONFIG_FRDCNTL; - uint32 CONFIG_FEDACCTRL1; - uint32 CONFIG_FEDACCTRL2; - uint32 CONFIG_FEDACSDIS; - uint32 CONFIG_FBPROT; - uint32 CONFIG_FBSE; - uint32 CONFIG_FBAC; - uint32 CONFIG_FBFALLBACK; - uint32 CONFIG_FPAC1; - uint32 CONFIG_FPAC2; - uint32 CONFIG_FMAC; - uint32 CONFIG_FLOCK; - uint32 CONFIG_FDIAGCTRL; - uint32 CONFIG_FEDACSDIS2; -} tcmflash_config_reg_t; - -/* Configuration registers initial value */ -#define TCMFLASH_FRDCNTL_CONFIGVALUE (0x00000000U | (uint32)((uint32)3U << 8U) | (uint32)((uint32)1U << 4U) | 1U) -#define TCMFLASH_FEDACCTRL1_CONFIGVALUE 0x000A0005U -#define TCMFLASH_FEDACCTRL2_CONFIGVALUE 0U -#define TCMFLASH_FEDACSDIS_CONFIGVALUE 0U -#define TCMFLASH_FBPROT_CONFIGVALUE 0U -#define TCMFLASH_FBSE_CONFIGVALUE 0U -#define TCMFLASH_FBAC_CONFIGVALUE 0xFU -#define TCMFLASH_FBFALLBACK_CONFIGVALUE ( (uint32)((uint32)SYS_ACTIVE << 14U) \ - | (uint32)((uint32)3U << 12U) \ - | (uint32)((uint32)3U << 10U) \ - | (uint32)((uint32)3U << 8U) \ - | (uint32)((uint32)3U << 6U) \ - | (uint32)((uint32)3U << 4U) \ - | (uint32)((uint32)SYS_ACTIVE << 2U) \ - | (uint32)((uint32)SYS_ACTIVE << 0U) ) - -#define TCMFLASH_FPAC1_CONFIGVALUE 0x00C80001U -#define TCMFLASH_FPAC2_CONFIGVALUE 0U -#define TCMFLASH_FMAC_CONFIGVALUE 0U -#define TCMFLASH_FLOCK_CONFIGVALUE 0x55AAU -#define TCMFLASH_FDIAGCTRL_CONFIGVALUE 0x000A0000U -#define TCMFLASH_FEDACSDIS2_CONFIGVALUE 0U - -void tcmflashGetConfigValue(tcmflash_config_reg_t *config_reg, config_value_type_t type); - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - - -/* System Interface Functions */ -void setupPLL(void); -void trimLPO(void); -void customTrimLPO(void); -void setupFlash(void); -void periphInit(void); -void mapClocks(void); -void systemInit(void); -void systemPowerDown(uint32 mode); - -/*Configuration registers -* index 0: Even RAM -* index 1: Odd RAM -*/ -typedef struct sram_config_reg -{ - uint32 CONFIG_RAMCTRL[2U]; - uint32 CONFIG_RAMTHRESHOLD[2U]; - uint32 CONFIG_RAMINTCTRL[2U]; - uint32 CONFIG_RAMTEST[2U]; - uint32 CONFIG_RAMADDRDECVECT[2U]; -} sram_config_reg_t; - -/* Configuration registers initial value */ -#define SRAM_RAMCTRL_CONFIGVALUE 0x0005000AU -#define SRAM_RAMTHRESHOLD_CONFIGVALUE 1U -#define SRAM_RAMINTCTRL_CONFIGVALUE 1U -#define SRAM_RAMTEST_CONFIGVALUE 0x5U -#define SRAM_RAMADDRDECVECT_CONFIGVALUE 0U - -void sramGetConfigValue(sram_config_reg_t *config_reg, config_value_type_t type); -#ifdef __cplusplus -} -#endif /*extern "C" */ -#endif +/** @file system.h +* @brief System Driver Header File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Definitions +* - Types +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef __SYS_SYSTEM_H__ +#define __SYS_SYSTEM_H__ + +#include "reg_system.h" +#include "reg_flash.h" +#include "reg_tcram.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + + +/* System General Definitions */ + +/** @enum systemClockSource +* @brief Alias names for clock sources +* +* This enumeration is used to provide alias names for the clock sources: +* - Oscillator +* - Pll1 +* - External1 +* - Low Power Oscillator Low +* - Low Power Oscillator High +* - PLL2 +* - External2 +* - Synchronous VCLK1 +*/ +enum systemClockSource +{ + SYS_OSC = 0U, /**< Alias for oscillator clock Source */ + SYS_PLL1 = 1U, /**< Alias for Pll1 clock Source */ + SYS_EXTERNAL1 = 3U, /**< Alias for external clock Source */ + SYS_LPO_LOW = 4U, /**< Alias for low power oscillator low clock Source */ + SYS_LPO_HIGH = 5U, /**< Alias for low power oscillator high clock Source */ + SYS_PLL2 = 6U, /**< Alias for Pll2 clock Source */ + SYS_EXTERNAL2 = 7U, /**< Alias for external 2 clock Source */ + SYS_VCLK = 9U /**< Alias for synchronous VCLK1 clock Source */ +}; + +#define SYS_DOZE_MODE 0x000F3F02U +#define SYS_SNOOZE_MODE 0x000F3F03U +#define SYS_SLEEP_MODE 0x000FFFFFU +#define LPO_TRIM_VALUE (((*(volatile uint32 *)0xF00801B4U) & 0xFFFF0000U)>>16U) +#define SYS_EXCEPTION (*(volatile uint32 *)0xFFFFFFE4U) + +#define POWERON_RESET 0x8000U +#define OSC_FAILURE_RESET 0x4000U +#define WATCHDOG_RESET 0x2000U +#define ICEPICK_RESET 0x2000U +#define CPU_RESET 0x0020U +#define SW_RESET 0x0010U + +#define WATCHDOG_STATUS (*(volatile uint32 *)0xFFFFFC98U) +#define DEVICE_ID_REV (*(volatile uint32 *)0xFFFFFFF0U) + +/** @def OSC_FREQ +* @brief Oscillator clock source exported from HALCoGen GUI +* +* Oscillator clock source exported from HALCoGen GUI +*/ +#define OSC_FREQ 16.0F + +/** @def PLL1_FREQ +* @brief PLL 1 clock source exported from HALCoGen GUI +* +* PLL 1 clock source exported from HALCoGen GUI +*/ +#define PLL1_FREQ 160.00F + +/** @def LPO_LF_FREQ +* @brief LPO Low Freq Oscillator source exported from HALCoGen GUI +* +* LPO Low Freq Oscillator source exported from HALCoGen GUI +*/ +#define LPO_LF_FREQ 0.080F + +/** @def LPO_HF_FREQ +* @brief LPO High Freq Oscillator source exported from HALCoGen GUI +* +* LPO High Freq Oscillator source exported from HALCoGen GUI +*/ +#define LPO_HF_FREQ 10.000F + +/** @def PLL1_FREQ +* @brief PLL 2 clock source exported from HALCoGen GUI +* +* PLL 2 clock source exported from HALCoGen GUI +*/ +#define PLL2_FREQ 160.00F + +/** @def GCLK_FREQ +* @brief GCLK domain frequency exported from HALCoGen GUI +* +* GCLK domain frequency exported from HALCoGen GUI +*/ +#define GCLK_FREQ 160.000F + +/** @def HCLK_FREQ +* @brief HCLK domain frequency exported from HALCoGen GUI +* +* HCLK domain frequency exported from HALCoGen GUI +*/ +#define HCLK_FREQ 160.000F + +/** @def RTI_FREQ +* @brief RTI Clock frequency exported from HALCoGen GUI +* +* RTI Clock frequency exported from HALCoGen GUI +*/ +#define RTI_FREQ 80.000F + +/** @def AVCLK1_FREQ +* @brief AVCLK1 Domain frequency exported from HALCoGen GUI +* +* AVCLK Domain frequency exported from HALCoGen GUI +*/ +#define AVCLK1_FREQ 80.000F + +/** @def AVCLK2_FREQ +* @brief AVCLK2 Domain frequency exported from HALCoGen GUI +* +* AVCLK2 Domain frequency exported from HALCoGen GUI +*/ +#define AVCLK2_FREQ 80.000F + +/** @def AVCLK3_FREQ +* @brief AVCLK3 Domain frequency exported from HALCoGen GUI +* +* AVCLK3 Domain frequency exported from HALCoGen GUI +*/ +#define AVCLK3_FREQ 0.000F + +/** @def AVCLK4_FREQ +* @brief AVCLK4 Domain frequency exported from HALCoGen GUI +* +* AVCLK4 Domain frequency exported from HALCoGen GUI +*/ +#define AVCLK4_FREQ 80.000F + +/** @def VCLK1_FREQ +* @brief VCLK1 Domain frequency exported from HALCoGen GUI +* +* VCLK1 Domain frequency exported from HALCoGen GUI +*/ +#define VCLK1_FREQ 80.000F + +/** @def VCLK2_FREQ +* @brief VCLK2 Domain frequency exported from HALCoGen GUI +* +* VCLK2 Domain frequency exported from HALCoGen GUI +*/ +#define VCLK2_FREQ 80.000F + +/** @def VCLK3_FREQ +* @brief VCLK3 Domain frequency exported from HALCoGen GUI +* +* VCLK3 Domain frequency exported from HALCoGen GUI +*/ +#define VCLK3_FREQ 80.000F + +/** @def VCLK4_FREQ +* @brief VCLK4 Domain frequency exported from HALCoGen GUI +* +* VCLK4 Domain frequency exported from HALCoGen GUI +*/ +#define VCLK4_FREQ 80.000F + + +/** @def SYS_PRE1 +* @brief Alias name for RTI1CLK PRE clock source +* +* This is an alias name for the RTI1CLK pre clock source. +* This can be either: +* - Oscillator +* - Pll +* - 32 kHz Oscillator +* - External +* - Low Power Oscillator Low +* - Low Power Oscillator High +* - Flexray Pll +*/ +/*SAFETYMCUSW 79 S MR:19.4 " Value comes from GUI drop down option " */ +#define SYS_PRE1 (SYS_PLL1) + +/** @def SYS_PRE2 +* @brief Alias name for RTI2CLK pre clock source +* +* This is an alias name for the RTI2CLK pre clock source. +* This can be either: +* - Oscillator +* - Pll +* - 32 kHz Oscillator +* - External +* - Low Power Oscillator Low +* - Low Power Oscillator High +* - Flexray Pll +*/ +/*SAFETYMCUSW 79 S MR:19.4 " Value comes from GUI drop down option " */ +#define SYS_PRE2 (SYS_PLL1) + +/* Configuration registers */ +typedef struct system_config_reg +{ + uint32 CONFIG_SYSPC1; + uint32 CONFIG_SYSPC2; + uint32 CONFIG_SYSPC7; + uint32 CONFIG_SYSPC8; + uint32 CONFIG_SYSPC9; + uint32 CONFIG_CSDIS; + uint32 CONFIG_CDDIS; + uint32 CONFIG_GHVSRC; + uint32 CONFIG_VCLKASRC; + uint32 CONFIG_RCLKSRC; + uint32 CONFIG_MSTGCR; + uint32 CONFIG_MINITGCR; + uint32 CONFIG_MSINENA; + uint32 CONFIG_PLLCTL1; + uint32 CONFIG_PLLCTL2; + uint32 CONFIG_UERFLAG; + uint32 CONFIG_LPOMONCTL; + uint32 CONFIG_CLKTEST; + uint32 CONFIG_DFTCTRLREG1; + uint32 CONFIG_DFTCTRLREG2; + uint32 CONFIG_GPREG1; + uint32 CONFIG_RAMGCR; + uint32 CONFIG_BMMCR1; + uint32 CONFIG_MMUGCR; + uint32 CONFIG_CLKCNTL; + uint32 CONFIG_ECPCNTL; + uint32 CONFIG_DEVCR1; + uint32 CONFIG_SYSECR; + uint32 CONFIG_PLLCTL3; + uint32 CONFIG_STCCLKDIV; + uint32 CONFIG_CLK2CNTL; + uint32 CONFIG_VCLKACON1; + uint32 CONFIG_CLKSLIP; + uint32 CONFIG_EFC_CTLEN; +} system_config_reg_t; + +/* Configuration registers initial value */ +#define SYS_SYSPC1_CONFIGVALUE 0U + +#define SYS_SYSPC2_CONFIGVALUE 1U + +#define SYS_SYSPC7_CONFIGVALUE 0U + +#define SYS_SYSPC8_CONFIGVALUE 0U + +#define SYS_SYSPC9_CONFIGVALUE 1U + +#define SYS_CSDIS_CONFIGVALUE ( 0x00000000U\ + | 0x00000000U \ + | 0x00000008U \ + | 0x00000080U \ + | 0x00000000U \ + | 0x00000000U \ + | 0x00000000U\ + | 0x4U ) + +#define SYS_CDDIS_CONFIGVALUE ( (uint32)((uint32)0U << 4U )\ + | (uint32)((uint32)0U << 5U )\ + | (uint32)((uint32)0U << 8U )\ + | (uint32)((uint32)0U << 9U )\ + | (uint32)((uint32)1U << 10U)\ + | (uint32)((uint32)0U << 11U) ) + +#define SYS_GHVSRC_CONFIGVALUE ( (uint32)((uint32)SYS_OSC << 24U) \ + | (uint32)((uint32)SYS_OSC << 16U) \ + | (uint32)((uint32)SYS_PLL1 << 0U) ) + +#define SYS_VCLKASRC_CONFIGVALUE ( (uint32)((uint32)SYS_VCLK << 8U)\ + | (uint32)((uint32)SYS_VCLK << 0U) ) + +#define SYS_RCLKSRC_CONFIGVALUE ( (uint32)((uint32)1U << 24U)\ + | (uint32)((uint32)SYS_VCLK << 16U)\ + | (uint32)((uint32)1U << 8U)\ + | (uint32)((uint32)SYS_VCLK << 0U) ) + +#define SYS_MSTGCR_CONFIGVALUE 0x00000105U + +#define SYS_MINITGCR_CONFIGVALUE 0x5U + +#define SYS_MSINENA_CONFIGVALUE 0U + +#define SYS_PLLCTL1_CONFIGVALUE_1 ( (uint32)0x00000000U \ + | (uint32)0x20000000U \ + | (uint32)((uint32)0x1FU << 24U) \ + | (uint32)0x00000000U \ + | (uint32)((uint32)(6U - 1U)<< 16U)\ + | (uint32)(0x7700U)) + +#define SYS_PLLCTL1_CONFIGVALUE_2 (((SYS_PLLCTL1_CONFIGVALUE_1) & 0xE0FFFFFFU) | (uint32)((uint32)(1U - 1U) << 24U)) + +#define SYS_PLLCTL2_CONFIGVALUE ( (uint32)0x00000000U\ + | (uint32)((uint32)255U << 22U)\ + | (uint32)((uint32)7U << 12U)\ + | (uint32)((uint32)(2U - 1U)<< 9U)\ + | (uint32)61U) + +#define SYS_UERFLAG_CONFIGVALUE 0U + +#define SYS_LPOMONCTL_CONFIGVALUE_1 ((uint32)((uint32)1U << 24U) | LPO_TRIM_VALUE) +#define SYS_LPOMONCTL_CONFIGVALUE_2 ((uint32)((uint32)1U << 24U) | (uint32)((uint32)16U << 8U) | 16U) + +#define SYS_CLKTEST_CONFIGVALUE 0x000A0000U + +#define SYS_DFTCTRLREG1_CONFIGVALUE 0x00002205U + +#define SYS_DFTCTRLREG2_CONFIGVALUE 0x5U + +#define SYS_GPREG1_CONFIGVALUE 0x0005FFFFU + +#define SYS_RAMGCR_CONFIGVALUE 0x00050000U + +#define SYS_BMMCR1_CONFIGVALUE 0xAU + +#define SYS_MMUGCR_CONFIGVALUE 0U + +#define SYS_CLKCNTL_CONFIGVALUE ( 0x00000100U \ + | (uint32)((uint32)1U << 16U) \ + | (uint32)((uint32)1U << 24U) ) + +#define SYS_ECPCNTL_CONFIGVALUE ( (uint32)((uint32)0U << 24U)\ + | (uint32)((uint32)0U << 23U)\ + | (uint32)((uint32)(8U - 1U) & 0xFFFFU) ) + +#define SYS_DEVCR1_CONFIGVALUE 0xAU + +#define SYS_SYSECR_CONFIGVALUE 0x00004000U +#define SYS2_PLLCTL3_CONFIGVALUE_1 ( (uint32)((uint32)(2U - 1U) << 29U)\ + | (uint32)((uint32)0x1FU << 24U) \ + | (uint32)((uint32)(6U - 1U)<< 16U) \ + | (uint32)(0x7700U)) + +#define SYS2_PLLCTL3_CONFIGVALUE_2 (((SYS2_PLLCTL3_CONFIGVALUE_1) & 0xE0FFFFFFU) | (uint32)((uint32)(1U - 1U) << 24U)) +#define SYS2_STCCLKDIV_CONFIGVALUE 0U +#define SYS2_CLK2CNTL_CONFIGVALUE (1U | 0x00000100U) +#define SYS2_VCLKACON1_CONFIGVALUE ( (uint32)((uint32)1U << 24U) \ + | (uint32)((uint32)1U << 20U) \ + | (uint32)((uint32)SYS_VCLK << 16U)\ + | (uint32)((uint32)1U << 8U)\ + | (uint32)((uint32)1U << 4U) \ + | (uint32)((uint32)SYS_VCLK << 0U) ) +#define SYS2_CLKSLIP_CONFIGVALUE 0x5U +#define SYS2_EFC_CTLEN_CONFIGVALUE 0x5U + +void systemGetConfigValue(system_config_reg_t *config_reg, config_value_type_t type); + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/* FlashW General Definitions */ + + +/** @enum flashWPowerModes +* @brief Alias names for flash bank power modes +* +* This enumeration is used to provide alias names for the flash bank power modes: +* - sleep +* - standby +* - active +*/ +enum flashWPowerModes +{ + SYS_SLEEP = 0U, /**< Alias for flash bank power mode sleep */ + SYS_STANDBY = 1U, /**< Alias for flash bank power mode standby */ + SYS_ACTIVE = 3U /**< Alias for flash bank power mode active */ +}; + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + + +#define FSM_WR_ENA_HL (*(volatile uint32 *)0xFFF87288U) +#define EEPROM_CONFIG_HL (*(volatile uint32 *)0xFFF872B8U) + +/* Configuration registers */ +typedef struct tcmflash_config_reg +{ + uint32 CONFIG_FRDCNTL; + uint32 CONFIG_FEDACCTRL1; + uint32 CONFIG_FEDACCTRL2; + uint32 CONFIG_FEDACSDIS; + uint32 CONFIG_FBPROT; + uint32 CONFIG_FBSE; + uint32 CONFIG_FBAC; + uint32 CONFIG_FBFALLBACK; + uint32 CONFIG_FPAC1; + uint32 CONFIG_FPAC2; + uint32 CONFIG_FMAC; + uint32 CONFIG_FLOCK; + uint32 CONFIG_FDIAGCTRL; + uint32 CONFIG_FEDACSDIS2; +} tcmflash_config_reg_t; + +/* Configuration registers initial value */ +#define TCMFLASH_FRDCNTL_CONFIGVALUE (0x00000000U | (uint32)((uint32)3U << 8U) | (uint32)((uint32)1U << 4U) | 1U) +#define TCMFLASH_FEDACCTRL1_CONFIGVALUE 0x000A0005U +#define TCMFLASH_FEDACCTRL2_CONFIGVALUE 0U +#define TCMFLASH_FEDACSDIS_CONFIGVALUE 0U +#define TCMFLASH_FBPROT_CONFIGVALUE 0U +#define TCMFLASH_FBSE_CONFIGVALUE 0U +#define TCMFLASH_FBAC_CONFIGVALUE 0xFU +#define TCMFLASH_FBFALLBACK_CONFIGVALUE ( (uint32)((uint32)SYS_ACTIVE << 14U) \ + | (uint32)((uint32)3U << 12U) \ + | (uint32)((uint32)3U << 10U) \ + | (uint32)((uint32)3U << 8U) \ + | (uint32)((uint32)3U << 6U) \ + | (uint32)((uint32)3U << 4U) \ + | (uint32)((uint32)SYS_ACTIVE << 2U) \ + | (uint32)((uint32)SYS_ACTIVE << 0U) ) + +#define TCMFLASH_FPAC1_CONFIGVALUE 0x00C80001U +#define TCMFLASH_FPAC2_CONFIGVALUE 0U +#define TCMFLASH_FMAC_CONFIGVALUE 0U +#define TCMFLASH_FLOCK_CONFIGVALUE 0x55AAU +#define TCMFLASH_FDIAGCTRL_CONFIGVALUE 0x000A0000U +#define TCMFLASH_FEDACSDIS2_CONFIGVALUE 0U + +void tcmflashGetConfigValue(tcmflash_config_reg_t *config_reg, config_value_type_t type); + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + + +/* System Interface Functions */ +void setupPLL(void); +void trimLPO(void); +void customTrimLPO(void); +void setupFlash(void); +void periphInit(void); +void mapClocks(void); +void systemInit(void); +void systemPowerDown(uint32 mode); + +/*Configuration registers +* index 0: Even RAM +* index 1: Odd RAM +*/ +typedef struct sram_config_reg +{ + uint32 CONFIG_RAMCTRL[2U]; + uint32 CONFIG_RAMTHRESHOLD[2U]; + uint32 CONFIG_RAMINTCTRL[2U]; + uint32 CONFIG_RAMTEST[2U]; + uint32 CONFIG_RAMADDRDECVECT[2U]; +} sram_config_reg_t; + +/* Configuration registers initial value */ +#define SRAM_RAMCTRL_CONFIGVALUE 0x0005000AU +#define SRAM_RAMTHRESHOLD_CONFIGVALUE 1U +#define SRAM_RAMINTCTRL_CONFIGVALUE 1U +#define SRAM_RAMTEST_CONFIGVALUE 0x5U +#define SRAM_RAMADDRDECVECT_CONFIGVALUE 0U + +void sramGetConfigValue(sram_config_reg_t *config_reg, config_value_type_t type); +#ifdef __cplusplus +} +#endif /*extern "C" */ +#endif diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee.h b/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee.h index 40800ef7..f36255f1 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee.h @@ -1,504 +1,504 @@ -/********************************************************************************************************************** - * FILE DESCRIPTION - * ------------------------------------------------------------------------------------------------------------------- - * File: ti_fee.h - * Project: Tms570_TIFEEDriver - * Module: TIFEEDriver - * Generator: None - * - * Description: This file implements the TI FEE Api. - *--------------------------------------------------------------------------------------------------------------------- - * Author: Vishwanath Reddy - *--------------------------------------------------------------------------------------------------------------------- - * Revision History - *--------------------------------------------------------------------------------------------------------------------- - * Version Date Author Change ID Description - *--------------------------------------------------------------------------------------------------------------------- - * 00.01.00 31Aug2012 Vishwanath Reddy 0000000000000 Initial Version - * 00.01.01 29Oct2012 Vishwanath Reddy 0000000000000 Changes for implementing Error Recovery - * 00.01.02 30Nov2012 Vishwanath Reddy SDOCM00097786 Misra Fixes, Memory segmentation changes. - * 00.01.03 14Jan2013 Vishwanath Reddy SDOCM00098510 Changes as requested by Vector. - * 00.01.04 12Feb2012 Vishwanath Reddy SDOCM00099152 Integration issues fix. - * 00.01.05 04Mar2013 Vishwanath Reddy SDOCM00099152 Added Deleting a block feature, bug fixes. - * 00.01.06 11Mar2013 Vishwanath Reddy SDOCM00099152 Added feature : copying of unconfigured blocks. - * 00.01.07 15Mar2013 Vishwanath Reddy SDOCM00099152 Added feature : Number of 8 bytes writes, fixed - issue with copy blocks. - * 00.01.08 05Apr2013 Vishwanath Reddy SDOCM00099152 Added feature : CRC check for unconfigured blocks, - Main function modified to complete writes as fast - as possible, Added Non polling mode support. - * 00.01.09 19Apr2013 Vishwanath Reddy SDOCM00099152 Warning removal, Added feature comparision of data - during write. - * 00.01.10 11Jun2013 Vishwanath Reddy SDOCM00101845 Updated version information. - * 00.01.11 05Jul2013 Vishwanath Reddy SDOCM00101643 Updated version information. - * 01.12.00 13Dec2013 Vishwanath Reddy SDOCM00105412 Traceability tags added. - * MISRA C fixes. Version info corrected. - * 01.13.00 30Dec2013 Vishwanath Reddy 0000000000000 Undated version info for SDOCM00107976 - * and SDOCM00105795. - * 01.13.01 19May2014 Vishwanath Reddy 0000000000000 Updated version info for SDOCM00107913 - * and SDOCM00107622. - * 01.13.02 12Jun2014 Vishwanath Reddy 0000000000000 Updated version info for SDOCM00108238 - * 01.14.00 26Mar2014 Vishwanath Reddy Update version info for SDOCM00107161. - * 01.15.00 06Jun2014 Vishwanath Reddy Support for Conqueror. - * 01.16.00 15Jul2014 Vishwanath Reddy SDOCM00112141 Remove MISRA warnings. - * 01.16.01 12Sep2014 Vishwanath Reddy SDOCM00112930 Prototype for TI_Fee_SuspendResumeErase added. - * TI_Fee_EraseCommandType enum added. - * extern added for TI_Fee_bEraseSuspended. - * 01.17.00 15Oct2014 Vishwanath Reddy SDOCM00113379 RAM Optimization changes. - * 01.17.01 30Oct2014 Vishwanath Reddy SDOCM00113536 Support for TMS570LS07xx,TMS570LS09xx, - * TMS570LS05xx, RM44Lx. - * 01.17.02 26Dec2014 Vishwanath Reddy SDOCM00114102 FLEE Errata Fix. - * SDOCM00114104 Change ALL 1's OK check condition. - * Updated version info. Added new macros. - * SDOCM00114423 Add new enum TI_Fee_DeviceType. - * Add new variable TI_Fee_MaxSectors and - * prototype TI_FeeInternal_PopulateStructures. - * 01.18.00 12Oct2015 Vishwanath Reddy SDOCM00119455 Update version history. - * Update ti_fee_util.c file for the - * bugfix "If morethan one data set is config- - * ured, then a valid block may get invalidated if - * multiple valid blocks are present in FEE memory. - * 01.18.01 17Nov2015 Vishwanath Reddy SDOCM00120161 Update version history. - * In TI_FeeInternal_FeeManager, do not change the - * state to IDLE,after completing the copy operation. - * 01.18.02 05Feb2016 Vishwanath Reddy SDOCM00121158 Update version history. - * Add a call of TI_FeeInternal_PollFlashStatus() - * before reading data from FEE bank in - * TI_FeeInternal_UpdateBlockOffsetArray(), - * TI_Fee_WriteAsync(),TI_Fee_WriteSync(), - * TI_Fee_ReadSync(), TI_Fee_Read() - * 01.18.03 30June2016 Vishwanath Reddy SDOCM00122388 Update patch version TI_FEE_SW_PATCH_VERSION. - * TI_FEE_FLASH_CRC_ENABLE is renamed to - * TI_FEE_FLASH_CHECKSUM_ENABLE. - * SDOCM00122429 In ti_fee_types.h, add error when endianess - * is not defined. - * 01.19.00 08Augu2016 Vishwanath Reddy SDOCM00122592 Update patch version TI_FEE_MINOR_VERSION. - * Code for using partially ersed sector is now - * removed. - * Bugfix for FEE reading from unimplemented memory - * space. - * 01.19.01 12Augu2016 Vishwanath Reddy SDOCM00122543 Update patch version TI_FEE_MINOR_VERSION. - * Synchronous write API modified to avoid copy of - * already copied block. - * 01.19.02 25Janu2017 Vishwanath Reddy SDOCM00122832 Update patch version TI_FEE_MINOR_VERSION. - * Format API modified to erase all configured VS. - * SDOCM00122833 In API TI_Fee_ErrorRecovery, added polling for - * flash status before calling TI_Fee_Init. - * 01.19.03 15May2017 Prathap Srinivasan SDOCM00122917 Added TI_Fee_bIsMainFunctionCalled Global Variable. - * 01.19.04 05Dec2017 Prathap Srinivasan HERCULES_SW-5082 Update version history. - *********************************************************************************************************************/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -#ifndef TI_FEE_H -#define TI_FEE_H - -/********************************************************************************************************************** - * INCLUDES - *********************************************************************************************************************/ -#include "hal_stdtypes.h" -#include "fee_interface.h" -#include "ti_fee_types.h" -#include "ti_fee_cfg.h" -/********************************************************************************************************************** - * GLOBAL CONSTANT MACROS - *********************************************************************************************************************/ -/* Fee Published Information */ -#define TI_FEE_MAJOR_VERSION 3U -#define TI_FEE_MINOR_VERSION 0U -#define TI_FEE_PATCH_VERSION 2U -#define TI_FEE_SW_MAJOR_VERSION 1U -#define TI_FEE_SW_MINOR_VERSION 19U -#define TI_FEE_SW_PATCH_VERSION 4U - -#define TI_FEE_VIRTUAL_SECTOR_VERSION 1U - -/* Virtual sector states */ -#define ActiveVSHi 0x0000FFFFU -#define ActiveVSLo 0x00000000U -#define CopyVSHi 0xFFFFFFFFU -#define CopyVSLo 0x00000000U -#define EmptyVSHi 0xFFFFFFFFU -#define EmptyVSLo 0x0000FFFFU -#define InvalidVSHi 0xFFFFFFFFU -#define InvalidVSLo 0xFFFFFFFFU -#define ReadyforEraseVSHi 0x00000000U -#define ReadyforEraseVSLo 0x00000000U - -/* Data Block states*/ -#define EmptyBlockHi 0xFFFFFFFFU -#define EmptyBlockLo 0xFFFFFFFFU -#define StartProgramBlockHi 0xFFFF0000U -#define StartProgramBlockLo 0xFFFFFFFFU -#define ValidBlockHi 0x00000000U -#define ValidBlockLo 0xFFFFFFFFU -#define InvalidBlockHi 0x00000000U -#define InvalidBlockLo 0xFFFF0000U -#define CorruptBlockHi 0x00000000U -#define CorruptBlockLo 0x00000000U - -#define FEE_BANK 0U - -/* Enable/Disable FEE sectors */ -#define FEE_DISABLE_SECTORS_31_00 0x00000000U -#define FEE_DISABLE_SECTORS_63_32 0x00000000U -#define FEE_ENABLE_SECTORS_31_00 0xFFFFFFFFU -#define FEE_ENABLE_SECTORS_63_32 0xFFFFFFFFU - -/********************************************************************************************************************** - * GLOBAL DATA TYPES AND STRUCTURES - *********************************************************************************************************************/ -/* Structures used */ -/* Enum to describe the Fee Status types */ -typedef enum -{ - TI_FEE_OK = 0U, /* Function returned no error */ - TI_FEE_ERROR = 1U /* Function returned an error */ -} TI_Fee_StatusType; - -/* Enum to describe the Virtual Sector State */ -typedef enum -{ - VsState_Invalid=1U, - VsState_Empty=2U, - VsState_Copy=3U, - VsState_Active=4U, - VsState_ReadyForErase=5U -}VirtualSectorStatesType; - -/* Enum to describe the Block State */ -typedef enum -{ - Block_StartProg=1U, - Block_Valid=2U, - Block_Invalid=3U -}BlockStatesType; - -/* Enum for error trpes */ -typedef enum -{ - Error_Nil=0U, - Error_TwoActiveVS=1U, - Error_TwoCopyVS=2U, - Error_SetupStateMachine=3U, - Error_CopyButNoActiveVS=4U, - Error_NoActiveVS=5U, - Error_BlockInvalid=6U, - Error_NullDataPtr=7U, - Error_NoFreeVS=8U, - Error_InvalidVirtualSectorParameter=9U, - Error_ExceedSectorOnBank=10U, - Error_EraseVS=11U, - Error_BlockOffsetGtBlockSize=12U, - Error_LengthParam=13U, - Error_FeeUninit=14U, - Error_Suspend=15U, - Error_InvalidBlockIndex=16U, - Error_NoErase=17U, - Error_CurrentAddress=18U, - Error_Exceed_No_Of_DataSets=19U -}TI_Fee_ErrorCodeType; - -typedef enum -{ - Suspend_Erase=0U, - Resume_Erase -}TI_Fee_EraseCommandType; - -/* Enum to describe the Device types */ -typedef enum -{ - CHAMPION = 0U, /* Function returned no error */ - ARCHER = 1U /* Function returned an error */ -} TI_Fee_DeviceType; - -typedef uint32 TI_Fee_AddressType; /* Used for defining variables to indicate number of - bytes for address offset */ -typedef uint32 TI_Fee_LengthType; /* Used for defining variables to indicate number of - bytes per read/write/erase */ -typedef TI_Fee_ErrorCodeType Fee_ErrorCodeType; - -/* Structure used when defining virtual sectors */ -/* The following error checks need to be performed: */ -/* Virtual Sector definitions are not allowed to overlap */ -/* Virtual Sector definition is at least twice the size in bytes of the total size of all defined blocks */ -/* We will need to define a formula to indicate if the number of write cycles indicated in the block definitions */ -/* is possible in the defined Virtual Sector. */ -/* Ending sector cannot be less than Starting sector */ -typedef struct -{ - uint16 FeeVirtualSectorNumber; /* Virtual Sector's Number - 0 and 0xFFFF values are not allowed*/ - /* Minimum 1, Maximum 4 */ - uint16 FeeFlashBank; /* Flash Bank to use for virtual sector. */ - /* As we do not allow Flash EEPROM Emulation in Bank 0, - 0 is not a valid option */ - /* Defaultvalue 1, Minimum 1, Maxiumum 7 */ - Fapi_FlashSectorType FeeStartSector; /* Defines the Starting Sector inthe Bank for this VirtualSector*/ - Fapi_FlashSectorType FeeEndSector; /* Defines the Ending Sector inthe Bank for this Virtual Sector */ - /* Start and End sectors can be the same, which indicates only - one sector */ - /* is the entire virtual sector. */ - /* Values are based on the FLASH_SECT enum */ - /* Defaultvalue and Min is the same sector defined as the starting - sector */ - /* Max values are based onthe device definition file being used.*/ -} Fee_VirtualSectorConfigType; - -/* Structure used when defining blocks */ -typedef struct -{ - uint16 FeeBlockNumber; /* Block's Number - 0 and 0xFFFF values are not allowed */ - /* Start 1, Next: Number of Blocks + 1, Min 1, Max 0xFFFE */ - uint16 FeeBlockSize; /* Block's Size - Actual number of bits used is reduced */ - /* by number of bits used for dataset. */ - /* Default 8, Min 1, Max (2^(16-# of Dataset Bits))-1 */ - boolean FeeImmediateData; /* Indicates if the block is used for immediate data */ - /* Default: False */ - uint32 FeeNumberOfWriteCycles; /* Number of write cycles this block requires */ - /* Default: 0, but this will not be a valid number. - Force customer to select a value */ - /* Min 1, Max (2^32)-1 */ - uint8 FeeDeviceIndex; /* Device Index - This will always be 0 */ - /* Fixed value: 0 */ - uint8 FeeNumberOfDataSets; /* Number of DataSets for the Block */ - /* Default value: 1 */ - uint8 FeeEEPNumber; -} Fee_BlockConfigType; - - -/* Structure used for Global variables */ -typedef struct -{ - TI_Fee_AddressType Fee_oFlashNextAddress; /* The next Flash Address to write to */ - TI_Fee_AddressType Fee_oCopyCurrentAddress; /* Indicates the Address within the Active VS - which will be copied to Copy VS */ - TI_Fee_AddressType Fee_oCopyNextAddress; /* Indicates the Address within the Copy VS to - which the data from Active VS will be copied to */ - TI_Fee_AddressType Fee_u32nextwriteaddress; /* Indicates the next free Address within the curent - VS to which the data will be written */ - TI_Fee_AddressType Fee_oVirtualSectorStartAddress; /* Start Address of the current Virtual Sector */ - TI_Fee_AddressType Fee_oVirtualSectorEndAddress; /* End Address of the current Virtual Sector */ - TI_Fee_AddressType Fee_oCopyVirtualSectorAddress; /* Start Address of the Copy Virtual Address */ - TI_Fee_AddressType Fee_oCurrentStartAddress; /* Start Address of the Previous Block */ - TI_Fee_AddressType Fee_oCurrentBlockHeader; /* Start Address of the Block which is being currently - written*/ - TI_Fee_AddressType Fee_oWriteAddress; /* Address within the VS where data is to be written */ - TI_Fee_AddressType Fee_oCopyWriteAddress; /* Address within the VS where data is to be copied */ - TI_Fee_AddressType Fee_oActiveVirtualSectorAddress; /* Start Address of the Active VS */ - TI_Fee_AddressType Fee_oBlankFailAddress; /* Address of first non-blank location */ - TI_Fee_AddressType Fee_oActiveVirtualSectorStartAddress;/* Start Address of the active VS */ - TI_Fee_AddressType Fee_oActiveVirtualSectorEndAddress; /* End Address of the active VS */ - TI_Fee_AddressType Fee_oCopyVirtualSectorStartAddress; /* Start Address of the Copy VS */ - TI_Fee_AddressType Fee_oCopyVirtualSectorEndAddress; /* End Address of the Copy VS */ - TI_Fee_AddressType Fee_u32nextActiveVSwriteaddress; /* Next write address in Active VS */ - TI_Fee_AddressType Fee_u32nextCopyVSwriteaddress; /* Next write address in Copy VS */ - uint16 Fee_u16CopyBlockSize; /* Indicates the size of current block in bytes which is - been copied from Active to Copy VS */ - uint8 Fee_u8VirtualSectorStart; /* Index of the Start Sector of the VS */ - uint8 Fee_u8VirtualSectorEnd; /* Index of the End Sector of the VS */ - uint32 Fee_au32VirtualSectorStateValue[TI_FEE_VIRTUAL_SECTOR_OVERHEAD >> 2U]; /* Array to store the Virtual - Sector Header and - Information record */ - uint8 Fee_au8VirtualSectorState[TI_FEE_NUMBER_OF_VIRTUAL_SECTORS]; /* Stores the state of each - Virtual sector */ - uint32 Fee_au32VirtualSectorEraseCount[TI_FEE_NUMBER_OF_VIRTUAL_SECTORS]; /* Array to store the erase - count of each Virtual - Sector*/ - uint16 Fee_au16BlockOffset[TI_FEE_TOTAL_BLOCKS_DATASETS]; /* Array to store within the VS */ - uint32 Fee_au32BlockHeader[TI_FEE_BLOCK_OVERHEAD >> 2U]; /* Array to store the Block Header value */ - uint8 Fee_au8BlockCopyStatus[TI_FEE_TOTAL_BLOCKS_DATASETS]; /* Array to storeblock copy status */ - uint8 Fee_u8InternalVirtualSectorStart; /* Indicates internal VS start index */ - uint8 Fee_u8InternalVirtualSectorEnd; /* Indicates internal VS end index */ - TI_FeeModuleStatusType Fee_ModuleState; /* Indicates the state of the FEE module */ - TI_FeeJobResultType Fee_u16JobResult; /* Stores the Job Result of the current command */ - TI_Fee_StatusType Fee_oStatus; /* Indicates the status of FEE */ - TI_Fee_ErrorCodeType Fee_Error; /* Indicates the Error code */ - uint16 Fee_u16CopyBlockNumber; /* Block number which is currently being copied */ - uint16 Fee_u16BlockIndex; /* Index of the Current Block */ - uint16 Fee_u16BlockCopyIndex; /* Index of the Block being copied from Copy to Active VS */ - uint16 Fee_u16DataSetIndex; /* Index of the Current DataSet */ - uint16 Fee_u16ArrayIndex; /* Index of the Current DataSet */ - uint16 Fee_u16BlockSize; /* Size of the current block in bytes */ - uint16 Fee_u16BlockSizeinBlockHeader; /* Size of the current block. Used to write into Block Header */ - uint16 Fee_u16BlockNumberinBlockHeader; /* Number of the current block. Used to write into Block Header */ - uint8 Fee_u8ActiveVirtualSector; /* Indicates the FeeVirtualSectorNumber for the Active VS */ - uint8 Fee_u8CopyVirtualSector; /* Indicates the FeeVirtualSectorNumber for the Copy VS */ - uint32 Fee_u32InternalEraseQueue; /* Indicates which VS can be erased when the FEE is in - BusyInternal State*/ - uint8 Fee_u8WriteCopyVSHeader; /* Indicates the number of bytes of the Copy VS Header being - written */ - uint8 Fee_u8WriteCount; /* Indicates the number of bytes of the Block Header being - written */ - uint8 * Fee_pu8ReadDataBuffer; /* Pointer to read data */ - uint8 * Fee_pu8ReadAddress; /* Pointer to read address */ - uint8 * Fee_pu8Data; /* Pointer to the next data to be written to the VS */ - uint8 * Fee_pu8CopyData; /* Pointer to the next data to be copied to the VS */ - uint8 * Fee_pu8DataStart; /* Pointer to the first data to be written to the VS */ - boolean Fee_bInvalidWriteBit; /* Indicates whether the block is written/invalidated/erased - for the first time */ - boolean Fee_bWriteData; /* Indicates that there is data which is pending to be written - to the Block */ - boolean Fee_bWriteBlockHeader; /* Indicates whether the Block Header has been written or not */ - boolean bWriteFirstTime; /* Indicates if the block is being written first time */ - boolean Fee_bFindNextVirtualSector; /* Indicates if there is aneed to find next free VS */ - boolean Fee_bWriteVSHeader; /* Indicates if block header needs to be written */ - boolean Fee_bWriteStartProgram; /* Indicates if start program block header needs to be written */ - boolean Fee_bWritePartialBlockHeader; /* Indicates if start program block header needs to be written */ - #if (TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY != 0U) - uint16 Fee_au16UnConfiguredBlockAddress[TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY]; /* Indicates - number of unconfigured blocks to copy */ - uint8 Fee_au8UnConfiguredBlockCopyStatus[TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY]; /* Array to store block - copy status */ - #endif -}TI_Fee_GlobalVarsType; - -/********************************************************************************************************************** - * EXTERN Declarations - *********************************************************************************************************************/ -/* Fee Global Variables */ -extern const Fee_BlockConfigType Fee_BlockConfiguration[TI_FEE_NUMBER_OF_BLOCKS]; -#if (TI_FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC == STD_OFF) -extern const Fee_VirtualSectorConfigType Fee_VirtualSectorConfiguration[TI_FEE_NUMBER_OF_VIRTUAL_SECTORS]; -extern const Device_FlashType Device_FlashDevice; -#endif -#if (TI_FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC == STD_ON) -extern Fee_VirtualSectorConfigType Fee_VirtualSectorConfiguration[TI_FEE_NUMBER_OF_VIRTUAL_SECTORS]; -extern Device_FlashType Device_FlashDevice; -extern uint8 TI_Fee_MaxSectors; -#endif -extern TI_Fee_GlobalVarsType TI_Fee_GlobalVariables[TI_FEE_NUMBER_OF_EEPS]; -extern TI_Fee_StatusWordType_UN TI_Fee_oStatusWord[TI_FEE_NUMBER_OF_EEPS]; -#if(TI_FEE_FLASH_CHECKSUM_ENABLE == STD_ON) -extern uint32 TI_Fee_u32FletcherChecksum; -#endif -extern uint32 TI_Fee_u32BlockEraseCount; -extern uint8 TI_Fee_u8DataSets; -extern uint8 TI_Fee_u8DeviceIndex; -extern uint32 TI_Fee_u32ActCpyVS; -extern uint8 TI_Fee_u8ErrEraseVS; -#if (TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY != 0U) -extern uint16 TI_Fee_u16NumberOfUnconfiguredBlocks[TI_FEE_NUMBER_OF_EEPS]; -#endif -#if(TI_FEE_FLASH_ERROR_CORRECTION_HANDLING == TI_Fee_Fix) -extern boolean Fee_bDoubleBitError; -extern boolean Fee_bSingleBitError; -#endif -#if(TI_FEE_NUMBER_OF_EEPS==2U) -extern TI_Fee_StatusWordType_UN TI_Fee_oStatusWord_Global; -#endif -extern boolean TI_Fee_FapiInitCalled; -extern boolean TI_Fee_bEraseSuspended; -extern boolean TI_Fee_bIsMainFunctionCalled; - - -/********************************************************************************************************************** - * GLOBAL FUNCTION PROTOTYPES - *********************************************************************************************************************/ -/* Interface Functions */ -extern void TI_Fee_Cancel(uint8 u8EEPIndex); -extern Std_ReturnType TI_Fee_EraseImmediateBlock(uint16 BlockNumber); -extern TI_FeeModuleStatusType TI_Fee_GetStatus(uint8 u8EEPIndex); -extern void TI_Fee_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr); -extern void TI_Fee_Init(void); -extern Std_ReturnType TI_Fee_InvalidateBlock(uint16 BlockNumber); -extern Std_ReturnType TI_Fee_Read(uint16 BlockNumber, - uint16 BlockOffset, - uint8* DataBufferPtr, - uint16 Length); -extern Std_ReturnType TI_Fee_WriteAsync(uint16 BlockNumber, uint8* DataBufferPtr); -extern void TI_Fee_MainFunction(void); -extern TI_Fee_ErrorCodeType TI_FeeErrorCode(uint8 u8EEPIndex); -extern void TI_Fee_ErrorRecovery(TI_Fee_ErrorCodeType ErrorCode, uint8 u8VirtualSector); -extern TI_FeeJobResultType TI_Fee_GetJobResult(uint8 u8EEPIndex); -extern void TI_Fee_SuspendResumeErase(TI_Fee_EraseCommandType Command); - -#if(TI_FEE_FLASH_ERROR_CORRECTION_HANDLING == TI_Fee_Fix) -extern void TI_Fee_ErrorHookSingleBitError(void); -extern void TI_Fee_ErrorHookDoubleBitError(void); -#endif - -#if(TI_FEE_DRIVER == 1U) -extern Std_ReturnType TI_Fee_WriteSync(uint16 BlockNumber, uint8* DataBufferPtr); -extern Std_ReturnType TI_Fee_Shutdown(void); -extern boolean TI_Fee_Format(uint32 u32FormatKey); -extern Std_ReturnType TI_Fee_ReadSync(uint16 BlockNumber,uint16 BlockOffset,uint8* DataBufferPtr,uint16 Length); -#endif - -/* TI Fee Internal Functions */ -TI_Fee_AddressType TI_FeeInternal_GetNextFlashAddress(uint8 u8EEPIndex); -TI_Fee_AddressType TI_FeeInternal_AlignAddressForECC(TI_Fee_AddressType oAddress); -TI_Fee_AddressType TI_FeeInternal_GetCurrentBlockAddress(uint16 BlockNumber,uint16 DataSetNumber, uint8 u8EEPIndex); -/*SAFETYMCUSW 61 X MR:1.4,5.1 "Reason - TI_FeeInternal_GetVirtualSectorParameter name is required here."*/ -uint32 TI_FeeInternal_GetVirtualSectorParameter(Fapi_FlashSectorType oSector, uint16 u16Bank, boolean VirtualSectorInfo, - uint8 u8EEPIndex); -uint32 TI_FeeInternal_PollFlashStatus(void); -uint16 TI_FeeInternal_GetBlockSize(uint16 BlockIndex); -uint16 TI_FeeInternal_GetBlockIndex(uint16 BlockNumber); -uint16 TI_FeeInternal_GetDataSetIndex(uint16 BlockNumber); -uint16 TI_FeeInternal_GetBlockNumber(uint16 BlockNumber); -uint8 TI_FeeInternal_FindNextVirtualSector(uint8 u8EEPIndex); -uint8 TI_FeeInternal_WriteDataF021(boolean bCopy,uint16 u16WriteSize, uint8 u8EEPIndex); -boolean TI_FeeInternal_BlankCheck(uint32 u32StartAddress, uint32 u32EndAddress, uint16 u16Bank, uint8 u8EEPIndex); -Std_ReturnType TI_FeeInternal_CheckReadParameters(uint32 u32BlockSize,uint16 BlockOffset, const uint8* DataBufferPtr, - uint16 Length, uint8 u8EEPIndex); -Std_ReturnType TI_FeeInternal_CheckModuleState(uint8 u8EEPIndex); -Std_ReturnType TI_FeeInternal_InvalidateErase(uint16 BlockNumber); -TI_Fee_StatusType TI_FeeInternal_FeeManager(uint8 u8EEPIndex); -void TI_FeeInternal_WriteVirtualSectorHeader(uint8 FeeVirtualSectorNumber, VirtualSectorStatesType VsState, - uint8 u8EEPIndex) ; -/*SAFETYMCUSW 61 X MR:1.4,5.1 "Reason - TI_FeeInternal_GetVirtualSectorIndex name is required here."*/ -void TI_FeeInternal_GetVirtualSectorIndex(Fapi_FlashSectorType oSectorStart, Fapi_FlashSectorType oSectorEnd, - uint16 u16Bank, boolean bOperation, uint8 u8EEPIndex); -void TI_FeeInternal_WritePreviousBlockHeader(boolean bWrite, uint8 u8EEPIndex); -void TI_FeeInternal_WriteBlockHeader(boolean bWrite, uint8 u8EEPIndex,uint16 Fee_BlockSize_u16,uint16 u16BlockNumber); -void TI_FeeInternal_SetClearCopyBlockState(uint8 u8EEPIndex, boolean bSetClear); -void TI_FeeInternal_SanityCheck(uint16 BlockSize, uint8 u8EEPIndex); -void TI_FeeInternal_StartProgramBlock(uint8 u8EEPIndex); -void TI_FeeInternal_UpdateBlockOffsetArray(uint8 u8EEPIndex, boolean bActCpyVS,uint8 u8VirtualSector); -void TI_FeeInternal_WriteInitialize(TI_Fee_AddressType oFlashNextAddress, uint8* DataBufferPtr, uint8 u8EEPIndex); -void TI_FeeInternal_CheckForError(uint8 u8EEPIndex); -void TI_FeeInternal_EnableRequiredFlashSector(uint32 u32VirtualSectorStartAddress); -uint16 TI_FeeInternal_GetArrayIndex(uint16 BlockNumber, uint16 DataSetNumber, uint8 u8EEPIndex, boolean bCallContext); -#if(TI_FEE_FLASH_CHECKSUM_ENABLE == STD_ON) -uint32 TI_FeeInternal_Fletcher16( uint8 const *pu8data, uint16 u16Length); -#endif -#if (TI_FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC == STD_ON) -void TI_FeeInternal_PopulateStructures(TI_Fee_DeviceType DeviceType); -#endif -#endif /* TI_FEE_H */ -/********************************************************************************************************************** - * END OF FILE: ti_fee.h - *********************************************************************************************************************/ - - +/********************************************************************************************************************** + * FILE DESCRIPTION + * ------------------------------------------------------------------------------------------------------------------- + * File: ti_fee.h + * Project: Tms570_TIFEEDriver + * Module: TIFEEDriver + * Generator: None + * + * Description: This file implements the TI FEE Api. + *--------------------------------------------------------------------------------------------------------------------- + * Author: Vishwanath Reddy + *--------------------------------------------------------------------------------------------------------------------- + * Revision History + *--------------------------------------------------------------------------------------------------------------------- + * Version Date Author Change ID Description + *--------------------------------------------------------------------------------------------------------------------- + * 00.01.00 31Aug2012 Vishwanath Reddy 0000000000000 Initial Version + * 00.01.01 29Oct2012 Vishwanath Reddy 0000000000000 Changes for implementing Error Recovery + * 00.01.02 30Nov2012 Vishwanath Reddy SDOCM00097786 Misra Fixes, Memory segmentation changes. + * 00.01.03 14Jan2013 Vishwanath Reddy SDOCM00098510 Changes as requested by Vector. + * 00.01.04 12Feb2012 Vishwanath Reddy SDOCM00099152 Integration issues fix. + * 00.01.05 04Mar2013 Vishwanath Reddy SDOCM00099152 Added Deleting a block feature, bug fixes. + * 00.01.06 11Mar2013 Vishwanath Reddy SDOCM00099152 Added feature : copying of unconfigured blocks. + * 00.01.07 15Mar2013 Vishwanath Reddy SDOCM00099152 Added feature : Number of 8 bytes writes, fixed + issue with copy blocks. + * 00.01.08 05Apr2013 Vishwanath Reddy SDOCM00099152 Added feature : CRC check for unconfigured blocks, + Main function modified to complete writes as fast + as possible, Added Non polling mode support. + * 00.01.09 19Apr2013 Vishwanath Reddy SDOCM00099152 Warning removal, Added feature comparision of data + during write. + * 00.01.10 11Jun2013 Vishwanath Reddy SDOCM00101845 Updated version information. + * 00.01.11 05Jul2013 Vishwanath Reddy SDOCM00101643 Updated version information. + * 01.12.00 13Dec2013 Vishwanath Reddy SDOCM00105412 Traceability tags added. + * MISRA C fixes. Version info corrected. + * 01.13.00 30Dec2013 Vishwanath Reddy 0000000000000 Undated version info for SDOCM00107976 + * and SDOCM00105795. + * 01.13.01 19May2014 Vishwanath Reddy 0000000000000 Updated version info for SDOCM00107913 + * and SDOCM00107622. + * 01.13.02 12Jun2014 Vishwanath Reddy 0000000000000 Updated version info for SDOCM00108238 + * 01.14.00 26Mar2014 Vishwanath Reddy Update version info for SDOCM00107161. + * 01.15.00 06Jun2014 Vishwanath Reddy Support for Conqueror. + * 01.16.00 15Jul2014 Vishwanath Reddy SDOCM00112141 Remove MISRA warnings. + * 01.16.01 12Sep2014 Vishwanath Reddy SDOCM00112930 Prototype for TI_Fee_SuspendResumeErase added. + * TI_Fee_EraseCommandType enum added. + * extern added for TI_Fee_bEraseSuspended. + * 01.17.00 15Oct2014 Vishwanath Reddy SDOCM00113379 RAM Optimization changes. + * 01.17.01 30Oct2014 Vishwanath Reddy SDOCM00113536 Support for TMS570LS07xx,TMS570LS09xx, + * TMS570LS05xx, RM44Lx. + * 01.17.02 26Dec2014 Vishwanath Reddy SDOCM00114102 FLEE Errata Fix. + * SDOCM00114104 Change ALL 1's OK check condition. + * Updated version info. Added new macros. + * SDOCM00114423 Add new enum TI_Fee_DeviceType. + * Add new variable TI_Fee_MaxSectors and + * prototype TI_FeeInternal_PopulateStructures. + * 01.18.00 12Oct2015 Vishwanath Reddy SDOCM00119455 Update version history. + * Update ti_fee_util.c file for the + * bugfix "If morethan one data set is config- + * ured, then a valid block may get invalidated if + * multiple valid blocks are present in FEE memory. + * 01.18.01 17Nov2015 Vishwanath Reddy SDOCM00120161 Update version history. + * In TI_FeeInternal_FeeManager, do not change the + * state to IDLE,after completing the copy operation. + * 01.18.02 05Feb2016 Vishwanath Reddy SDOCM00121158 Update version history. + * Add a call of TI_FeeInternal_PollFlashStatus() + * before reading data from FEE bank in + * TI_FeeInternal_UpdateBlockOffsetArray(), + * TI_Fee_WriteAsync(),TI_Fee_WriteSync(), + * TI_Fee_ReadSync(), TI_Fee_Read() + * 01.18.03 30June2016 Vishwanath Reddy SDOCM00122388 Update patch version TI_FEE_SW_PATCH_VERSION. + * TI_FEE_FLASH_CRC_ENABLE is renamed to + * TI_FEE_FLASH_CHECKSUM_ENABLE. + * SDOCM00122429 In ti_fee_types.h, add error when endianess + * is not defined. + * 01.19.00 08Augu2016 Vishwanath Reddy SDOCM00122592 Update patch version TI_FEE_MINOR_VERSION. + * Code for using partially ersed sector is now + * removed. + * Bugfix for FEE reading from unimplemented memory + * space. + * 01.19.01 12Augu2016 Vishwanath Reddy SDOCM00122543 Update patch version TI_FEE_MINOR_VERSION. + * Synchronous write API modified to avoid copy of + * already copied block. + * 01.19.02 25Janu2017 Vishwanath Reddy SDOCM00122832 Update patch version TI_FEE_MINOR_VERSION. + * Format API modified to erase all configured VS. + * SDOCM00122833 In API TI_Fee_ErrorRecovery, added polling for + * flash status before calling TI_Fee_Init. + * 01.19.03 15May2017 Prathap Srinivasan SDOCM00122917 Added TI_Fee_bIsMainFunctionCalled Global Variable. + * 01.19.04 05Dec2017 Prathap Srinivasan HERCULES_SW-5082 Update version history. + *********************************************************************************************************************/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +#ifndef TI_FEE_H +#define TI_FEE_H + +/********************************************************************************************************************** + * INCLUDES + *********************************************************************************************************************/ +#include "hal_stdtypes.h" +#include "fee_interface.h" +#include "ti_fee_types.h" +#include "ti_fee_cfg.h" +/********************************************************************************************************************** + * GLOBAL CONSTANT MACROS + *********************************************************************************************************************/ +/* Fee Published Information */ +#define TI_FEE_MAJOR_VERSION 3U +#define TI_FEE_MINOR_VERSION 0U +#define TI_FEE_PATCH_VERSION 2U +#define TI_FEE_SW_MAJOR_VERSION 1U +#define TI_FEE_SW_MINOR_VERSION 19U +#define TI_FEE_SW_PATCH_VERSION 4U + +#define TI_FEE_VIRTUAL_SECTOR_VERSION 1U + +/* Virtual sector states */ +#define ActiveVSHi 0x0000FFFFU +#define ActiveVSLo 0x00000000U +#define CopyVSHi 0xFFFFFFFFU +#define CopyVSLo 0x00000000U +#define EmptyVSHi 0xFFFFFFFFU +#define EmptyVSLo 0x0000FFFFU +#define InvalidVSHi 0xFFFFFFFFU +#define InvalidVSLo 0xFFFFFFFFU +#define ReadyforEraseVSHi 0x00000000U +#define ReadyforEraseVSLo 0x00000000U + +/* Data Block states*/ +#define EmptyBlockHi 0xFFFFFFFFU +#define EmptyBlockLo 0xFFFFFFFFU +#define StartProgramBlockHi 0xFFFF0000U +#define StartProgramBlockLo 0xFFFFFFFFU +#define ValidBlockHi 0x00000000U +#define ValidBlockLo 0xFFFFFFFFU +#define InvalidBlockHi 0x00000000U +#define InvalidBlockLo 0xFFFF0000U +#define CorruptBlockHi 0x00000000U +#define CorruptBlockLo 0x00000000U + +#define FEE_BANK 0U + +/* Enable/Disable FEE sectors */ +#define FEE_DISABLE_SECTORS_31_00 0x00000000U +#define FEE_DISABLE_SECTORS_63_32 0x00000000U +#define FEE_ENABLE_SECTORS_31_00 0xFFFFFFFFU +#define FEE_ENABLE_SECTORS_63_32 0xFFFFFFFFU + +/********************************************************************************************************************** + * GLOBAL DATA TYPES AND STRUCTURES + *********************************************************************************************************************/ +/* Structures used */ +/* Enum to describe the Fee Status types */ +typedef enum +{ + TI_FEE_OK = 0U, /* Function returned no error */ + TI_FEE_ERROR = 1U /* Function returned an error */ +} TI_Fee_StatusType; + +/* Enum to describe the Virtual Sector State */ +typedef enum +{ + VsState_Invalid=1U, + VsState_Empty=2U, + VsState_Copy=3U, + VsState_Active=4U, + VsState_ReadyForErase=5U +}VirtualSectorStatesType; + +/* Enum to describe the Block State */ +typedef enum +{ + Block_StartProg=1U, + Block_Valid=2U, + Block_Invalid=3U +}BlockStatesType; + +/* Enum for error trpes */ +typedef enum +{ + Error_Nil=0U, + Error_TwoActiveVS=1U, + Error_TwoCopyVS=2U, + Error_SetupStateMachine=3U, + Error_CopyButNoActiveVS=4U, + Error_NoActiveVS=5U, + Error_BlockInvalid=6U, + Error_NullDataPtr=7U, + Error_NoFreeVS=8U, + Error_InvalidVirtualSectorParameter=9U, + Error_ExceedSectorOnBank=10U, + Error_EraseVS=11U, + Error_BlockOffsetGtBlockSize=12U, + Error_LengthParam=13U, + Error_FeeUninit=14U, + Error_Suspend=15U, + Error_InvalidBlockIndex=16U, + Error_NoErase=17U, + Error_CurrentAddress=18U, + Error_Exceed_No_Of_DataSets=19U +}TI_Fee_ErrorCodeType; + +typedef enum +{ + Suspend_Erase=0U, + Resume_Erase +}TI_Fee_EraseCommandType; + +/* Enum to describe the Device types */ +typedef enum +{ + CHAMPION = 0U, /* Function returned no error */ + ARCHER = 1U /* Function returned an error */ +} TI_Fee_DeviceType; + +typedef uint32 TI_Fee_AddressType; /* Used for defining variables to indicate number of + bytes for address offset */ +typedef uint32 TI_Fee_LengthType; /* Used for defining variables to indicate number of + bytes per read/write/erase */ +typedef TI_Fee_ErrorCodeType Fee_ErrorCodeType; + +/* Structure used when defining virtual sectors */ +/* The following error checks need to be performed: */ +/* Virtual Sector definitions are not allowed to overlap */ +/* Virtual Sector definition is at least twice the size in bytes of the total size of all defined blocks */ +/* We will need to define a formula to indicate if the number of write cycles indicated in the block definitions */ +/* is possible in the defined Virtual Sector. */ +/* Ending sector cannot be less than Starting sector */ +typedef struct +{ + uint16 FeeVirtualSectorNumber; /* Virtual Sector's Number - 0 and 0xFFFF values are not allowed*/ + /* Minimum 1, Maximum 4 */ + uint16 FeeFlashBank; /* Flash Bank to use for virtual sector. */ + /* As we do not allow Flash EEPROM Emulation in Bank 0, + 0 is not a valid option */ + /* Defaultvalue 1, Minimum 1, Maxiumum 7 */ + Fapi_FlashSectorType FeeStartSector; /* Defines the Starting Sector inthe Bank for this VirtualSector*/ + Fapi_FlashSectorType FeeEndSector; /* Defines the Ending Sector inthe Bank for this Virtual Sector */ + /* Start and End sectors can be the same, which indicates only + one sector */ + /* is the entire virtual sector. */ + /* Values are based on the FLASH_SECT enum */ + /* Defaultvalue and Min is the same sector defined as the starting + sector */ + /* Max values are based onthe device definition file being used.*/ +} Fee_VirtualSectorConfigType; + +/* Structure used when defining blocks */ +typedef struct +{ + uint16 FeeBlockNumber; /* Block's Number - 0 and 0xFFFF values are not allowed */ + /* Start 1, Next: Number of Blocks + 1, Min 1, Max 0xFFFE */ + uint16 FeeBlockSize; /* Block's Size - Actual number of bits used is reduced */ + /* by number of bits used for dataset. */ + /* Default 8, Min 1, Max (2^(16-# of Dataset Bits))-1 */ + boolean FeeImmediateData; /* Indicates if the block is used for immediate data */ + /* Default: False */ + uint32 FeeNumberOfWriteCycles; /* Number of write cycles this block requires */ + /* Default: 0, but this will not be a valid number. + Force customer to select a value */ + /* Min 1, Max (2^32)-1 */ + uint8 FeeDeviceIndex; /* Device Index - This will always be 0 */ + /* Fixed value: 0 */ + uint8 FeeNumberOfDataSets; /* Number of DataSets for the Block */ + /* Default value: 1 */ + uint8 FeeEEPNumber; +} Fee_BlockConfigType; + + +/* Structure used for Global variables */ +typedef struct +{ + TI_Fee_AddressType Fee_oFlashNextAddress; /* The next Flash Address to write to */ + TI_Fee_AddressType Fee_oCopyCurrentAddress; /* Indicates the Address within the Active VS + which will be copied to Copy VS */ + TI_Fee_AddressType Fee_oCopyNextAddress; /* Indicates the Address within the Copy VS to + which the data from Active VS will be copied to */ + TI_Fee_AddressType Fee_u32nextwriteaddress; /* Indicates the next free Address within the curent + VS to which the data will be written */ + TI_Fee_AddressType Fee_oVirtualSectorStartAddress; /* Start Address of the current Virtual Sector */ + TI_Fee_AddressType Fee_oVirtualSectorEndAddress; /* End Address of the current Virtual Sector */ + TI_Fee_AddressType Fee_oCopyVirtualSectorAddress; /* Start Address of the Copy Virtual Address */ + TI_Fee_AddressType Fee_oCurrentStartAddress; /* Start Address of the Previous Block */ + TI_Fee_AddressType Fee_oCurrentBlockHeader; /* Start Address of the Block which is being currently + written*/ + TI_Fee_AddressType Fee_oWriteAddress; /* Address within the VS where data is to be written */ + TI_Fee_AddressType Fee_oCopyWriteAddress; /* Address within the VS where data is to be copied */ + TI_Fee_AddressType Fee_oActiveVirtualSectorAddress; /* Start Address of the Active VS */ + TI_Fee_AddressType Fee_oBlankFailAddress; /* Address of first non-blank location */ + TI_Fee_AddressType Fee_oActiveVirtualSectorStartAddress;/* Start Address of the active VS */ + TI_Fee_AddressType Fee_oActiveVirtualSectorEndAddress; /* End Address of the active VS */ + TI_Fee_AddressType Fee_oCopyVirtualSectorStartAddress; /* Start Address of the Copy VS */ + TI_Fee_AddressType Fee_oCopyVirtualSectorEndAddress; /* End Address of the Copy VS */ + TI_Fee_AddressType Fee_u32nextActiveVSwriteaddress; /* Next write address in Active VS */ + TI_Fee_AddressType Fee_u32nextCopyVSwriteaddress; /* Next write address in Copy VS */ + uint16 Fee_u16CopyBlockSize; /* Indicates the size of current block in bytes which is + been copied from Active to Copy VS */ + uint8 Fee_u8VirtualSectorStart; /* Index of the Start Sector of the VS */ + uint8 Fee_u8VirtualSectorEnd; /* Index of the End Sector of the VS */ + uint32 Fee_au32VirtualSectorStateValue[TI_FEE_VIRTUAL_SECTOR_OVERHEAD >> 2U]; /* Array to store the Virtual + Sector Header and + Information record */ + uint8 Fee_au8VirtualSectorState[TI_FEE_NUMBER_OF_VIRTUAL_SECTORS]; /* Stores the state of each + Virtual sector */ + uint32 Fee_au32VirtualSectorEraseCount[TI_FEE_NUMBER_OF_VIRTUAL_SECTORS]; /* Array to store the erase + count of each Virtual + Sector*/ + uint16 Fee_au16BlockOffset[TI_FEE_TOTAL_BLOCKS_DATASETS]; /* Array to store within the VS */ + uint32 Fee_au32BlockHeader[TI_FEE_BLOCK_OVERHEAD >> 2U]; /* Array to store the Block Header value */ + uint8 Fee_au8BlockCopyStatus[TI_FEE_TOTAL_BLOCKS_DATASETS]; /* Array to storeblock copy status */ + uint8 Fee_u8InternalVirtualSectorStart; /* Indicates internal VS start index */ + uint8 Fee_u8InternalVirtualSectorEnd; /* Indicates internal VS end index */ + TI_FeeModuleStatusType Fee_ModuleState; /* Indicates the state of the FEE module */ + TI_FeeJobResultType Fee_u16JobResult; /* Stores the Job Result of the current command */ + TI_Fee_StatusType Fee_oStatus; /* Indicates the status of FEE */ + TI_Fee_ErrorCodeType Fee_Error; /* Indicates the Error code */ + uint16 Fee_u16CopyBlockNumber; /* Block number which is currently being copied */ + uint16 Fee_u16BlockIndex; /* Index of the Current Block */ + uint16 Fee_u16BlockCopyIndex; /* Index of the Block being copied from Copy to Active VS */ + uint16 Fee_u16DataSetIndex; /* Index of the Current DataSet */ + uint16 Fee_u16ArrayIndex; /* Index of the Current DataSet */ + uint16 Fee_u16BlockSize; /* Size of the current block in bytes */ + uint16 Fee_u16BlockSizeinBlockHeader; /* Size of the current block. Used to write into Block Header */ + uint16 Fee_u16BlockNumberinBlockHeader; /* Number of the current block. Used to write into Block Header */ + uint8 Fee_u8ActiveVirtualSector; /* Indicates the FeeVirtualSectorNumber for the Active VS */ + uint8 Fee_u8CopyVirtualSector; /* Indicates the FeeVirtualSectorNumber for the Copy VS */ + uint32 Fee_u32InternalEraseQueue; /* Indicates which VS can be erased when the FEE is in + BusyInternal State*/ + uint8 Fee_u8WriteCopyVSHeader; /* Indicates the number of bytes of the Copy VS Header being + written */ + uint8 Fee_u8WriteCount; /* Indicates the number of bytes of the Block Header being + written */ + uint8 * Fee_pu8ReadDataBuffer; /* Pointer to read data */ + uint8 * Fee_pu8ReadAddress; /* Pointer to read address */ + uint8 * Fee_pu8Data; /* Pointer to the next data to be written to the VS */ + uint8 * Fee_pu8CopyData; /* Pointer to the next data to be copied to the VS */ + uint8 * Fee_pu8DataStart; /* Pointer to the first data to be written to the VS */ + boolean Fee_bInvalidWriteBit; /* Indicates whether the block is written/invalidated/erased + for the first time */ + boolean Fee_bWriteData; /* Indicates that there is data which is pending to be written + to the Block */ + boolean Fee_bWriteBlockHeader; /* Indicates whether the Block Header has been written or not */ + boolean bWriteFirstTime; /* Indicates if the block is being written first time */ + boolean Fee_bFindNextVirtualSector; /* Indicates if there is aneed to find next free VS */ + boolean Fee_bWriteVSHeader; /* Indicates if block header needs to be written */ + boolean Fee_bWriteStartProgram; /* Indicates if start program block header needs to be written */ + boolean Fee_bWritePartialBlockHeader; /* Indicates if start program block header needs to be written */ + #if (TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY != 0U) + uint16 Fee_au16UnConfiguredBlockAddress[TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY]; /* Indicates + number of unconfigured blocks to copy */ + uint8 Fee_au8UnConfiguredBlockCopyStatus[TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY]; /* Array to store block + copy status */ + #endif +}TI_Fee_GlobalVarsType; + +/********************************************************************************************************************** + * EXTERN Declarations + *********************************************************************************************************************/ +/* Fee Global Variables */ +extern const Fee_BlockConfigType Fee_BlockConfiguration[TI_FEE_NUMBER_OF_BLOCKS]; +#if (TI_FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC == STD_OFF) +extern const Fee_VirtualSectorConfigType Fee_VirtualSectorConfiguration[TI_FEE_NUMBER_OF_VIRTUAL_SECTORS]; +extern const Device_FlashType Device_FlashDevice; +#endif +#if (TI_FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC == STD_ON) +extern Fee_VirtualSectorConfigType Fee_VirtualSectorConfiguration[TI_FEE_NUMBER_OF_VIRTUAL_SECTORS]; +extern Device_FlashType Device_FlashDevice; +extern uint8 TI_Fee_MaxSectors; +#endif +extern TI_Fee_GlobalVarsType TI_Fee_GlobalVariables[TI_FEE_NUMBER_OF_EEPS]; +extern TI_Fee_StatusWordType_UN TI_Fee_oStatusWord[TI_FEE_NUMBER_OF_EEPS]; +#if(TI_FEE_FLASH_CHECKSUM_ENABLE == STD_ON) +extern uint32 TI_Fee_u32FletcherChecksum; +#endif +extern uint32 TI_Fee_u32BlockEraseCount; +extern uint8 TI_Fee_u8DataSets; +extern uint8 TI_Fee_u8DeviceIndex; +extern uint32 TI_Fee_u32ActCpyVS; +extern uint8 TI_Fee_u8ErrEraseVS; +#if (TI_FEE_NUMBER_OF_UNCONFIGUREDBLOCKSTOCOPY != 0U) +extern uint16 TI_Fee_u16NumberOfUnconfiguredBlocks[TI_FEE_NUMBER_OF_EEPS]; +#endif +#if(TI_FEE_FLASH_ERROR_CORRECTION_HANDLING == TI_Fee_Fix) +extern boolean Fee_bDoubleBitError; +extern boolean Fee_bSingleBitError; +#endif +#if(TI_FEE_NUMBER_OF_EEPS==2U) +extern TI_Fee_StatusWordType_UN TI_Fee_oStatusWord_Global; +#endif +extern boolean TI_Fee_FapiInitCalled; +extern boolean TI_Fee_bEraseSuspended; +extern boolean TI_Fee_bIsMainFunctionCalled; + + +/********************************************************************************************************************** + * GLOBAL FUNCTION PROTOTYPES + *********************************************************************************************************************/ +/* Interface Functions */ +extern void TI_Fee_Cancel(uint8 u8EEPIndex); +extern Std_ReturnType TI_Fee_EraseImmediateBlock(uint16 BlockNumber); +extern TI_FeeModuleStatusType TI_Fee_GetStatus(uint8 u8EEPIndex); +extern void TI_Fee_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr); +extern void TI_Fee_Init(void); +extern Std_ReturnType TI_Fee_InvalidateBlock(uint16 BlockNumber); +extern Std_ReturnType TI_Fee_Read(uint16 BlockNumber, + uint16 BlockOffset, + uint8* DataBufferPtr, + uint16 Length); +extern Std_ReturnType TI_Fee_WriteAsync(uint16 BlockNumber, uint8* DataBufferPtr); +extern void TI_Fee_MainFunction(void); +extern TI_Fee_ErrorCodeType TI_FeeErrorCode(uint8 u8EEPIndex); +extern void TI_Fee_ErrorRecovery(TI_Fee_ErrorCodeType ErrorCode, uint8 u8VirtualSector); +extern TI_FeeJobResultType TI_Fee_GetJobResult(uint8 u8EEPIndex); +extern void TI_Fee_SuspendResumeErase(TI_Fee_EraseCommandType Command); + +#if(TI_FEE_FLASH_ERROR_CORRECTION_HANDLING == TI_Fee_Fix) +extern void TI_Fee_ErrorHookSingleBitError(void); +extern void TI_Fee_ErrorHookDoubleBitError(void); +#endif + +#if(TI_FEE_DRIVER == 1U) +extern Std_ReturnType TI_Fee_WriteSync(uint16 BlockNumber, uint8* DataBufferPtr); +extern Std_ReturnType TI_Fee_Shutdown(void); +extern boolean TI_Fee_Format(uint32 u32FormatKey); +extern Std_ReturnType TI_Fee_ReadSync(uint16 BlockNumber,uint16 BlockOffset,uint8* DataBufferPtr,uint16 Length); +#endif + +/* TI Fee Internal Functions */ +TI_Fee_AddressType TI_FeeInternal_GetNextFlashAddress(uint8 u8EEPIndex); +TI_Fee_AddressType TI_FeeInternal_AlignAddressForECC(TI_Fee_AddressType oAddress); +TI_Fee_AddressType TI_FeeInternal_GetCurrentBlockAddress(uint16 BlockNumber,uint16 DataSetNumber, uint8 u8EEPIndex); +/*SAFETYMCUSW 61 X MR:1.4,5.1 "Reason - TI_FeeInternal_GetVirtualSectorParameter name is required here."*/ +uint32 TI_FeeInternal_GetVirtualSectorParameter(Fapi_FlashSectorType oSector, uint16 u16Bank, boolean VirtualSectorInfo, + uint8 u8EEPIndex); +uint32 TI_FeeInternal_PollFlashStatus(void); +uint16 TI_FeeInternal_GetBlockSize(uint16 BlockIndex); +uint16 TI_FeeInternal_GetBlockIndex(uint16 BlockNumber); +uint16 TI_FeeInternal_GetDataSetIndex(uint16 BlockNumber); +uint16 TI_FeeInternal_GetBlockNumber(uint16 BlockNumber); +uint8 TI_FeeInternal_FindNextVirtualSector(uint8 u8EEPIndex); +uint8 TI_FeeInternal_WriteDataF021(boolean bCopy,uint16 u16WriteSize, uint8 u8EEPIndex); +boolean TI_FeeInternal_BlankCheck(uint32 u32StartAddress, uint32 u32EndAddress, uint16 u16Bank, uint8 u8EEPIndex); +Std_ReturnType TI_FeeInternal_CheckReadParameters(uint32 u32BlockSize,uint16 BlockOffset, const uint8* DataBufferPtr, + uint16 Length, uint8 u8EEPIndex); +Std_ReturnType TI_FeeInternal_CheckModuleState(uint8 u8EEPIndex); +Std_ReturnType TI_FeeInternal_InvalidateErase(uint16 BlockNumber); +TI_Fee_StatusType TI_FeeInternal_FeeManager(uint8 u8EEPIndex); +void TI_FeeInternal_WriteVirtualSectorHeader(uint8 FeeVirtualSectorNumber, VirtualSectorStatesType VsState, + uint8 u8EEPIndex) ; +/*SAFETYMCUSW 61 X MR:1.4,5.1 "Reason - TI_FeeInternal_GetVirtualSectorIndex name is required here."*/ +void TI_FeeInternal_GetVirtualSectorIndex(Fapi_FlashSectorType oSectorStart, Fapi_FlashSectorType oSectorEnd, + uint16 u16Bank, boolean bOperation, uint8 u8EEPIndex); +void TI_FeeInternal_WritePreviousBlockHeader(boolean bWrite, uint8 u8EEPIndex); +void TI_FeeInternal_WriteBlockHeader(boolean bWrite, uint8 u8EEPIndex,uint16 Fee_BlockSize_u16,uint16 u16BlockNumber); +void TI_FeeInternal_SetClearCopyBlockState(uint8 u8EEPIndex, boolean bSetClear); +void TI_FeeInternal_SanityCheck(uint16 BlockSize, uint8 u8EEPIndex); +void TI_FeeInternal_StartProgramBlock(uint8 u8EEPIndex); +void TI_FeeInternal_UpdateBlockOffsetArray(uint8 u8EEPIndex, boolean bActCpyVS,uint8 u8VirtualSector); +void TI_FeeInternal_WriteInitialize(TI_Fee_AddressType oFlashNextAddress, uint8* DataBufferPtr, uint8 u8EEPIndex); +void TI_FeeInternal_CheckForError(uint8 u8EEPIndex); +void TI_FeeInternal_EnableRequiredFlashSector(uint32 u32VirtualSectorStartAddress); +uint16 TI_FeeInternal_GetArrayIndex(uint16 BlockNumber, uint16 DataSetNumber, uint8 u8EEPIndex, boolean bCallContext); +#if(TI_FEE_FLASH_CHECKSUM_ENABLE == STD_ON) +uint32 TI_FeeInternal_Fletcher16( uint8 const *pu8data, uint16 u16Length); +#endif +#if (TI_FEE_GENERATE_DEVICEANDVIRTUALSECTORSTRUC == STD_ON) +void TI_FeeInternal_PopulateStructures(TI_Fee_DeviceType DeviceType); +#endif +#endif /* TI_FEE_H */ +/********************************************************************************************************************** + * END OF FILE: ti_fee.h + *********************************************************************************************************************/ + + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee_cfg.h b/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee_cfg.h index f2d0a167..521dbc51 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee_cfg.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee_cfg.h @@ -1,55 +1,55 @@ -/********************************************************************************************************************** - * FILE DESCRIPTION - * ------------------------------------------------------------------------------------------------------------------- - * File: ti_fee_cfg.h - * Project: Tms570_TIFEEDriver - * Module: TIFEEDriver - * Generator: HALCoGen - * - * Description: This file implements the TI FEE Api. - *--------------------------------------------------------------------------------------------------------------------- - * Author: Vishwanath Reddy - *--------------------------------------------------------------------------------------------------------------------- - * Revision History - *--------------------------------------------------------------------------------------------------------------------- - * Version Date Author Change ID Description - *--------------------------------------------------------------------------------------------------------------------- - * 00.00.01 31Aug2012 Vishwanath Reddy 0000000000000 Initial Version - * 01.19.04 05Dec2017 Prathap Srinivasan HERCULES_SW-5082 Update version history. - * - *********************************************************************************************************************/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - +/********************************************************************************************************************** + * FILE DESCRIPTION + * ------------------------------------------------------------------------------------------------------------------- + * File: ti_fee_cfg.h + * Project: Tms570_TIFEEDriver + * Module: TIFEEDriver + * Generator: HALCoGen + * + * Description: This file implements the TI FEE Api. + *--------------------------------------------------------------------------------------------------------------------- + * Author: Vishwanath Reddy + *--------------------------------------------------------------------------------------------------------------------- + * Revision History + *--------------------------------------------------------------------------------------------------------------------- + * Version Date Author Change ID Description + *--------------------------------------------------------------------------------------------------------------------- + * 00.00.01 31Aug2012 Vishwanath Reddy 0000000000000 Initial Version + * 01.19.04 05Dec2017 Prathap Srinivasan HERCULES_SW-5082 Update version history. + * + *********************************************************************************************************************/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee_types.h b/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee_types.h index 5f889b26..7afc97e9 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee_types.h +++ b/TestBoardFirmware/Testboard_HAL_drivers/include/ti_fee_types.h @@ -1,203 +1,203 @@ -/********************************************************************************************************************** - * FILE DESCRIPTION - * ------------------------------------------------------------------------------------------------------------------- - * File: ti_fee_types.h - * Project: Tms570_TIFEEDriver - * Module: TIFEEDriver - * Generator: None - * - * Description: This file implements the TI FEE Api. - *--------------------------------------------------------------------------------------------------------------------- - * Author: Vishwanath Reddy - *--------------------------------------------------------------------------------------------------------------------- - * Revision History - *--------------------------------------------------------------------------------------------------------------------- - * Version Date Author Change ID Description - *--------------------------------------------------------------------------------------------------------------------- - * 03.00.00 31Aug2012 Vishwanath Reddy 0000000000000 Initial Version - * 00.01.00 31Aug2012 Vishwanath Reddy 0000000000000 Initial Version - * 00.01.02 30Nov2012 Vishwanath Reddy SDOCM00097786 Misra Fixes, Memory segmentation changes. - * 01.12.00 13Dec2013 Vishwanath Reddy SDOCM00105412 MISRA C fixes. - * 01.15.00 06Jun2014 Vishwanath Reddy Support for LC Varients. - * 01.16.00 15Jul2014 Vishwanath Reddy SDOCM00112141 Remove MISRA warnings. - * 01.18.00 12Oct2015 Vishwanath Reddy SDOCM00119455 Update version history. - * 01.18.01 17Nov2015 Vishwanath Reddy SDOCM00120161 Update version history. - * 01.18.02 05Feb2016 Vishwanath Reddy SDOCM00121158 Update version history. - * 01.18.03 30June2016 Vishwanath Reddy SDOCM00122388 Update version history. - * SDOCM00122429 Added error when endianess is not defined. - * 01.19.00 08Augu2016 Vishwanath Reddy SDOCM00122592 Update version history. - * 01.19.01 12Augu2016 Vishwanath Reddy SDOCM00122543 Update version history. - * 01.19.03 15May2017 Prathap Srinivasan SDOCM00122917 Update version history. - * 01.19.04 05Dec2017 Prathap Srinivasan HERCULES_SW-5082 Update version history. - *********************************************************************************************************************/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -#ifndef TI_FEE_TYPES_H -#define TI_FEE_TYPES_H - -/********************************************************************************************************************** - * INCLUDES - *********************************************************************************************************************/ -#include "Device_header.h" - -#ifndef TI_Fee_None -#define TI_Fee_None 0x00U /*Take no action on single bit errors, (respond with corrected data), */ - /*return error for uncorrectable error reads (multibit errors for ECC or parity failures)*/ - /*For devices with no ECC (they may have parity or not) the only valid option is none. */ -#endif - -#ifndef TI_Fee_Fix -#define TI_Fee_Fix 0x01U /* single bit error will be fixed by reprogramming */ - /* return previous valid data for uncorrectable error reads (multi bit errors for ECC - or parity failures). */ -#endif - -#if !defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) -#error "Target Endianess is not defined. Include F021 header files and library." -#endif - -/*SAFETYMCUSW 74 S MR:18.4 "Reason - union declaration is necessary here."*/ -typedef union -{ - uint16 Fee_u16StatusWord; - #ifdef _BIG_ENDIAN - struct - { - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Reserved: 5U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Erase:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 ReadSync:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 ProgramFailed:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Read:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 WriteSync:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 WriteAsync:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 EraseImmediate:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 InvalidateBlock:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Copy:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Initialized:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 SingleBitError:1U; - }Fee_StatusWordType_ST; - #endif - #ifdef _LITTLE_ENDIAN - struct - { - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 SingleBitError:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Initialized:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Copy:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 InvalidateBlock:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 EraseImmediate:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 WriteAsync:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 WriteSync:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Read:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 ProgramFailed:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 ReadSync:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Erase:1U; - /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ - /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ - uint16 Reserved: 5U; - }Fee_StatusWordType_ST; - #endif -}TI_Fee_StatusWordType_UN; - -typedef enum -{ - UNINIT, - IDLE, - /*SAFETYMCUSW 91 S MR:5.2,5.6,5.7 "Reason - BUSY in F021 is a member of structure."*/ - BUSY, - BUSY_INTERNAL -}TI_FeeModuleStatusType; - -typedef enum -{ - JOB_OK, - JOB_FAILED, - JOB_PENDING, - JOB_CANCELLED, - BLOCK_INCONSISTENT, - BLOCK_INVALID -}TI_FeeJobResultType; - -#endif /* TI_FEE_TYPES_H */ - -/********************************************************************************************************************** - * END OF FILE: ti_fee_types.h - *********************************************************************************************************************/ +/********************************************************************************************************************** + * FILE DESCRIPTION + * ------------------------------------------------------------------------------------------------------------------- + * File: ti_fee_types.h + * Project: Tms570_TIFEEDriver + * Module: TIFEEDriver + * Generator: None + * + * Description: This file implements the TI FEE Api. + *--------------------------------------------------------------------------------------------------------------------- + * Author: Vishwanath Reddy + *--------------------------------------------------------------------------------------------------------------------- + * Revision History + *--------------------------------------------------------------------------------------------------------------------- + * Version Date Author Change ID Description + *--------------------------------------------------------------------------------------------------------------------- + * 03.00.00 31Aug2012 Vishwanath Reddy 0000000000000 Initial Version + * 00.01.00 31Aug2012 Vishwanath Reddy 0000000000000 Initial Version + * 00.01.02 30Nov2012 Vishwanath Reddy SDOCM00097786 Misra Fixes, Memory segmentation changes. + * 01.12.00 13Dec2013 Vishwanath Reddy SDOCM00105412 MISRA C fixes. + * 01.15.00 06Jun2014 Vishwanath Reddy Support for LC Varients. + * 01.16.00 15Jul2014 Vishwanath Reddy SDOCM00112141 Remove MISRA warnings. + * 01.18.00 12Oct2015 Vishwanath Reddy SDOCM00119455 Update version history. + * 01.18.01 17Nov2015 Vishwanath Reddy SDOCM00120161 Update version history. + * 01.18.02 05Feb2016 Vishwanath Reddy SDOCM00121158 Update version history. + * 01.18.03 30June2016 Vishwanath Reddy SDOCM00122388 Update version history. + * SDOCM00122429 Added error when endianess is not defined. + * 01.19.00 08Augu2016 Vishwanath Reddy SDOCM00122592 Update version history. + * 01.19.01 12Augu2016 Vishwanath Reddy SDOCM00122543 Update version history. + * 01.19.03 15May2017 Prathap Srinivasan SDOCM00122917 Update version history. + * 01.19.04 05Dec2017 Prathap Srinivasan HERCULES_SW-5082 Update version history. + *********************************************************************************************************************/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +#ifndef TI_FEE_TYPES_H +#define TI_FEE_TYPES_H + +/********************************************************************************************************************** + * INCLUDES + *********************************************************************************************************************/ +#include "Device_header.h" + +#ifndef TI_Fee_None +#define TI_Fee_None 0x00U /*Take no action on single bit errors, (respond with corrected data), */ + /*return error for uncorrectable error reads (multibit errors for ECC or parity failures)*/ + /*For devices with no ECC (they may have parity or not) the only valid option is none. */ +#endif + +#ifndef TI_Fee_Fix +#define TI_Fee_Fix 0x01U /* single bit error will be fixed by reprogramming */ + /* return previous valid data for uncorrectable error reads (multi bit errors for ECC + or parity failures). */ +#endif + +#if !defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) +#error "Target Endianess is not defined. Include F021 header files and library." +#endif + +/*SAFETYMCUSW 74 S MR:18.4 "Reason - union declaration is necessary here."*/ +typedef union +{ + uint16 Fee_u16StatusWord; + #ifdef _BIG_ENDIAN + struct + { + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Reserved: 5U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Erase:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 ReadSync:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 ProgramFailed:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Read:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 WriteSync:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 WriteAsync:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 EraseImmediate:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 InvalidateBlock:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Copy:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Initialized:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 SingleBitError:1U; + }Fee_StatusWordType_ST; + #endif + #ifdef _LITTLE_ENDIAN + struct + { + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 SingleBitError:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Initialized:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Copy:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 InvalidateBlock:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 EraseImmediate:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 WriteAsync:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 WriteSync:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Read:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 ProgramFailed:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 ReadSync:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Erase:1U; + /*SAFETYMCUSW 42 S MR:3.5 "Reason - Bit field declaration is necessary here."*/ + /*SAFETYMCUSW 73 S MR:6.4 "Reason - Bit field is declared as unsigned."*/ + uint16 Reserved: 5U; + }Fee_StatusWordType_ST; + #endif +}TI_Fee_StatusWordType_UN; + +typedef enum +{ + UNINIT, + IDLE, + /*SAFETYMCUSW 91 S MR:5.2,5.6,5.7 "Reason - BUSY in F021 is a member of structure."*/ + BUSY, + BUSY_INTERNAL +}TI_FeeModuleStatusType; + +typedef enum +{ + JOB_OK, + JOB_FAILED, + JOB_PENDING, + JOB_CANCELLED, + BLOCK_INCONSISTENT, + BLOCK_INVALID +}TI_FeeJobResultType; + +#endif /* TI_FEE_TYPES_H */ + +/********************************************************************************************************************** + * END OF FILE: ti_fee_types.h + *********************************************************************************************************************/ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/adc.c b/TestBoardFirmware/Testboard_HAL_drivers/source/adc.c index 803f078d..c9d0fc0f 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/adc.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/adc.c @@ -1,989 +1,989 @@ -/** @file adc.c -* @brief ADC Driver Source File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - API Functions -* - Interrupt Handlers -* . -* which are relevant for the ADC driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Include Files */ - -#include "adc.h" -#include "sys_vim.h" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -/** @fn void adcInit(void) -* @brief Initializes ADC Driver -* -* This function initializes the ADC driver. -* -*/ -/* USER CODE BEGIN (2) */ -/* USER CODE END */ -/* SourceId : ADC_SourceId_001 */ -/* DesignId : ADC_DesignId_001 */ -/* Requirements : HL_SR185 */ -void adcInit(void) -{ -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - - /** @b Initialize @b ADC1: */ - - /** - Reset ADC module */ - adcREG1->RSTCR = 1U; - adcREG1->RSTCR = 0U; - - /** - Enable 12-BIT ADC */ - adcREG1->OPMODECR |= 0x80000000U; - - /** - Setup prescaler */ - adcREG1->CLOCKCR = 7U; - - /** - Setup memory boundaries */ - adcREG1->BNDCR = (uint32)((uint32)8U << 16U) | (8U + 8U); - adcREG1->BNDEND = (adcREG1->BNDEND & 0xFFFF0000U) | (2U); - - /** - Setup event group conversion mode - * - Setup data format - * - Enable/Disable channel id in conversion result - * - Enable/Disable continuous conversion - */ - adcREG1->GxMODECR[0U] = (uint32)ADC_12_BIT - | (uint32)0x00000000U - | (uint32)0x00000000U; - - /** - Setup event group hardware trigger - * - Setup hardware trigger edge - * - Setup hardware trigger source - */ - adcREG1->EVSRC = (uint32)0x00000000U - | (uint32)ADC1_EVENT; - - /** - Setup event group sample window */ - adcREG1->EVSAMP = 1U; - - /** - Setup event group sample discharge - * - Setup discharge prescaler - * - Enable/Disable discharge - */ - adcREG1->EVSAMPDISEN = (uint32)((uint32)0U << 8U) - | (uint32)0x00000000U; - - /** - Setup group 1 conversion mode - * - Setup data format - * - Enable/Disable channel id in conversion result - * - Enable/Disable continuous conversion - */ - adcREG1->GxMODECR[1U] = (uint32)ADC_12_BIT - | (uint32)0x00000000U - | (uint32)0x00000000U - | (uint32)0x00000000U; - - /** - Setup group 1 hardware trigger - * - Setup hardware trigger edge - * - Setup hardware trigger source - */ - adcREG1->G1SRC = (uint32)0x00000000U - | (uint32)ADC1_EVENT; - - /** - Setup group 1 sample window */ - adcREG1->G1SAMP = 1U; - - /** - Setup group 1 sample discharge - * - Setup discharge prescaler - * - Enable/Disable discharge - */ - adcREG1->G1SAMPDISEN = (uint32)((uint32)0U << 8U) - | (uint32)0x00000000U; - - /** - Setup group 2 conversion mode - * - Setup data format - * - Enable/Disable channel id in conversion result - * - Enable/Disable continuous conversion - */ - adcREG1->GxMODECR[2U] = (uint32)ADC_12_BIT - | (uint32)0x00000000U - | (uint32)0x00000000U - | (uint32)0x00000000U; - - /** - Setup group 2 hardware trigger - * - Setup hardware trigger edge - * - Setup hardware trigger source - */ - adcREG1->G2SRC = (uint32)0x00000000U - | (uint32)ADC1_EVENT; - - /** - Setup group 2 sample window */ - adcREG1->G2SAMP = 1U; - - /** - Setup group 2 sample discharge - * - Setup discharge prescaler - * - Enable/Disable discharge - */ - adcREG1->G2SAMPDISEN = (uint32)((uint32)0U << 8U) - | (uint32)0x00000000U; - - /** - ADC1 EVT pin output value */ - adcREG1->EVTOUT = 0U; - - /** - ADC1 EVT pin direction */ - adcREG1->EVTDIR = 0U; - - /** - ADC1 EVT pin open drain enable */ - adcREG1->EVTPDR = 0U; - - /** - ADC1 EVT pin pullup / pulldown selection */ - adcREG1->EVTPSEL = 1U; - - /** - ADC1 EVT pin pullup / pulldown enable*/ - adcREG1->EVTDIS = 0U; - - /** - Enable ADC module */ - adcREG1->OPMODECR |= 0x80140001U; - - /** - Wait for buffer initialization complete */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while (((adcREG1->BNDEND & 0xFFFF0000U) >> 16U ) != 0U) - { - } /* Wait */ - - /** - Setup parity */ - adcREG1->PARCR = 0x00000005U; - - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - - -/** - s_adcSelect is used as constant table for channel selection */ -static const uint32 s_adcSelect[2U][3U] = -{ - {0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U, - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00008000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U, - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U}, - {0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U , - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U, - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U | - 0x00000000U} -}; - -/** - s_adcFiFoSize is used as constant table for channel selection */ -static const uint32 s_adcFiFoSize[2U][3U] = -{ - {16U, - 1U, - 16U}, - {16U, - 16U, - 16U} -}; - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - -/** @fn void adcStartConversion(adcBASE_t *adc, uint32 group) -* @brief Starts an ADC conversion -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @param[in] group Hardware group of ADC module: -* - adcGROUP0: ADC event group -* - adcGROUP1: ADC group 1 -* - adcGROUP2: ADC group 2 -* -* This function starts a conversion of the ADC hardware group. -* -*/ -/* SourceId : ADC_SourceId_002 */ -/* DesignId : ADC_DesignId_002 */ -/* Requirements : HL_SR186 */ -void adcStartConversion(adcBASE_t *adc, uint32 group) -{ - uint32 index = (adc == adcREG1) ? 0U : 1U; - -/* USER CODE BEGIN (7) */ -/* USER CODE END */ - - /** - Setup FiFo size */ - adc->GxINTCR[group] = s_adcFiFoSize[index][group]; - - /** - Start Conversion */ - adc->GxSEL[group] = s_adcSelect[index][group]; - - /** @note The function adcInit has to be called before this function can be used. */ - -/* USER CODE BEGIN (8) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (9) */ -/* USER CODE END */ - - -/** @fn void adcStopConversion(adcBASE_t *adc, uint32 group) -* @brief Stops an ADC conversion -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @param[in] group Hardware group of ADC module: -* - adcGROUP0: ADC event group -* - adcGROUP1: ADC group 1 -* - adcGROUP2: ADC group 2 -* -* This function stops a conversion of the ADC hardware group. -* -*/ -/* SourceId : ADC_SourceId_003 */ -/* DesignId : ADC_DesignId_003 */ -/* Requirements : HL_SR187 */ -void adcStopConversion(adcBASE_t *adc, uint32 group) -{ -/* USER CODE BEGIN (10) */ -/* USER CODE END */ - - /** - Stop Conversion */ - adc->GxSEL[group] = 0U; - - /** @note The function adcInit has to be called before this function can be used. */ - -/* USER CODE BEGIN (11) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (12) */ -/* USER CODE END */ - - -/** @fn void adcResetFiFo(adcBASE_t *adc, uint32 group) -* @brief Resets FiFo read and write pointer. -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @param[in] group Hardware group of ADC module: -* - adcGROUP0: ADC event group -* - adcGROUP1: ADC group 1 -* - adcGROUP2: ADC group 2 -* -* This function resets the FiFo read and write pointers. -* -*/ -/* SourceId : ADC_SourceId_004 */ -/* DesignId : ADC_DesignId_004*/ -/* Requirements : HL_SR188 */ -void adcResetFiFo(adcBASE_t *adc, uint32 group) -{ -/* USER CODE BEGIN (13) */ -/* USER CODE END */ - - /** - Reset FiFo */ - adc->GxFIFORESETCR[group] = 1U; - - /** @note The function adcInit has to be called before this function can be used.\n - * the conversion should be stopped before calling this function. - */ - -/* USER CODE BEGIN (14) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (15) */ -/* USER CODE END */ - - -/** @fn uint32 adcGetData(adcBASE_t *adc, uint32 group, adcData_t * data) -* @brief Gets converted a ADC values -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @param[in] group Hardware group of ADC module: -* - adcGROUP0: ADC event group -* - adcGROUP1: ADC group 1 -* - adcGROUP2: ADC group 2 -* @param[out] data Pointer to store ADC converted data -* @return The function will return the number of converted values copied into data buffer: -* -* This function writes a ADC message into a ADC message box. -* -*/ -/* SourceId : ADC_SourceId_005 */ -/* DesignId : ADC_DesignId_005 */ -/* Requirements : HL_SR189 */ -uint32 adcGetData(adcBASE_t *adc, uint32 group, adcData_t * data) -{ - uint32 i; - uint32 buf; - uint32 mode; - uint32 index = (adc == adcREG1) ? 0U : 1U; - - uint32 intcr_reg = adc->GxINTCR[group]; - uint32 count = (intcr_reg >= 256U) ? s_adcFiFoSize[index][group] : (s_adcFiFoSize[index][group] - (uint32)(intcr_reg & 0xFFU)); - adcData_t *ptr = data; - -/* USER CODE BEGIN (16) */ -/* USER CODE END */ - - mode = (adc->OPMODECR & ADC_12_BIT_MODE); - - if(mode == ADC_12_BIT_MODE) - { - /** - Get conversion data and channel/pin id */ - for (i = 0U; i < count; i++) - { - buf = adc->GxBUF[group].BUF0; - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - ptr->value = (uint16)(buf & 0xFFFU); - ptr->id = (uint32)((buf >> 16U) & 0x1FU); - /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ - ptr++; - } - } - else - { - /** - Get conversion data and channel/pin id */ - for (i = 0U; i < count; i++) - { - buf = adc->GxBUF[group].BUF0; - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - ptr->value = (uint16)(buf & 0x3FFU); - ptr->id = (uint32)((buf >> 10U) & 0x1FU); - /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ - ptr++; - } - } - - - adc->GxINTFLG[group] = 9U; - - /** @note The function adcInit has to be called before this function can be used.\n - * The user is responsible to initialize the message box. - */ - -/* USER CODE BEGIN (17) */ -/* USER CODE END */ - - return count; -} - -/* USER CODE BEGIN (18) */ -/* USER CODE END */ - - -/** @fn uint32 adcIsFifoFull(adcBASE_t *adc, uint32 group) -* @brief Checks if FiFo buffer is full -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @param[in] group Hardware group of ADC module: -* - adcGROUP0: ADC event group -* - adcGROUP1: ADC group 1 -* - adcGROUP2: ADC group 2 -* @return The function will return: -* - 0: When FiFo buffer is not full -* - 1: When FiFo buffer is full -* - 3: When FiFo buffer overflow occurred -* -* This function checks FiFo buffer status. -* -*/ -/* SourceId : ADC_SourceId_006 */ -/* DesignId : ADC_DesignId_006 */ -/* Requirements : HL_SR190 */ -uint32 adcIsFifoFull(adcBASE_t *adc, uint32 group) -{ - uint32 flags; - -/* USER CODE BEGIN (19) */ -/* USER CODE END */ - - /** - Read FiFo flags */ - flags = adc->GxINTFLG[group] & 3U; - - /** @note The function adcInit has to be called before this function can be used. */ - -/* USER CODE BEGIN (20) */ -/* USER CODE END */ - - return flags; -} - -/* USER CODE BEGIN (21) */ -/* USER CODE END */ - - -/** @fn uint32 adcIsConversionComplete(adcBASE_t *adc, uint32 group) -* @brief Checks if Conversion is complete -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @param[in] group Hardware group of ADC module: -* - adcGROUP0: ADC event group -* - adcGROUP1: ADC group 1 -* - adcGROUP2: ADC group 2 -* @return The function will return: -* - 0: When is not finished -* - 8: When conversion is complete -* -* This function checks if conversion is complete. -* -*/ -/* SourceId : ADC_SourceId_007 */ -/* DesignId : ADC_DesignId_007 */ -/* Requirements : HL_SR191 */ -uint32 adcIsConversionComplete(adcBASE_t *adc, uint32 group) -{ - uint32 flags; - -/* USER CODE BEGIN (22) */ -/* USER CODE END */ - - /** - Read conversion flags */ - flags = adc->GxINTFLG[group] & 8U; - - /** @note The function adcInit has to be called before this function can be used. */ - -/* USER CODE BEGIN (23) */ -/* USER CODE END */ - - return flags; -} - -/* USER CODE BEGIN (24) */ -/* USER CODE END */ - -/** @fn void adcCalibration(adcBASE_t *adc) -* @brief Computes offset error using Calibration mode -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* This function computes offset error using Calibration mode -* -*/ -/* SourceId : ADC_SourceId_008 */ -/* DesignId : ADC_DesignId_010 */ -/* Requirements : HL_SR194 */ -void adcCalibration(adcBASE_t *adc) -{ -/* USER CODE BEGIN (25) */ -/* USER CODE END */ - - uint32 conv_val[5U]={0U,0U,0U,0U,0U}; - uint32 loop_index=0U; - uint32 offset_error=0U; - uint32 backup_mode; - - /** - Backup Mode before Calibration */ - backup_mode = adc->OPMODECR; - - /** - Enable 12-BIT ADC */ - adc->OPMODECR |= 0x80000000U; - - /* Disable all channels for conversion */ - adc->GxSEL[0U]=0x00U; - adc->GxSEL[1U]=0x00U; - adc->GxSEL[2U]=0x00U; - - for(loop_index=0U;loop_index<4U;loop_index++) - { - /* Disable Self Test and Calibration mode */ - adc->CALCR=0x0U; - - switch(loop_index) - { - case 0U : /* Test 1 : Bride En = 0 , HiLo =0 */ - adc->CALCR=0x0U; - break; - - case 1U : /* Test 1 : Bride En = 0 , HiLo =1 */ - adc->CALCR=0x0100U; - break; - - case 2U : /* Test 1 : Bride En = 1 , HiLo =0 */ - adc->CALCR=0x0200U; - break; - - case 3U : /* Test 1 : Bride En = 1 , HiLo =1 */ - adc->CALCR=0x0300U; - break; - default : - break; - } - - /* Enable Calibration mode */ - adc->CALCR|=0x1U; - - /* Start calibration conversion */ - adc->CALCR|=0x00010000U; - - /* Wait for calibration conversion to complete */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((adc->CALCR & 0x00010000U)==0x00010000U) - { - } /* Wait */ - - /* Read converted value */ - conv_val[loop_index]= adc->CALR; - } - - /* Disable Self Test and Calibration mode */ - adc->CALCR=0x0U; - - /* Compute the Offset error correction value */ - conv_val[4U]=conv_val[0U]+ conv_val[1U] + conv_val[2U] + conv_val[3U]; - - conv_val[4U]=(conv_val[4U]/4U); - - offset_error=conv_val[4U]-0x7FFU; - - /*Write the offset error to the Calibration register */ - /* Load 2;s complement of the computed value to ADCALR register */ - offset_error=~offset_error; - offset_error=offset_error & 0xFFFU; - offset_error=offset_error+1U; - - adc->CALR = offset_error; - - /** - Restore Mode after Calibration */ - adc->OPMODECR = backup_mode; - - /** @note The function adcInit has to be called before using this function. */ - -/* USER CODE BEGIN (26) */ -/* USER CODE END */ -} - - -/** @fn void adcMidPointCalibration(adcBASE_t *adc) -* @brief Computes offset error using Mid Point Calibration mode -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @return This function will return offset error using Mid Point Calibration mode -* -* This function computes offset error using Mid Point Calibration mode -* -*/ -/* SourceId : ADC_SourceId_009 */ -/* DesignId : ADC_DesignId_011 */ -/* Requirements : HL_SR195 */ -uint32 adcMidPointCalibration(adcBASE_t *adc) -{ -/* USER CODE BEGIN (27) */ -/* USER CODE END */ - - uint32 conv_val[3U]={0U,0U,0U}; - uint32 loop_index=0U; - uint32 offset_error=0U; - uint32 backup_mode; - - /** - Backup Mode before Calibration */ - backup_mode = adc->OPMODECR; - - /** - Enable 12-BIT ADC */ - adc->OPMODECR |= 0x80000000U; - - /* Disable all channels for conversion */ - adc->GxSEL[0U]=0x00U; - adc->GxSEL[1U]=0x00U; - adc->GxSEL[2U]=0x00U; - - for(loop_index=0U;loop_index<2U;loop_index++) - { - /* Disable Self Test and Calibration mode */ - adc->CALCR=0x0U; - - switch(loop_index) - { - case 0U : /* Test 1 : Bride En = 0 , HiLo =0 */ - adc->CALCR=0x0U; - break; - - case 1U : /* Test 1 : Bride En = 0 , HiLo =1 */ - adc->CALCR=0x0100U; - break; - - default : - break; - - } - - /* Enable Calibration mode */ - adc->CALCR|=0x1U; - - /* Start calibration conversion */ - adc->CALCR|=0x00010000U; - - /* Wait for calibration conversion to complete */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((adc->CALCR & 0x00010000U)==0x00010000U) - { - } /* Wait */ - - /* Read converted value */ - conv_val[loop_index]= adc->CALR; - } - - /* Disable Self Test and Calibration mode */ - adc->CALCR=0x0U; - - /* Compute the Offset error correction value */ - conv_val[2U]=(conv_val[0U])+ (conv_val[1U]); - - conv_val[2U]=(conv_val[2U]/2U); - - offset_error=conv_val[2U]-0x7FFU; - - /* Write the offset error to the Calibration register */ - /* Load 2's complement of the computed value to ADCALR register */ - offset_error=~offset_error; - offset_error=offset_error+1U; - offset_error=offset_error & 0xFFFU; - - adc->CALR = offset_error; - - /** - Restore Mode after Calibration */ - adc->OPMODECR = backup_mode; - - return(offset_error); - - /** @note The function adcInit has to be called before this function can be used. */ - -/* USER CODE BEGIN (28) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (29) */ -/* USER CODE END */ - -/** @fn void adcEnableNotification(adcBASE_t *adc, uint32 group) -* @brief Enable notification -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @param[in] group Hardware group of ADC module: -* - adcGROUP0: ADC event group -* - adcGROUP1: ADC group 1 -* - adcGROUP2: ADC group 2 -* -* This function will enable the notification of a conversion. -* In single conversion mode for conversion complete and -* in continuous conversion mode when the FiFo buffer is full. -* -*/ -/* SourceId : ADC_SourceId_010 */ -/* DesignId : ADC_DesignId_008 */ -/* Requirements : HL_SR192 */ -void adcEnableNotification(adcBASE_t *adc, uint32 group) -{ - uint32 notif = (((uint32)(adc->GxMODECR[group]) & 2U) == 2U) ? 1U : 8U; - -/* USER CODE BEGIN (30) */ -/* USER CODE END */ - - adc->GxINTENA[group] = notif; - - /** @note The function adcInit has to be called before this function can be used.\n - * This function should be called before the conversion is started - */ - -/* USER CODE BEGIN (31) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (32) */ -/* USER CODE END */ - - -/** @fn void adcDisableNotification(adcBASE_t *adc, uint32 group) -* @brief Disable notification -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* - adcREG2: ADC2 module pointer -* @param[in] group Hardware group of ADC module: -* - adcGROUP0: ADC event group -* - adcGROUP1: ADC group 1 -* - adcGROUP2: ADC group 2 -* -* This function will disable the notification of a conversion. -*/ -/* SourceId : ADC_SourceId_011 */ -/* DesignId : ADC_DesignId_009 */ -/* Requirements : HL_SR193 */ -void adcDisableNotification(adcBASE_t *adc, uint32 group) -{ -/* USER CODE BEGIN (33) */ -/* USER CODE END */ - - adc->GxINTENA[group] = 0U; - - /** @note The function adcInit has to be called before this function can be used. */ - -/* USER CODE BEGIN (34) */ -/* USER CODE END */ -} - -/** @fn void adcSetEVTPin(adcBASE_t *adc, uint32 value) -* @brief Set ADCEVT pin -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* @param[in] value Value to be set: 0 or 1 -* -* This function will set the ADC EVT pin if configured as an output pin. -*/ -/* SourceId : ADC_SourceId_020 */ -/* DesignId : ADC_DesignId_014 */ -/* Requirements : HL_SR529 */ -void adcSetEVTPin(adcBASE_t *adc, uint32 value) -{ - adc->EVTOUT = value; -} - -/** @fn uint32 adcGetEVTPin(adcBASE_t *adc) -* @brief Set ADCEVT pin -* @param[in] adc Pointer to ADC module: -* - adcREG1: ADC1 module pointer -* @return Value of the ADC EVT pin: 0 or 1 -* -* This function will return the value of ADC EVT pin. -*/ -/* SourceId : ADC_SourceId_021 */ -/* DesignId : ADC_DesignId_015 */ -/* Requirements : HL_SR529 */ -uint32 adcGetEVTPin(adcBASE_t *adc) -{ - return adc->EVTIN; -} - -/** @fn void adc1GetConfigValue(adc_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : ADC_SourceId_012 */ -/* DesignId : ADC_DesignId_012 */ -/* Requirements : HL_SR203 */ -void adc1GetConfigValue(adc_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_OPMODECR = ADC1_OPMODECR_CONFIGVALUE; - config_reg->CONFIG_CLOCKCR = ADC1_CLOCKCR_CONFIGVALUE; - config_reg->CONFIG_GxMODECR[0U] = ADC1_G0MODECR_CONFIGVALUE; - config_reg->CONFIG_GxMODECR[1U] = ADC1_G1MODECR_CONFIGVALUE; - config_reg->CONFIG_GxMODECR[2U] = ADC1_G2MODECR_CONFIGVALUE; - config_reg->CONFIG_G0SRC = ADC1_G0SRC_CONFIGVALUE; - config_reg->CONFIG_G1SRC = ADC1_G1SRC_CONFIGVALUE; - config_reg->CONFIG_G2SRC = ADC1_G2SRC_CONFIGVALUE; - config_reg->CONFIG_BNDCR = ADC1_BNDCR_CONFIGVALUE; - config_reg->CONFIG_BNDEND = ADC1_BNDEND_CONFIGVALUE; - config_reg->CONFIG_G0SAMP = ADC1_G0SAMP_CONFIGVALUE; - config_reg->CONFIG_G1SAMP = ADC1_G1SAMP_CONFIGVALUE; - config_reg->CONFIG_G2SAMP = ADC1_G2SAMP_CONFIGVALUE; - config_reg->CONFIG_G0SAMPDISEN = ADC1_G0SAMPDISEN_CONFIGVALUE; - config_reg->CONFIG_G1SAMPDISEN = ADC1_G1SAMPDISEN_CONFIGVALUE; - config_reg->CONFIG_G2SAMPDISEN = ADC1_G2SAMPDISEN_CONFIGVALUE; - config_reg->CONFIG_PARCR = ADC1_PARCR_CONFIGVALUE; - } - else - { - config_reg->CONFIG_OPMODECR = adcREG1->OPMODECR; - config_reg->CONFIG_CLOCKCR = adcREG1->CLOCKCR; - config_reg->CONFIG_GxMODECR[0U] = adcREG1->GxMODECR[0U]; - config_reg->CONFIG_GxMODECR[1U] = adcREG1->GxMODECR[1U]; - config_reg->CONFIG_GxMODECR[2U] = adcREG1->GxMODECR[2U]; - config_reg->CONFIG_G0SRC = adcREG1->EVSRC; - config_reg->CONFIG_G1SRC = adcREG1->G1SRC; - config_reg->CONFIG_G2SRC = adcREG1->G2SRC; - config_reg->CONFIG_BNDCR = adcREG1->BNDCR; - config_reg->CONFIG_BNDEND = adcREG1->BNDEND; - config_reg->CONFIG_G0SAMP = adcREG1->EVSAMP; - config_reg->CONFIG_G1SAMP = adcREG1->G1SAMP; - config_reg->CONFIG_G2SAMP = adcREG1->G2SAMP; - config_reg->CONFIG_G0SAMPDISEN = adcREG1->EVSAMPDISEN; - config_reg->CONFIG_G1SAMPDISEN = adcREG1->G1SAMPDISEN; - config_reg->CONFIG_G2SAMPDISEN = adcREG1->G2SAMPDISEN; - config_reg->CONFIG_PARCR = adcREG1->PARCR; - } -} - - -/* USER CODE BEGIN (35) */ -/* USER CODE END */ - - - - - - +/** @file adc.c +* @brief ADC Driver Source File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - API Functions +* - Interrupt Handlers +* . +* which are relevant for the ADC driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Include Files */ + +#include "adc.h" +#include "sys_vim.h" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +/** @fn void adcInit(void) +* @brief Initializes ADC Driver +* +* This function initializes the ADC driver. +* +*/ +/* USER CODE BEGIN (2) */ +/* USER CODE END */ +/* SourceId : ADC_SourceId_001 */ +/* DesignId : ADC_DesignId_001 */ +/* Requirements : HL_SR185 */ +void adcInit(void) +{ +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + + /** @b Initialize @b ADC1: */ + + /** - Reset ADC module */ + adcREG1->RSTCR = 1U; + adcREG1->RSTCR = 0U; + + /** - Enable 12-BIT ADC */ + adcREG1->OPMODECR |= 0x80000000U; + + /** - Setup prescaler */ + adcREG1->CLOCKCR = 7U; + + /** - Setup memory boundaries */ + adcREG1->BNDCR = (uint32)((uint32)8U << 16U) | (8U + 8U); + adcREG1->BNDEND = (adcREG1->BNDEND & 0xFFFF0000U) | (2U); + + /** - Setup event group conversion mode + * - Setup data format + * - Enable/Disable channel id in conversion result + * - Enable/Disable continuous conversion + */ + adcREG1->GxMODECR[0U] = (uint32)ADC_12_BIT + | (uint32)0x00000000U + | (uint32)0x00000000U; + + /** - Setup event group hardware trigger + * - Setup hardware trigger edge + * - Setup hardware trigger source + */ + adcREG1->EVSRC = (uint32)0x00000000U + | (uint32)ADC1_EVENT; + + /** - Setup event group sample window */ + adcREG1->EVSAMP = 1U; + + /** - Setup event group sample discharge + * - Setup discharge prescaler + * - Enable/Disable discharge + */ + adcREG1->EVSAMPDISEN = (uint32)((uint32)0U << 8U) + | (uint32)0x00000000U; + + /** - Setup group 1 conversion mode + * - Setup data format + * - Enable/Disable channel id in conversion result + * - Enable/Disable continuous conversion + */ + adcREG1->GxMODECR[1U] = (uint32)ADC_12_BIT + | (uint32)0x00000000U + | (uint32)0x00000000U + | (uint32)0x00000000U; + + /** - Setup group 1 hardware trigger + * - Setup hardware trigger edge + * - Setup hardware trigger source + */ + adcREG1->G1SRC = (uint32)0x00000000U + | (uint32)ADC1_EVENT; + + /** - Setup group 1 sample window */ + adcREG1->G1SAMP = 1U; + + /** - Setup group 1 sample discharge + * - Setup discharge prescaler + * - Enable/Disable discharge + */ + adcREG1->G1SAMPDISEN = (uint32)((uint32)0U << 8U) + | (uint32)0x00000000U; + + /** - Setup group 2 conversion mode + * - Setup data format + * - Enable/Disable channel id in conversion result + * - Enable/Disable continuous conversion + */ + adcREG1->GxMODECR[2U] = (uint32)ADC_12_BIT + | (uint32)0x00000000U + | (uint32)0x00000000U + | (uint32)0x00000000U; + + /** - Setup group 2 hardware trigger + * - Setup hardware trigger edge + * - Setup hardware trigger source + */ + adcREG1->G2SRC = (uint32)0x00000000U + | (uint32)ADC1_EVENT; + + /** - Setup group 2 sample window */ + adcREG1->G2SAMP = 1U; + + /** - Setup group 2 sample discharge + * - Setup discharge prescaler + * - Enable/Disable discharge + */ + adcREG1->G2SAMPDISEN = (uint32)((uint32)0U << 8U) + | (uint32)0x00000000U; + + /** - ADC1 EVT pin output value */ + adcREG1->EVTOUT = 0U; + + /** - ADC1 EVT pin direction */ + adcREG1->EVTDIR = 0U; + + /** - ADC1 EVT pin open drain enable */ + adcREG1->EVTPDR = 0U; + + /** - ADC1 EVT pin pullup / pulldown selection */ + adcREG1->EVTPSEL = 1U; + + /** - ADC1 EVT pin pullup / pulldown enable*/ + adcREG1->EVTDIS = 0U; + + /** - Enable ADC module */ + adcREG1->OPMODECR |= 0x80140001U; + + /** - Wait for buffer initialization complete */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while (((adcREG1->BNDEND & 0xFFFF0000U) >> 16U ) != 0U) + { + } /* Wait */ + + /** - Setup parity */ + adcREG1->PARCR = 0x00000005U; + + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + + +/** - s_adcSelect is used as constant table for channel selection */ +static const uint32 s_adcSelect[2U][3U] = +{ + {0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U, + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00008000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U, + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U}, + {0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U , + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U, + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U | + 0x00000000U} +}; + +/** - s_adcFiFoSize is used as constant table for channel selection */ +static const uint32 s_adcFiFoSize[2U][3U] = +{ + {16U, + 1U, + 16U}, + {16U, + 16U, + 16U} +}; + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + +/** @fn void adcStartConversion(adcBASE_t *adc, uint32 group) +* @brief Starts an ADC conversion +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @param[in] group Hardware group of ADC module: +* - adcGROUP0: ADC event group +* - adcGROUP1: ADC group 1 +* - adcGROUP2: ADC group 2 +* +* This function starts a conversion of the ADC hardware group. +* +*/ +/* SourceId : ADC_SourceId_002 */ +/* DesignId : ADC_DesignId_002 */ +/* Requirements : HL_SR186 */ +void adcStartConversion(adcBASE_t *adc, uint32 group) +{ + uint32 index = (adc == adcREG1) ? 0U : 1U; + +/* USER CODE BEGIN (7) */ +/* USER CODE END */ + + /** - Setup FiFo size */ + adc->GxINTCR[group] = s_adcFiFoSize[index][group]; + + /** - Start Conversion */ + adc->GxSEL[group] = s_adcSelect[index][group]; + + /** @note The function adcInit has to be called before this function can be used. */ + +/* USER CODE BEGIN (8) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (9) */ +/* USER CODE END */ + + +/** @fn void adcStopConversion(adcBASE_t *adc, uint32 group) +* @brief Stops an ADC conversion +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @param[in] group Hardware group of ADC module: +* - adcGROUP0: ADC event group +* - adcGROUP1: ADC group 1 +* - adcGROUP2: ADC group 2 +* +* This function stops a conversion of the ADC hardware group. +* +*/ +/* SourceId : ADC_SourceId_003 */ +/* DesignId : ADC_DesignId_003 */ +/* Requirements : HL_SR187 */ +void adcStopConversion(adcBASE_t *adc, uint32 group) +{ +/* USER CODE BEGIN (10) */ +/* USER CODE END */ + + /** - Stop Conversion */ + adc->GxSEL[group] = 0U; + + /** @note The function adcInit has to be called before this function can be used. */ + +/* USER CODE BEGIN (11) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (12) */ +/* USER CODE END */ + + +/** @fn void adcResetFiFo(adcBASE_t *adc, uint32 group) +* @brief Resets FiFo read and write pointer. +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @param[in] group Hardware group of ADC module: +* - adcGROUP0: ADC event group +* - adcGROUP1: ADC group 1 +* - adcGROUP2: ADC group 2 +* +* This function resets the FiFo read and write pointers. +* +*/ +/* SourceId : ADC_SourceId_004 */ +/* DesignId : ADC_DesignId_004*/ +/* Requirements : HL_SR188 */ +void adcResetFiFo(adcBASE_t *adc, uint32 group) +{ +/* USER CODE BEGIN (13) */ +/* USER CODE END */ + + /** - Reset FiFo */ + adc->GxFIFORESETCR[group] = 1U; + + /** @note The function adcInit has to be called before this function can be used.\n + * the conversion should be stopped before calling this function. + */ + +/* USER CODE BEGIN (14) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (15) */ +/* USER CODE END */ + + +/** @fn uint32 adcGetData(adcBASE_t *adc, uint32 group, adcData_t * data) +* @brief Gets converted a ADC values +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @param[in] group Hardware group of ADC module: +* - adcGROUP0: ADC event group +* - adcGROUP1: ADC group 1 +* - adcGROUP2: ADC group 2 +* @param[out] data Pointer to store ADC converted data +* @return The function will return the number of converted values copied into data buffer: +* +* This function writes a ADC message into a ADC message box. +* +*/ +/* SourceId : ADC_SourceId_005 */ +/* DesignId : ADC_DesignId_005 */ +/* Requirements : HL_SR189 */ +uint32 adcGetData(adcBASE_t *adc, uint32 group, adcData_t * data) +{ + uint32 i; + uint32 buf; + uint32 mode; + uint32 index = (adc == adcREG1) ? 0U : 1U; + + uint32 intcr_reg = adc->GxINTCR[group]; + uint32 count = (intcr_reg >= 256U) ? s_adcFiFoSize[index][group] : (s_adcFiFoSize[index][group] - (uint32)(intcr_reg & 0xFFU)); + adcData_t *ptr = data; + +/* USER CODE BEGIN (16) */ +/* USER CODE END */ + + mode = (adc->OPMODECR & ADC_12_BIT_MODE); + + if(mode == ADC_12_BIT_MODE) + { + /** - Get conversion data and channel/pin id */ + for (i = 0U; i < count; i++) + { + buf = adc->GxBUF[group].BUF0; + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + ptr->value = (uint16)(buf & 0xFFFU); + ptr->id = (uint32)((buf >> 16U) & 0x1FU); + /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ + ptr++; + } + } + else + { + /** - Get conversion data and channel/pin id */ + for (i = 0U; i < count; i++) + { + buf = adc->GxBUF[group].BUF0; + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + ptr->value = (uint16)(buf & 0x3FFU); + ptr->id = (uint32)((buf >> 10U) & 0x1FU); + /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ + ptr++; + } + } + + + adc->GxINTFLG[group] = 9U; + + /** @note The function adcInit has to be called before this function can be used.\n + * The user is responsible to initialize the message box. + */ + +/* USER CODE BEGIN (17) */ +/* USER CODE END */ + + return count; +} + +/* USER CODE BEGIN (18) */ +/* USER CODE END */ + + +/** @fn uint32 adcIsFifoFull(adcBASE_t *adc, uint32 group) +* @brief Checks if FiFo buffer is full +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @param[in] group Hardware group of ADC module: +* - adcGROUP0: ADC event group +* - adcGROUP1: ADC group 1 +* - adcGROUP2: ADC group 2 +* @return The function will return: +* - 0: When FiFo buffer is not full +* - 1: When FiFo buffer is full +* - 3: When FiFo buffer overflow occurred +* +* This function checks FiFo buffer status. +* +*/ +/* SourceId : ADC_SourceId_006 */ +/* DesignId : ADC_DesignId_006 */ +/* Requirements : HL_SR190 */ +uint32 adcIsFifoFull(adcBASE_t *adc, uint32 group) +{ + uint32 flags; + +/* USER CODE BEGIN (19) */ +/* USER CODE END */ + + /** - Read FiFo flags */ + flags = adc->GxINTFLG[group] & 3U; + + /** @note The function adcInit has to be called before this function can be used. */ + +/* USER CODE BEGIN (20) */ +/* USER CODE END */ + + return flags; +} + +/* USER CODE BEGIN (21) */ +/* USER CODE END */ + + +/** @fn uint32 adcIsConversionComplete(adcBASE_t *adc, uint32 group) +* @brief Checks if Conversion is complete +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @param[in] group Hardware group of ADC module: +* - adcGROUP0: ADC event group +* - adcGROUP1: ADC group 1 +* - adcGROUP2: ADC group 2 +* @return The function will return: +* - 0: When is not finished +* - 8: When conversion is complete +* +* This function checks if conversion is complete. +* +*/ +/* SourceId : ADC_SourceId_007 */ +/* DesignId : ADC_DesignId_007 */ +/* Requirements : HL_SR191 */ +uint32 adcIsConversionComplete(adcBASE_t *adc, uint32 group) +{ + uint32 flags; + +/* USER CODE BEGIN (22) */ +/* USER CODE END */ + + /** - Read conversion flags */ + flags = adc->GxINTFLG[group] & 8U; + + /** @note The function adcInit has to be called before this function can be used. */ + +/* USER CODE BEGIN (23) */ +/* USER CODE END */ + + return flags; +} + +/* USER CODE BEGIN (24) */ +/* USER CODE END */ + +/** @fn void adcCalibration(adcBASE_t *adc) +* @brief Computes offset error using Calibration mode +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* This function computes offset error using Calibration mode +* +*/ +/* SourceId : ADC_SourceId_008 */ +/* DesignId : ADC_DesignId_010 */ +/* Requirements : HL_SR194 */ +void adcCalibration(adcBASE_t *adc) +{ +/* USER CODE BEGIN (25) */ +/* USER CODE END */ + + uint32 conv_val[5U]={0U,0U,0U,0U,0U}; + uint32 loop_index=0U; + uint32 offset_error=0U; + uint32 backup_mode; + + /** - Backup Mode before Calibration */ + backup_mode = adc->OPMODECR; + + /** - Enable 12-BIT ADC */ + adc->OPMODECR |= 0x80000000U; + + /* Disable all channels for conversion */ + adc->GxSEL[0U]=0x00U; + adc->GxSEL[1U]=0x00U; + adc->GxSEL[2U]=0x00U; + + for(loop_index=0U;loop_index<4U;loop_index++) + { + /* Disable Self Test and Calibration mode */ + adc->CALCR=0x0U; + + switch(loop_index) + { + case 0U : /* Test 1 : Bride En = 0 , HiLo =0 */ + adc->CALCR=0x0U; + break; + + case 1U : /* Test 1 : Bride En = 0 , HiLo =1 */ + adc->CALCR=0x0100U; + break; + + case 2U : /* Test 1 : Bride En = 1 , HiLo =0 */ + adc->CALCR=0x0200U; + break; + + case 3U : /* Test 1 : Bride En = 1 , HiLo =1 */ + adc->CALCR=0x0300U; + break; + default : + break; + } + + /* Enable Calibration mode */ + adc->CALCR|=0x1U; + + /* Start calibration conversion */ + adc->CALCR|=0x00010000U; + + /* Wait for calibration conversion to complete */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((adc->CALCR & 0x00010000U)==0x00010000U) + { + } /* Wait */ + + /* Read converted value */ + conv_val[loop_index]= adc->CALR; + } + + /* Disable Self Test and Calibration mode */ + adc->CALCR=0x0U; + + /* Compute the Offset error correction value */ + conv_val[4U]=conv_val[0U]+ conv_val[1U] + conv_val[2U] + conv_val[3U]; + + conv_val[4U]=(conv_val[4U]/4U); + + offset_error=conv_val[4U]-0x7FFU; + + /*Write the offset error to the Calibration register */ + /* Load 2;s complement of the computed value to ADCALR register */ + offset_error=~offset_error; + offset_error=offset_error & 0xFFFU; + offset_error=offset_error+1U; + + adc->CALR = offset_error; + + /** - Restore Mode after Calibration */ + adc->OPMODECR = backup_mode; + + /** @note The function adcInit has to be called before using this function. */ + +/* USER CODE BEGIN (26) */ +/* USER CODE END */ +} + + +/** @fn void adcMidPointCalibration(adcBASE_t *adc) +* @brief Computes offset error using Mid Point Calibration mode +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @return This function will return offset error using Mid Point Calibration mode +* +* This function computes offset error using Mid Point Calibration mode +* +*/ +/* SourceId : ADC_SourceId_009 */ +/* DesignId : ADC_DesignId_011 */ +/* Requirements : HL_SR195 */ +uint32 adcMidPointCalibration(adcBASE_t *adc) +{ +/* USER CODE BEGIN (27) */ +/* USER CODE END */ + + uint32 conv_val[3U]={0U,0U,0U}; + uint32 loop_index=0U; + uint32 offset_error=0U; + uint32 backup_mode; + + /** - Backup Mode before Calibration */ + backup_mode = adc->OPMODECR; + + /** - Enable 12-BIT ADC */ + adc->OPMODECR |= 0x80000000U; + + /* Disable all channels for conversion */ + adc->GxSEL[0U]=0x00U; + adc->GxSEL[1U]=0x00U; + adc->GxSEL[2U]=0x00U; + + for(loop_index=0U;loop_index<2U;loop_index++) + { + /* Disable Self Test and Calibration mode */ + adc->CALCR=0x0U; + + switch(loop_index) + { + case 0U : /* Test 1 : Bride En = 0 , HiLo =0 */ + adc->CALCR=0x0U; + break; + + case 1U : /* Test 1 : Bride En = 0 , HiLo =1 */ + adc->CALCR=0x0100U; + break; + + default : + break; + + } + + /* Enable Calibration mode */ + adc->CALCR|=0x1U; + + /* Start calibration conversion */ + adc->CALCR|=0x00010000U; + + /* Wait for calibration conversion to complete */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((adc->CALCR & 0x00010000U)==0x00010000U) + { + } /* Wait */ + + /* Read converted value */ + conv_val[loop_index]= adc->CALR; + } + + /* Disable Self Test and Calibration mode */ + adc->CALCR=0x0U; + + /* Compute the Offset error correction value */ + conv_val[2U]=(conv_val[0U])+ (conv_val[1U]); + + conv_val[2U]=(conv_val[2U]/2U); + + offset_error=conv_val[2U]-0x7FFU; + + /* Write the offset error to the Calibration register */ + /* Load 2's complement of the computed value to ADCALR register */ + offset_error=~offset_error; + offset_error=offset_error+1U; + offset_error=offset_error & 0xFFFU; + + adc->CALR = offset_error; + + /** - Restore Mode after Calibration */ + adc->OPMODECR = backup_mode; + + return(offset_error); + + /** @note The function adcInit has to be called before this function can be used. */ + +/* USER CODE BEGIN (28) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (29) */ +/* USER CODE END */ + +/** @fn void adcEnableNotification(adcBASE_t *adc, uint32 group) +* @brief Enable notification +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @param[in] group Hardware group of ADC module: +* - adcGROUP0: ADC event group +* - adcGROUP1: ADC group 1 +* - adcGROUP2: ADC group 2 +* +* This function will enable the notification of a conversion. +* In single conversion mode for conversion complete and +* in continuous conversion mode when the FiFo buffer is full. +* +*/ +/* SourceId : ADC_SourceId_010 */ +/* DesignId : ADC_DesignId_008 */ +/* Requirements : HL_SR192 */ +void adcEnableNotification(adcBASE_t *adc, uint32 group) +{ + uint32 notif = (((uint32)(adc->GxMODECR[group]) & 2U) == 2U) ? 1U : 8U; + +/* USER CODE BEGIN (30) */ +/* USER CODE END */ + + adc->GxINTENA[group] = notif; + + /** @note The function adcInit has to be called before this function can be used.\n + * This function should be called before the conversion is started + */ + +/* USER CODE BEGIN (31) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (32) */ +/* USER CODE END */ + + +/** @fn void adcDisableNotification(adcBASE_t *adc, uint32 group) +* @brief Disable notification +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* - adcREG2: ADC2 module pointer +* @param[in] group Hardware group of ADC module: +* - adcGROUP0: ADC event group +* - adcGROUP1: ADC group 1 +* - adcGROUP2: ADC group 2 +* +* This function will disable the notification of a conversion. +*/ +/* SourceId : ADC_SourceId_011 */ +/* DesignId : ADC_DesignId_009 */ +/* Requirements : HL_SR193 */ +void adcDisableNotification(adcBASE_t *adc, uint32 group) +{ +/* USER CODE BEGIN (33) */ +/* USER CODE END */ + + adc->GxINTENA[group] = 0U; + + /** @note The function adcInit has to be called before this function can be used. */ + +/* USER CODE BEGIN (34) */ +/* USER CODE END */ +} + +/** @fn void adcSetEVTPin(adcBASE_t *adc, uint32 value) +* @brief Set ADCEVT pin +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* @param[in] value Value to be set: 0 or 1 +* +* This function will set the ADC EVT pin if configured as an output pin. +*/ +/* SourceId : ADC_SourceId_020 */ +/* DesignId : ADC_DesignId_014 */ +/* Requirements : HL_SR529 */ +void adcSetEVTPin(adcBASE_t *adc, uint32 value) +{ + adc->EVTOUT = value; +} + +/** @fn uint32 adcGetEVTPin(adcBASE_t *adc) +* @brief Set ADCEVT pin +* @param[in] adc Pointer to ADC module: +* - adcREG1: ADC1 module pointer +* @return Value of the ADC EVT pin: 0 or 1 +* +* This function will return the value of ADC EVT pin. +*/ +/* SourceId : ADC_SourceId_021 */ +/* DesignId : ADC_DesignId_015 */ +/* Requirements : HL_SR529 */ +uint32 adcGetEVTPin(adcBASE_t *adc) +{ + return adc->EVTIN; +} + +/** @fn void adc1GetConfigValue(adc_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : ADC_SourceId_012 */ +/* DesignId : ADC_DesignId_012 */ +/* Requirements : HL_SR203 */ +void adc1GetConfigValue(adc_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_OPMODECR = ADC1_OPMODECR_CONFIGVALUE; + config_reg->CONFIG_CLOCKCR = ADC1_CLOCKCR_CONFIGVALUE; + config_reg->CONFIG_GxMODECR[0U] = ADC1_G0MODECR_CONFIGVALUE; + config_reg->CONFIG_GxMODECR[1U] = ADC1_G1MODECR_CONFIGVALUE; + config_reg->CONFIG_GxMODECR[2U] = ADC1_G2MODECR_CONFIGVALUE; + config_reg->CONFIG_G0SRC = ADC1_G0SRC_CONFIGVALUE; + config_reg->CONFIG_G1SRC = ADC1_G1SRC_CONFIGVALUE; + config_reg->CONFIG_G2SRC = ADC1_G2SRC_CONFIGVALUE; + config_reg->CONFIG_BNDCR = ADC1_BNDCR_CONFIGVALUE; + config_reg->CONFIG_BNDEND = ADC1_BNDEND_CONFIGVALUE; + config_reg->CONFIG_G0SAMP = ADC1_G0SAMP_CONFIGVALUE; + config_reg->CONFIG_G1SAMP = ADC1_G1SAMP_CONFIGVALUE; + config_reg->CONFIG_G2SAMP = ADC1_G2SAMP_CONFIGVALUE; + config_reg->CONFIG_G0SAMPDISEN = ADC1_G0SAMPDISEN_CONFIGVALUE; + config_reg->CONFIG_G1SAMPDISEN = ADC1_G1SAMPDISEN_CONFIGVALUE; + config_reg->CONFIG_G2SAMPDISEN = ADC1_G2SAMPDISEN_CONFIGVALUE; + config_reg->CONFIG_PARCR = ADC1_PARCR_CONFIGVALUE; + } + else + { + config_reg->CONFIG_OPMODECR = adcREG1->OPMODECR; + config_reg->CONFIG_CLOCKCR = adcREG1->CLOCKCR; + config_reg->CONFIG_GxMODECR[0U] = adcREG1->GxMODECR[0U]; + config_reg->CONFIG_GxMODECR[1U] = adcREG1->GxMODECR[1U]; + config_reg->CONFIG_GxMODECR[2U] = adcREG1->GxMODECR[2U]; + config_reg->CONFIG_G0SRC = adcREG1->EVSRC; + config_reg->CONFIG_G1SRC = adcREG1->G1SRC; + config_reg->CONFIG_G2SRC = adcREG1->G2SRC; + config_reg->CONFIG_BNDCR = adcREG1->BNDCR; + config_reg->CONFIG_BNDEND = adcREG1->BNDEND; + config_reg->CONFIG_G0SAMP = adcREG1->EVSAMP; + config_reg->CONFIG_G1SAMP = adcREG1->G1SAMP; + config_reg->CONFIG_G2SAMP = adcREG1->G2SAMP; + config_reg->CONFIG_G0SAMPDISEN = adcREG1->EVSAMPDISEN; + config_reg->CONFIG_G1SAMPDISEN = adcREG1->G1SAMPDISEN; + config_reg->CONFIG_G2SAMPDISEN = adcREG1->G2SAMPDISEN; + config_reg->CONFIG_PARCR = adcREG1->PARCR; + } +} + + +/* USER CODE BEGIN (35) */ +/* USER CODE END */ + + + + + + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/dabort.asm b/TestBoardFirmware/Testboard_HAL_drivers/source/dabort.asm index 039bedd2..32453fa1 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/dabort.asm +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/dabort.asm @@ -1,146 +1,146 @@ -;------------------------------------------------------------------------------- -; dabort.asm -; -; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -; -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; -; Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; -; Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the -; distribution. -; -; Neither the name of Texas Instruments Incorporated nor the names of -; its contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -; -; -; - - .text - .arm - - -;------------------------------------------------------------------------------- -; Run Memory Test - - .ref custom_dabort - .def _dabort - .asmfunc - -_dabort - stmfd r13!, {r0 - r12, lr}; push registers and link register on to stack - - ldr r12, esmsr3 ; ESM Group3 status register - ldr r0, [r12] - tst r0, #0x8 ; check if bit 3 is set, this indicates uncorrectable ECC error on B0TCM - bne ramErrorFound - tst r0, #0x20 ; check if bit 5 is set, this indicates uncorrectable ECC error on B1TCM - bne ramErrorFound2 - -noRAMerror - tst r0, #0x80 ; check if bit 7 is set, this indicates uncorrectable ECC error on ATCM - bne flashErrorFound - - bl custom_dabort ; custom data abort handler required - ; If this custom handler is written in assembly, all registers used in the routine - ; and the link register must be saved on to the stack upon entry, and restored before - ; return from the routine. - - ldmfd r13!, {r0 - r12, lr}; pop registers and link register from stack - subs pc, lr, #8 ; restore state of CPU when abort occurred, and branch back to instruction that was aborted - -ramErrorFound - ldr r1, ramctrl ; RAM control register for B0TCM TCRAMW - ldr r2, [r1] - tst r2, #0x100 ; check if bit 8 is set in RAMCTRL, this indicates ECC memory write is enabled - beq ramErrorReal - mov r2, #0x20 - str r2, [r1, #0x10] ; clear RAM error status register - - mov r2, #0x08 - str r2, [r12] ; clear ESM group3 channel3 flag for uncorrectable RAM ECC errors - mov r2, #5 - str r2, [r12, #0x18] ; The nERROR pin will become inactive once the LTC counter expires - - ldmfd r13!, {r0 - r12, lr} - subs pc, lr, #4 ; branch to instruction after the one that caused the abort - ; this is the case because the data abort was caused intentionally - ; and we do not want to cause the same data abort again. - -ramErrorFound2 - ldr r1, ram2ctrl ; RAM control register for B1TCM TCRAMW - ldr r2, [r1] - tst r2, #0x100 ; check if bit 8 is set in RAMCTRL, this indicates ECC memory write is enabled - beq ramErrorReal - mov r2, #0x20 - str r2, [r1, #0x10] ; clear RAM error status register - - mov r2, #0x20 - str r2, [r12] ; clear ESM group3 flags channel5 flag for uncorrectable RAM ECC errors - mov r2, #5 - str r2, [r12, #0x18] ; The nERROR pin will become inactive once the LTC counter expires - - ldmfd r13!, {r0 - r12, lr} - subs pc, lr, #4 ; branch to instruction after the one that caused the abort - ; this is the case because the data abort was caused intentionally - ; and we do not want to cause the same data abort again. - - -ramErrorReal - b ramErrorReal ; branch here forever as continuing operation is not recommended - -flashErrorFound - ldr r1, flashbase - ldr r2, [r1, #0x6C] ; read FDIAGCTRL register - - mov r2, r2, lsr #16 - tst r2, #5 ; check if bits 19:16 are 5, this indicates diagnostic mode is enabled - beq flashErrorReal - mov r2, #1 - mov r2, r2, lsl #8 - - str r2, [r1, #0x1C] ; clear FEDACSTATUS error flag - - mov r2, #0x80 - str r2, [r12] ; clear ESM group3 flag for uncorrectable flash ECC error - mov r2, #5 - str r2, [r12, #0x18] ; The nERROR pin will become inactive once the LTC counter expires - - ldmfd r13!, {r0 - r12, lr} - subs pc, lr, #4 ; branch to instruction after the one that caused the abort - ; this is the case because the data abort was caused intentionally - ; and we do not want to cause the same data abort again. - - -flashErrorReal - b flashErrorReal ; branch here forever as continuing operation is not recommended - -esmsr3 .word 0xFFFFF520 -ramctrl .word 0xFFFFF800 -ram2ctrl .word 0xFFFFF900 -ram1errstat .word 0xFFFFF810 -ram2errstat .word 0xFFFFF910 -flashbase .word 0xFFF87000 - - .endasmfunc - - +;------------------------------------------------------------------------------- +; dabort.asm +; +; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +; +; +; Redistribution and use in source and binary forms, with or without +; modification, are permitted provided that the following conditions +; are met: +; +; Redistributions of source code must retain the above copyright +; notice, this list of conditions and the following disclaimer. +; +; Redistributions in binary form must reproduce the above copyright +; notice, this list of conditions and the following disclaimer in the +; documentation and/or other materials provided with the +; distribution. +; +; Neither the name of Texas Instruments Incorporated nor the names of +; its contributors may be used to endorse or promote products derived +; from this software without specific prior written permission. +; +; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +; +; +; + + .text + .arm + + +;------------------------------------------------------------------------------- +; Run Memory Test + + .ref custom_dabort + .def _dabort + .asmfunc + +_dabort + stmfd r13!, {r0 - r12, lr}; push registers and link register on to stack + + ldr r12, esmsr3 ; ESM Group3 status register + ldr r0, [r12] + tst r0, #0x8 ; check if bit 3 is set, this indicates uncorrectable ECC error on B0TCM + bne ramErrorFound + tst r0, #0x20 ; check if bit 5 is set, this indicates uncorrectable ECC error on B1TCM + bne ramErrorFound2 + +noRAMerror + tst r0, #0x80 ; check if bit 7 is set, this indicates uncorrectable ECC error on ATCM + bne flashErrorFound + + bl custom_dabort ; custom data abort handler required + ; If this custom handler is written in assembly, all registers used in the routine + ; and the link register must be saved on to the stack upon entry, and restored before + ; return from the routine. + + ldmfd r13!, {r0 - r12, lr}; pop registers and link register from stack + subs pc, lr, #8 ; restore state of CPU when abort occurred, and branch back to instruction that was aborted + +ramErrorFound + ldr r1, ramctrl ; RAM control register for B0TCM TCRAMW + ldr r2, [r1] + tst r2, #0x100 ; check if bit 8 is set in RAMCTRL, this indicates ECC memory write is enabled + beq ramErrorReal + mov r2, #0x20 + str r2, [r1, #0x10] ; clear RAM error status register + + mov r2, #0x08 + str r2, [r12] ; clear ESM group3 channel3 flag for uncorrectable RAM ECC errors + mov r2, #5 + str r2, [r12, #0x18] ; The nERROR pin will become inactive once the LTC counter expires + + ldmfd r13!, {r0 - r12, lr} + subs pc, lr, #4 ; branch to instruction after the one that caused the abort + ; this is the case because the data abort was caused intentionally + ; and we do not want to cause the same data abort again. + +ramErrorFound2 + ldr r1, ram2ctrl ; RAM control register for B1TCM TCRAMW + ldr r2, [r1] + tst r2, #0x100 ; check if bit 8 is set in RAMCTRL, this indicates ECC memory write is enabled + beq ramErrorReal + mov r2, #0x20 + str r2, [r1, #0x10] ; clear RAM error status register + + mov r2, #0x20 + str r2, [r12] ; clear ESM group3 flags channel5 flag for uncorrectable RAM ECC errors + mov r2, #5 + str r2, [r12, #0x18] ; The nERROR pin will become inactive once the LTC counter expires + + ldmfd r13!, {r0 - r12, lr} + subs pc, lr, #4 ; branch to instruction after the one that caused the abort + ; this is the case because the data abort was caused intentionally + ; and we do not want to cause the same data abort again. + + +ramErrorReal + b ramErrorReal ; branch here forever as continuing operation is not recommended + +flashErrorFound + ldr r1, flashbase + ldr r2, [r1, #0x6C] ; read FDIAGCTRL register + + mov r2, r2, lsr #16 + tst r2, #5 ; check if bits 19:16 are 5, this indicates diagnostic mode is enabled + beq flashErrorReal + mov r2, #1 + mov r2, r2, lsl #8 + + str r2, [r1, #0x1C] ; clear FEDACSTATUS error flag + + mov r2, #0x80 + str r2, [r12] ; clear ESM group3 flag for uncorrectable flash ECC error + mov r2, #5 + str r2, [r12, #0x18] ; The nERROR pin will become inactive once the LTC counter expires + + ldmfd r13!, {r0 - r12, lr} + subs pc, lr, #4 ; branch to instruction after the one that caused the abort + ; this is the case because the data abort was caused intentionally + ; and we do not want to cause the same data abort again. + + +flashErrorReal + b flashErrorReal ; branch here forever as continuing operation is not recommended + +esmsr3 .word 0xFFFFF520 +ramctrl .word 0xFFFFF800 +ram2ctrl .word 0xFFFFF900 +ram1errstat .word 0xFFFFF810 +ram2errstat .word 0xFFFFF910 +flashbase .word 0xFFF87000 + + .endasmfunc + + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/errata_SSWF021_45.c b/TestBoardFirmware/Testboard_HAL_drivers/source/errata_SSWF021_45.c index 36ff1abf..b07d9a70 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/errata_SSWF021_45.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/errata_SSWF021_45.c @@ -1,358 +1,358 @@ -/** @file errata_SSWF021_45.c -* @brief errata for PLLs -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ -#include "errata_SSWF021_45_defs.h" -#include "errata_SSWF021_45.h" - -static uint32 check_frequency(uint32 cnt1_clksrc); -static uint32 disable_plls(uint32 plls); - -/** @fn uint32 _errata_SSWF021_45_both_plls(uint32 count) -* @brief This handles the errata for PLL1 and PLL2. This function is called in device startup -* -* @param[in] count : Number of retries until both PLLs are locked successfully -* Minimum value recommended is 5 -* -* @return 0 = Success (the PLL or both PLLs have successfully locked and then been disabled) -* 1 = PLL1 failed to successfully lock in "count" tries -* 2 = PLL2 failed to successfully lock in "count" tries -* 3 = Neither PLL1 nor PLL2 successfully locked in "count" tries -* 4 = The workaround function was not able to disable at least one of the PLLs. The most likely reason - is that a PLL is already being used as a clock source. This can be caused by the workaround function - being called from the wrong place in the code. -*/ -uint32 _errata_SSWF021_45_both_plls(uint32 count) -{ - uint32 failCode,retries,clkCntlSav; - /* save CLKCNTL */ - clkCntlSav = systemREG1->CLKCNTL; - /* First set VCLK2 = HCLK */ - systemREG1->CLKCNTL = clkCntlSav & 0x000F0100U; - /* Now set VCLK = HCLK and enable peripherals */ - systemREG1->CLKCNTL = SYS_CLKCNTRL_PENA; - failCode = 0U; - for(retries = 0U;(retries < count);retries++) - { - failCode = 0U; - /* Disable PLL1 and PLL2 */ - failCode = disable_plls(SYS_CLKSRC_PLL1 | SYS_CLKSRC_PLL2); - if(failCode != 0U) - { - break; - } - - /* Clear Global Status Register */ - systemREG1->GBLSTAT = 0x00000301U; - /* Clear the ESM PLL slip flags */ - esmREG->SR1[0U] = ESM_SR1_PLL1SLIP; - esmREG->SR4[0U] = ESM_SR4_PLL2SLIP; - /* set both PLLs to OSCIN/1*27/(2*1) */ - systemREG1->PLLCTL1 = 0x20001A00U; - systemREG1->PLLCTL2 = 0x3FC0723DU; - systemREG2->PLLCTL3 = 0x20001A00U; - systemREG1->CSDISCLR = SYS_CLKSRC_PLL1 | SYS_CLKSRC_PLL2; - /* Check for (PLL1 valid or PLL1 slip) and (PLL2 valid or PLL2 slip) */ - while ((((systemREG1->CSVSTAT & SYS_CLKSRC_PLL1) == 0U) && ((esmREG->SR1[0U] & ESM_SR1_PLL1SLIP) == 0U)) || - (((systemREG1->CSVSTAT & SYS_CLKSRC_PLL2) == 0U) && ((esmREG->SR4[0U] & ESM_SR4_PLL2SLIP) == 0U))) - { - /* Wait */ - } - /* If PLL1 valid, check the frequency */ - if(((esmREG->SR1[0U] & ESM_SR1_PLL1SLIP) != 0U) || ((systemREG1->GBLSTAT & 0x00000300U) != 0U)) - { - failCode |= 1U; - } - else - { - failCode |= check_frequency(dcc1CNT1_CLKSRC_PLL1); - } - /* If PLL2 valid, check the frequency */ - if(((esmREG->SR4[0U] & ESM_SR4_PLL2SLIP) != 0U) || ((systemREG1->GBLSTAT & 0x00000300U) != 0U)) - { - failCode |= 2U; - } - else - { - failCode |= (check_frequency(dcc1CNT1_CLKSRC_PLL2) << 1U); - } - if (failCode == 0U) - { - break; - } - } - /* To avoid MISRA violation 382S - (void)missing for discarded return value */ - failCode = disable_plls(SYS_CLKSRC_PLL1 | SYS_CLKSRC_PLL2); - /* restore CLKCNTL, VCLKR and PENA first */ - systemREG1->CLKCNTL = (clkCntlSav & 0x000F0100U); - /* restore CLKCNTL, VCLK2R */ - systemREG1->CLKCNTL = clkCntlSav; - return failCode; -} -/** @fn uint32 _errata_SSWF021_45_pll1(uint32 count) -* @brief This handles the errata for PLL1. This function is called in device startup -* -* @param[in] count : Number of retries until both PLL1 is locked successfully -* Minimum value recommended is 5 -* -* @return 0 = Success (the PLL or both PLLs have successfully locked and then been disabled) -* 1 = PLL1 failed to successfully lock in "count" tries -* 2 = PLL2 failed to successfully lock in "count" tries -* 3 = Neither PLL1 nor PLL2 successfully locked in "count" tries -* 4 = The workaround function was not able to disable at least one of the PLLs. The most likely reason - is that a PLL is already being used as a clock source. This can be caused by the workaround function - being called from the wrong place in the code. -*/ -uint32 _errata_SSWF021_45_pll1(uint32 count) -{ - uint32 failCode,retries,clkCntlSav; - /* save CLKCNTL */ - clkCntlSav = systemREG1->CLKCNTL; - /* First set VCLK2 = HCLK */ - systemREG1->CLKCNTL = clkCntlSav & 0x000F0100U; - /* Now set VCLK = HCLK and enable peripherals */ - systemREG1->CLKCNTL = SYS_CLKCNTRL_PENA; - failCode = 0U; - for(retries = 0U;(retries < count);retries++) - { - failCode = 0U; - /* Disable PLL1 */ - failCode = disable_plls(SYS_CLKSRC_PLL1); - if(failCode != 0U) - { - break; - } - - /* Clear Global Status Register */ - systemREG1->GBLSTAT = 0x00000301U; - /* Clear the ESM PLL slip flags */ - esmREG->SR1[0U] = ESM_SR1_PLL1SLIP; - /* set PLL1 to OSCIN/1*27/(2*1) */ - systemREG1->PLLCTL1 = 0x20001A00U; - systemREG1->PLLCTL2 = 0x3FC0723DU; - systemREG1->CSDISCLR = SYS_CLKSRC_PLL1; - /* Check for PLL1 valid or PLL1 slip*/ - while(((systemREG1->CSVSTAT & SYS_CLKSRC_PLL1) == 0U) && ((esmREG->SR1[0U] & ESM_SR1_PLL1SLIP) == 0U)) - { - /* Wait */ - } - /* If PLL1 valid, check the frequency */ - if(((esmREG->SR1[0U] & ESM_SR1_PLL1SLIP) != 0U) || ((systemREG1->GBLSTAT & 0x00000300U) != 0U)) - { - failCode |= 1U; - } - else - { - failCode |= check_frequency(dcc1CNT1_CLKSRC_PLL1); - } - if (failCode == 0U) - { - break; - } - } - /* To avoid MISRA violation 382S - (void)missing for discarded return value */ - failCode = disable_plls(SYS_CLKSRC_PLL1); - - /* restore CLKCNTL, VCLKR and PENA first */ - systemREG1->CLKCNTL = (clkCntlSav & 0x000F0100U); - /* restore CLKCNTL, VCLK2R */ - systemREG1->CLKCNTL = clkCntlSav; - return failCode; -} -/** @fn uint32 _errata_SSWF021_45_pll2(uint32 count) -* @brief This handles the errata for PLL2. This function is called in device startup -* -* @param[in] count : Number of retries until PLL2 is locked successfully -* Minimum value recommended is 5 -* -* @return 0 = Success (the PLL or both PLLs have successfully locked and then been disabled) -* 1 = PLL1 failed to successfully lock in "count" tries -* 2 = PLL2 failed to successfully lock in "count" tries -* 3 = Neither PLL1 nor PLL2 successfully locked in "count" tries -* 4 = The workaround function was not able to disable at least one of the PLLs. The most likely reason - is that a PLL is already being used as a clock source. This can be caused by the workaround function - being called from the wrong place in the code. -*/ -uint32 _errata_SSWF021_45_pll2(uint32 count) -{ - uint32 failCode,retries,clkCntlSav; - /* save CLKCNTL */ - clkCntlSav = systemREG1->CLKCNTL; - /* First set VCLK2 = HCLK */ - systemREG1->CLKCNTL = clkCntlSav & 0x000F0100U; - /* Now set VCLK = HCLK and enable peripherals */ - systemREG1->CLKCNTL = SYS_CLKCNTRL_PENA; - failCode = 0U; - for(retries = 0U;(retries < count);retries++) - { - failCode = 0U; - /* Disable PLL2 */ - failCode = disable_plls(SYS_CLKSRC_PLL2); - if(failCode != 0U) - { - break; - } - - /* Clear Global Status Register */ - systemREG1->GBLSTAT = 0x00000301U; - /* Clear the ESM PLL slip flags */ - esmREG->SR4[0U] = ESM_SR4_PLL2SLIP; - /* set PLL2 to OSCIN/1*27/(2*1) */ - systemREG2->PLLCTL3 = 0x20001A00U; - systemREG1->CSDISCLR = SYS_CLKSRC_PLL2; - /* Check for PLL2 valid or PLL2 slip */ - while (((systemREG1->CSVSTAT & SYS_CLKSRC_PLL2) == 0U) && ((esmREG->SR4[0U] & ESM_SR4_PLL2SLIP) == 0U)) - { - /* Wait */ - } - /* If PLL2 valid, check the frequency */ - if(((esmREG->SR4[0U] & ESM_SR4_PLL2SLIP) != 0U) || ((systemREG1->GBLSTAT & 0x00000300U) != 0U)) - { - failCode |= 2U; - } - else - { - failCode |= (check_frequency(dcc1CNT1_CLKSRC_PLL2) << 1U); - } - if (failCode == 0U) - { - break; - } - } - /* To avoid MISRA violation 382S - (void)missing for discarded return value */ - failCode = disable_plls(SYS_CLKSRC_PLL2); - /* restore CLKCNTL, VCLKR and PENA first */ - systemREG1->CLKCNTL = (clkCntlSav & 0x000F0100U); - /* restore CLKCNTL, VCLK2R */ - systemREG1->CLKCNTL = clkCntlSav; - return failCode; -} -/** @fn uint32 check_frequency(uint32 cnt1_clksrc) -* @brief This function checks for the PLL frequency. -* -* @param[in] cnt1_clksrc : Clock source for Counter1 -* 0U - PLL1 (clock source 0) -* 1U - PLL2 (clock source 1) -* -* @return DCC Error status -* 0 - DCC error has not occurred -* 1 - DCC error has occurred -*/ -static uint32 check_frequency(uint32 cnt1_clksrc) -{ - /* Setup DCC1 */ - /** DCC1 Global Control register configuration */ - dccREG1->GCTRL = (uint32)0x5U | /** Disable DCC1 */ - (uint32)((uint32)0x5U << 4U) | /** No Error Interrupt */ - (uint32)((uint32)0xAU << 8U) | /** Single Shot mode */ - (uint32)((uint32)0x5U << 12U); /** No Done Interrupt */ - /* Clear ERR and DONE bits */ - dccREG1->STAT = 3U; - /** DCC1 Clock0 Counter Seed value configuration */ - dccREG1->CNT0SEED = 68U; - /** DCC1 Clock0 Valid Counter Seed value configuration */ - dccREG1->VALID0SEED = 4U; - /** DCC1 Clock1 Counter Seed value configuration */ - dccREG1->CNT1SEED = 972U; - /** DCC1 Clock1 Source 1 Select */ - dccREG1->CNT1CLKSRC = (uint32)((uint32)10U << 12U) | /** DCC Enable / Disable Key */ - (uint32) cnt1_clksrc; /** DCC1 Clock Source 1 */ - - dccREG1->CNT0CLKSRC = (uint32)DCC1_CNT0_OSCIN; /** DCC1 Clock Source 0 */ - - /** DCC1 Global Control register configuration */ - dccREG1->GCTRL = (uint32)0xAU | /** Enable DCC1 */ - (uint32)((uint32)0x5U << 4U) | /** No Error Interrupt */ - (uint32)((uint32)0xAU << 8U) | /** Single Shot mode */ - (uint32)((uint32)0x5U << 12U); /** No Done Interrupt */ - while(dccREG1->STAT == 0U) - { - /* Wait */ - } - return (dccREG1->STAT & 0x01U); -} -/** @fn uint32 disable_plls(uint32 plls) -* @brief This function disables plls and clears the respective ESM flags. -* -* @param[in] plls : Clock source for Counter1 -* 2U - PLL1 -* 40U - PLL2 -* -* @return failCode -* 0 = Success (the PLL or both PLLs have successfully locked and then been disabled) -* 4 = The workaround function was not able to disable at least one of the PLLs. The most likely reason -* is that a PLL is already being used as a clock source. This can be caused by the workaround function -* being called from the wrong place in the code. -*/ -static uint32 disable_plls(uint32 plls) -{ - uint32 timeout,failCode; - - systemREG1->CSDISSET = plls; - failCode = 0U; - timeout = 0x10U; - timeout --; - while(((systemREG1->CSVSTAT & (plls)) != 0U) && (timeout != 0U)) - { - /* Clear ESM and GLBSTAT PLL slip flags */ - systemREG1->GBLSTAT = 0x00000300U; - - if ((plls & SYS_CLKSRC_PLL1) == SYS_CLKSRC_PLL1) - { - esmREG->SR1[0U] = ESM_SR1_PLL1SLIP; - } - if ((plls & SYS_CLKSRC_PLL2) == SYS_CLKSRC_PLL2) - { - esmREG->SR4[0U] = ESM_SR4_PLL2SLIP; - } - timeout --; - /* Wait */ - } - if(timeout == 0U) - { - failCode = 4U; - } - else - { - failCode = 0U; - } - return failCode; -} +/** @file errata_SSWF021_45.c +* @brief errata for PLLs +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include "errata_SSWF021_45_defs.h" +#include "errata_SSWF021_45.h" + +static uint32 check_frequency(uint32 cnt1_clksrc); +static uint32 disable_plls(uint32 plls); + +/** @fn uint32 _errata_SSWF021_45_both_plls(uint32 count) +* @brief This handles the errata for PLL1 and PLL2. This function is called in device startup +* +* @param[in] count : Number of retries until both PLLs are locked successfully +* Minimum value recommended is 5 +* +* @return 0 = Success (the PLL or both PLLs have successfully locked and then been disabled) +* 1 = PLL1 failed to successfully lock in "count" tries +* 2 = PLL2 failed to successfully lock in "count" tries +* 3 = Neither PLL1 nor PLL2 successfully locked in "count" tries +* 4 = The workaround function was not able to disable at least one of the PLLs. The most likely reason + is that a PLL is already being used as a clock source. This can be caused by the workaround function + being called from the wrong place in the code. +*/ +uint32 _errata_SSWF021_45_both_plls(uint32 count) +{ + uint32 failCode,retries,clkCntlSav; + /* save CLKCNTL */ + clkCntlSav = systemREG1->CLKCNTL; + /* First set VCLK2 = HCLK */ + systemREG1->CLKCNTL = clkCntlSav & 0x000F0100U; + /* Now set VCLK = HCLK and enable peripherals */ + systemREG1->CLKCNTL = SYS_CLKCNTRL_PENA; + failCode = 0U; + for(retries = 0U;(retries < count);retries++) + { + failCode = 0U; + /* Disable PLL1 and PLL2 */ + failCode = disable_plls(SYS_CLKSRC_PLL1 | SYS_CLKSRC_PLL2); + if(failCode != 0U) + { + break; + } + + /* Clear Global Status Register */ + systemREG1->GBLSTAT = 0x00000301U; + /* Clear the ESM PLL slip flags */ + esmREG->SR1[0U] = ESM_SR1_PLL1SLIP; + esmREG->SR4[0U] = ESM_SR4_PLL2SLIP; + /* set both PLLs to OSCIN/1*27/(2*1) */ + systemREG1->PLLCTL1 = 0x20001A00U; + systemREG1->PLLCTL2 = 0x3FC0723DU; + systemREG2->PLLCTL3 = 0x20001A00U; + systemREG1->CSDISCLR = SYS_CLKSRC_PLL1 | SYS_CLKSRC_PLL2; + /* Check for (PLL1 valid or PLL1 slip) and (PLL2 valid or PLL2 slip) */ + while ((((systemREG1->CSVSTAT & SYS_CLKSRC_PLL1) == 0U) && ((esmREG->SR1[0U] & ESM_SR1_PLL1SLIP) == 0U)) || + (((systemREG1->CSVSTAT & SYS_CLKSRC_PLL2) == 0U) && ((esmREG->SR4[0U] & ESM_SR4_PLL2SLIP) == 0U))) + { + /* Wait */ + } + /* If PLL1 valid, check the frequency */ + if(((esmREG->SR1[0U] & ESM_SR1_PLL1SLIP) != 0U) || ((systemREG1->GBLSTAT & 0x00000300U) != 0U)) + { + failCode |= 1U; + } + else + { + failCode |= check_frequency(dcc1CNT1_CLKSRC_PLL1); + } + /* If PLL2 valid, check the frequency */ + if(((esmREG->SR4[0U] & ESM_SR4_PLL2SLIP) != 0U) || ((systemREG1->GBLSTAT & 0x00000300U) != 0U)) + { + failCode |= 2U; + } + else + { + failCode |= (check_frequency(dcc1CNT1_CLKSRC_PLL2) << 1U); + } + if (failCode == 0U) + { + break; + } + } + /* To avoid MISRA violation 382S + (void)missing for discarded return value */ + failCode = disable_plls(SYS_CLKSRC_PLL1 | SYS_CLKSRC_PLL2); + /* restore CLKCNTL, VCLKR and PENA first */ + systemREG1->CLKCNTL = (clkCntlSav & 0x000F0100U); + /* restore CLKCNTL, VCLK2R */ + systemREG1->CLKCNTL = clkCntlSav; + return failCode; +} +/** @fn uint32 _errata_SSWF021_45_pll1(uint32 count) +* @brief This handles the errata for PLL1. This function is called in device startup +* +* @param[in] count : Number of retries until both PLL1 is locked successfully +* Minimum value recommended is 5 +* +* @return 0 = Success (the PLL or both PLLs have successfully locked and then been disabled) +* 1 = PLL1 failed to successfully lock in "count" tries +* 2 = PLL2 failed to successfully lock in "count" tries +* 3 = Neither PLL1 nor PLL2 successfully locked in "count" tries +* 4 = The workaround function was not able to disable at least one of the PLLs. The most likely reason + is that a PLL is already being used as a clock source. This can be caused by the workaround function + being called from the wrong place in the code. +*/ +uint32 _errata_SSWF021_45_pll1(uint32 count) +{ + uint32 failCode,retries,clkCntlSav; + /* save CLKCNTL */ + clkCntlSav = systemREG1->CLKCNTL; + /* First set VCLK2 = HCLK */ + systemREG1->CLKCNTL = clkCntlSav & 0x000F0100U; + /* Now set VCLK = HCLK and enable peripherals */ + systemREG1->CLKCNTL = SYS_CLKCNTRL_PENA; + failCode = 0U; + for(retries = 0U;(retries < count);retries++) + { + failCode = 0U; + /* Disable PLL1 */ + failCode = disable_plls(SYS_CLKSRC_PLL1); + if(failCode != 0U) + { + break; + } + + /* Clear Global Status Register */ + systemREG1->GBLSTAT = 0x00000301U; + /* Clear the ESM PLL slip flags */ + esmREG->SR1[0U] = ESM_SR1_PLL1SLIP; + /* set PLL1 to OSCIN/1*27/(2*1) */ + systemREG1->PLLCTL1 = 0x20001A00U; + systemREG1->PLLCTL2 = 0x3FC0723DU; + systemREG1->CSDISCLR = SYS_CLKSRC_PLL1; + /* Check for PLL1 valid or PLL1 slip*/ + while(((systemREG1->CSVSTAT & SYS_CLKSRC_PLL1) == 0U) && ((esmREG->SR1[0U] & ESM_SR1_PLL1SLIP) == 0U)) + { + /* Wait */ + } + /* If PLL1 valid, check the frequency */ + if(((esmREG->SR1[0U] & ESM_SR1_PLL1SLIP) != 0U) || ((systemREG1->GBLSTAT & 0x00000300U) != 0U)) + { + failCode |= 1U; + } + else + { + failCode |= check_frequency(dcc1CNT1_CLKSRC_PLL1); + } + if (failCode == 0U) + { + break; + } + } + /* To avoid MISRA violation 382S + (void)missing for discarded return value */ + failCode = disable_plls(SYS_CLKSRC_PLL1); + + /* restore CLKCNTL, VCLKR and PENA first */ + systemREG1->CLKCNTL = (clkCntlSav & 0x000F0100U); + /* restore CLKCNTL, VCLK2R */ + systemREG1->CLKCNTL = clkCntlSav; + return failCode; +} +/** @fn uint32 _errata_SSWF021_45_pll2(uint32 count) +* @brief This handles the errata for PLL2. This function is called in device startup +* +* @param[in] count : Number of retries until PLL2 is locked successfully +* Minimum value recommended is 5 +* +* @return 0 = Success (the PLL or both PLLs have successfully locked and then been disabled) +* 1 = PLL1 failed to successfully lock in "count" tries +* 2 = PLL2 failed to successfully lock in "count" tries +* 3 = Neither PLL1 nor PLL2 successfully locked in "count" tries +* 4 = The workaround function was not able to disable at least one of the PLLs. The most likely reason + is that a PLL is already being used as a clock source. This can be caused by the workaround function + being called from the wrong place in the code. +*/ +uint32 _errata_SSWF021_45_pll2(uint32 count) +{ + uint32 failCode,retries,clkCntlSav; + /* save CLKCNTL */ + clkCntlSav = systemREG1->CLKCNTL; + /* First set VCLK2 = HCLK */ + systemREG1->CLKCNTL = clkCntlSav & 0x000F0100U; + /* Now set VCLK = HCLK and enable peripherals */ + systemREG1->CLKCNTL = SYS_CLKCNTRL_PENA; + failCode = 0U; + for(retries = 0U;(retries < count);retries++) + { + failCode = 0U; + /* Disable PLL2 */ + failCode = disable_plls(SYS_CLKSRC_PLL2); + if(failCode != 0U) + { + break; + } + + /* Clear Global Status Register */ + systemREG1->GBLSTAT = 0x00000301U; + /* Clear the ESM PLL slip flags */ + esmREG->SR4[0U] = ESM_SR4_PLL2SLIP; + /* set PLL2 to OSCIN/1*27/(2*1) */ + systemREG2->PLLCTL3 = 0x20001A00U; + systemREG1->CSDISCLR = SYS_CLKSRC_PLL2; + /* Check for PLL2 valid or PLL2 slip */ + while (((systemREG1->CSVSTAT & SYS_CLKSRC_PLL2) == 0U) && ((esmREG->SR4[0U] & ESM_SR4_PLL2SLIP) == 0U)) + { + /* Wait */ + } + /* If PLL2 valid, check the frequency */ + if(((esmREG->SR4[0U] & ESM_SR4_PLL2SLIP) != 0U) || ((systemREG1->GBLSTAT & 0x00000300U) != 0U)) + { + failCode |= 2U; + } + else + { + failCode |= (check_frequency(dcc1CNT1_CLKSRC_PLL2) << 1U); + } + if (failCode == 0U) + { + break; + } + } + /* To avoid MISRA violation 382S + (void)missing for discarded return value */ + failCode = disable_plls(SYS_CLKSRC_PLL2); + /* restore CLKCNTL, VCLKR and PENA first */ + systemREG1->CLKCNTL = (clkCntlSav & 0x000F0100U); + /* restore CLKCNTL, VCLK2R */ + systemREG1->CLKCNTL = clkCntlSav; + return failCode; +} +/** @fn uint32 check_frequency(uint32 cnt1_clksrc) +* @brief This function checks for the PLL frequency. +* +* @param[in] cnt1_clksrc : Clock source for Counter1 +* 0U - PLL1 (clock source 0) +* 1U - PLL2 (clock source 1) +* +* @return DCC Error status +* 0 - DCC error has not occurred +* 1 - DCC error has occurred +*/ +static uint32 check_frequency(uint32 cnt1_clksrc) +{ + /* Setup DCC1 */ + /** DCC1 Global Control register configuration */ + dccREG1->GCTRL = (uint32)0x5U | /** Disable DCC1 */ + (uint32)((uint32)0x5U << 4U) | /** No Error Interrupt */ + (uint32)((uint32)0xAU << 8U) | /** Single Shot mode */ + (uint32)((uint32)0x5U << 12U); /** No Done Interrupt */ + /* Clear ERR and DONE bits */ + dccREG1->STAT = 3U; + /** DCC1 Clock0 Counter Seed value configuration */ + dccREG1->CNT0SEED = 68U; + /** DCC1 Clock0 Valid Counter Seed value configuration */ + dccREG1->VALID0SEED = 4U; + /** DCC1 Clock1 Counter Seed value configuration */ + dccREG1->CNT1SEED = 972U; + /** DCC1 Clock1 Source 1 Select */ + dccREG1->CNT1CLKSRC = (uint32)((uint32)10U << 12U) | /** DCC Enable / Disable Key */ + (uint32) cnt1_clksrc; /** DCC1 Clock Source 1 */ + + dccREG1->CNT0CLKSRC = (uint32)DCC1_CNT0_OSCIN; /** DCC1 Clock Source 0 */ + + /** DCC1 Global Control register configuration */ + dccREG1->GCTRL = (uint32)0xAU | /** Enable DCC1 */ + (uint32)((uint32)0x5U << 4U) | /** No Error Interrupt */ + (uint32)((uint32)0xAU << 8U) | /** Single Shot mode */ + (uint32)((uint32)0x5U << 12U); /** No Done Interrupt */ + while(dccREG1->STAT == 0U) + { + /* Wait */ + } + return (dccREG1->STAT & 0x01U); +} +/** @fn uint32 disable_plls(uint32 plls) +* @brief This function disables plls and clears the respective ESM flags. +* +* @param[in] plls : Clock source for Counter1 +* 2U - PLL1 +* 40U - PLL2 +* +* @return failCode +* 0 = Success (the PLL or both PLLs have successfully locked and then been disabled) +* 4 = The workaround function was not able to disable at least one of the PLLs. The most likely reason +* is that a PLL is already being used as a clock source. This can be caused by the workaround function +* being called from the wrong place in the code. +*/ +static uint32 disable_plls(uint32 plls) +{ + uint32 timeout,failCode; + + systemREG1->CSDISSET = plls; + failCode = 0U; + timeout = 0x10U; + timeout --; + while(((systemREG1->CSVSTAT & (plls)) != 0U) && (timeout != 0U)) + { + /* Clear ESM and GLBSTAT PLL slip flags */ + systemREG1->GBLSTAT = 0x00000300U; + + if ((plls & SYS_CLKSRC_PLL1) == SYS_CLKSRC_PLL1) + { + esmREG->SR1[0U] = ESM_SR1_PLL1SLIP; + } + if ((plls & SYS_CLKSRC_PLL2) == SYS_CLKSRC_PLL2) + { + esmREG->SR4[0U] = ESM_SR4_PLL2SLIP; + } + timeout --; + /* Wait */ + } + if(timeout == 0U) + { + failCode = 4U; + } + else + { + failCode = 0U; + } + return failCode; +} diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/esm.c b/TestBoardFirmware/Testboard_HAL_drivers/source/esm.c index 39f794b6..4b121a91 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/esm.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/esm.c @@ -1,802 +1,802 @@ -/** @file esm.c -* @brief Esm Driver Source File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - API Functions -* . -* which are relevant for the Esm driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Include Files */ - -#include "esm.h" -#include "sys_vim.h" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -/** @fn void esmInit(void) -* @brief Initializes Esm Driver -* -* This function initializes the Esm driver. -* -*/ - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ -/* SourceId : ESM_SourceId_001 */ -/* DesignId : ESM_DesignId_001 */ -/* Requirements : HL_SR4 */ -void esmInit(void) -{ -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - - /** - Disable error pin channels */ - esmREG->DEPAPR1 = 0xFFFFFFFFU; - esmREG->IEPCR4 = 0xFFFFFFFFU; - - /** - Disable interrupts */ - esmREG->IECR1 = 0xFFFFFFFFU; - esmREG->IECR4 = 0xFFFFFFFFU; - - /** - Clear error status flags */ - esmREG->SR1[0U] = 0xFFFFFFFFU; - esmREG->SR1[1U] = 0xFFFFFFFFU; - esmREG->SSR2 = 0xFFFFFFFFU; - esmREG->SR1[2U] = 0xFFFFFFFFU; - esmREG->SR4[0U] = 0xFFFFFFFFU; - - /** - Setup LPC preload */ - esmREG->LTCPR = 16384U - 1U; - - /** - Reset error pin */ - if (esmREG->EPSR == 0U) - { - esmREG->EKR = 0x00000005U; - } - else - { - esmREG->EKR = 0x00000000U; - } - - /** - Clear interrupt level */ - esmREG->ILCR1 = 0xFFFFFFFFU; - esmREG->ILCR4 = 0xFFFFFFFFU; - - /** - Set interrupt level */ - esmREG->ILSR1 = (uint32)((uint32)0U << 31U) - | (uint32)((uint32)0U << 30U) - | (uint32)((uint32)0U << 29U) - | (uint32)((uint32)0U << 28U) - | (uint32)((uint32)0U << 27U) - | (uint32)((uint32)0U << 26U) - | (uint32)((uint32)0U << 25U) - | (uint32)((uint32)0U << 24U) - | (uint32)((uint32)0U << 23U) - | (uint32)((uint32)0U << 22U) - | (uint32)((uint32)0U << 21U) - | (uint32)((uint32)0U << 20U) - | (uint32)((uint32)0U << 19U) - | (uint32)((uint32)0U << 18U) - | (uint32)((uint32)0U << 17U) - | (uint32)((uint32)0U << 16U) - | (uint32)((uint32)0U << 15U) - | (uint32)((uint32)0U << 14U) - | (uint32)((uint32)0U << 13U) - | (uint32)((uint32)0U << 12U) - | (uint32)((uint32)0U << 11U) - | (uint32)((uint32)0U << 10U) - | (uint32)((uint32)0U << 9U) - | (uint32)((uint32)0U << 8U) - | (uint32)((uint32)0U << 7U) - | (uint32)((uint32)0U << 6U) - | (uint32)((uint32)0U << 5U) - | (uint32)((uint32)0U << 4U) - | (uint32)((uint32)0U << 3U) - | (uint32)((uint32)0U << 2U) - | (uint32)((uint32)0U << 1U) - | (uint32)((uint32)0U << 0U); - - esmREG->ILSR4 = (uint32)((uint32)0U << 31U) - | (uint32)((uint32)0U << 30U) - | (uint32)((uint32)0U << 29U) - | (uint32)((uint32)0U << 28U) - | (uint32)((uint32)0U << 27U) - | (uint32)((uint32)0U << 26U) - | (uint32)((uint32)0U << 25U) - | (uint32)((uint32)0U << 24U) - | (uint32)((uint32)0U << 23U) - | (uint32)((uint32)0U << 22U) - | (uint32)((uint32)0U << 21U) - | (uint32)((uint32)0U << 20U) - | (uint32)((uint32)0U << 19U) - | (uint32)((uint32)0U << 18U) - | (uint32)((uint32)0U << 17U) - | (uint32)((uint32)0U << 16U) - | (uint32)((uint32)0U << 15U) - | (uint32)((uint32)0U << 14U) - | (uint32)((uint32)0U << 13U) - | (uint32)((uint32)0U << 12U) - | (uint32)((uint32)0U << 11U) - | (uint32)((uint32)0U << 10U) - | (uint32)((uint32)0U << 9U) - | (uint32)((uint32)0U << 8U) - | (uint32)((uint32)0U << 7U) - | (uint32)((uint32)0U << 6U) - | (uint32)((uint32)0U << 5U) - | (uint32)((uint32)0U << 4U) - | (uint32)((uint32)0U << 3U) - | (uint32)((uint32)0U << 2U) - | (uint32)((uint32)0U << 1U) - | (uint32)((uint32)0U << 0U); - - /** - Enable error pin channels */ - esmREG->EEPAPR1 = (uint32)((uint32)0U << 31U) - | (uint32)((uint32)0U << 30U) - | (uint32)((uint32)0U << 29U) - | (uint32)((uint32)0U << 28U) - | (uint32)((uint32)0U << 27U) - | (uint32)((uint32)0U << 26U) - | (uint32)((uint32)0U << 25U) - | (uint32)((uint32)0U << 24U) - | (uint32)((uint32)0U << 23U) - | (uint32)((uint32)0U << 22U) - | (uint32)((uint32)0U << 21U) - | (uint32)((uint32)0U << 20U) - | (uint32)((uint32)0U << 19U) - | (uint32)((uint32)0U << 18U) - | (uint32)((uint32)0U << 17U) - | (uint32)((uint32)0U << 16U) - | (uint32)((uint32)0U << 15U) - | (uint32)((uint32)0U << 14U) - | (uint32)((uint32)0U << 13U) - | (uint32)((uint32)0U << 12U) - | (uint32)((uint32)0U << 11U) - | (uint32)((uint32)0U << 10U) - | (uint32)((uint32)0U << 9U) - | (uint32)((uint32)0U << 8U) - | (uint32)((uint32)0U << 7U) - | (uint32)((uint32)0U << 6U) - | (uint32)((uint32)0U << 5U) - | (uint32)((uint32)0U << 4U) - | (uint32)((uint32)0U << 3U) - | (uint32)((uint32)0U << 2U) - | (uint32)((uint32)0U << 1U) - | (uint32)((uint32)0U << 0U); - - esmREG->IEPSR4 = (uint32)((uint32)0U << 31U) - | (uint32)((uint32)0U << 30U) - | (uint32)((uint32)0U << 29U) - | (uint32)((uint32)0U << 28U) - | (uint32)((uint32)0U << 27U) - | (uint32)((uint32)0U << 26U) - | (uint32)((uint32)0U << 25U) - | (uint32)((uint32)0U << 24U) - | (uint32)((uint32)0U << 23U) - | (uint32)((uint32)0U << 22U) - | (uint32)((uint32)0U << 21U) - | (uint32)((uint32)0U << 20U) - | (uint32)((uint32)0U << 19U) - | (uint32)((uint32)0U << 18U) - | (uint32)((uint32)0U << 17U) - | (uint32)((uint32)0U << 16U) - | (uint32)((uint32)0U << 15U) - | (uint32)((uint32)0U << 14U) - | (uint32)((uint32)0U << 13U) - | (uint32)((uint32)0U << 12U) - | (uint32)((uint32)0U << 11U) - | (uint32)((uint32)0U << 10U) - | (uint32)((uint32)0U << 9U) - | (uint32)((uint32)0U << 8U) - | (uint32)((uint32)0U << 7U) - | (uint32)((uint32)0U << 6U) - | (uint32)((uint32)0U << 5U) - | (uint32)((uint32)0U << 4U) - | (uint32)((uint32)0U << 3U) - | (uint32)((uint32)0U << 2U) - | (uint32)((uint32)0U << 1U) - | (uint32)((uint32)0U << 0U); - - /** - Enable interrupts */ - esmREG->IESR1 = (uint32)((uint32)0U << 31U) - | (uint32)((uint32)0U << 30U) - | (uint32)((uint32)0U << 29U) - | (uint32)((uint32)0U << 28U) - | (uint32)((uint32)0U << 27U) - | (uint32)((uint32)0U << 26U) - | (uint32)((uint32)0U << 25U) - | (uint32)((uint32)0U << 24U) - | (uint32)((uint32)0U << 23U) - | (uint32)((uint32)0U << 22U) - | (uint32)((uint32)0U << 21U) - | (uint32)((uint32)0U << 20U) - | (uint32)((uint32)0U << 19U) - | (uint32)((uint32)0U << 18U) - | (uint32)((uint32)0U << 17U) - | (uint32)((uint32)0U << 16U) - | (uint32)((uint32)0U << 15U) - | (uint32)((uint32)0U << 14U) - | (uint32)((uint32)0U << 13U) - | (uint32)((uint32)0U << 12U) - | (uint32)((uint32)0U << 11U) - | (uint32)((uint32)0U << 10U) - | (uint32)((uint32)0U << 9U) - | (uint32)((uint32)0U << 8U) - | (uint32)((uint32)0U << 7U) - | (uint32)((uint32)0U << 6U) - | (uint32)((uint32)0U << 5U) - | (uint32)((uint32)0U << 4U) - | (uint32)((uint32)0U << 3U) - | (uint32)((uint32)0U << 2U) - | (uint32)((uint32)0U << 1U) - | (uint32)((uint32)0U << 0U); - - esmREG->IESR4 = (uint32)((uint32)0U << 31U) - | (uint32)((uint32)0U << 30U) - | (uint32)((uint32)0U << 29U) - | (uint32)((uint32)0U << 28U) - | (uint32)((uint32)0U << 27U) - | (uint32)((uint32)0U << 26U) - | (uint32)((uint32)0U << 25U) - | (uint32)((uint32)0U << 24U) - | (uint32)((uint32)0U << 23U) - | (uint32)((uint32)0U << 22U) - | (uint32)((uint32)0U << 21U) - | (uint32)((uint32)0U << 20U) - | (uint32)((uint32)0U << 19U) - | (uint32)((uint32)0U << 18U) - | (uint32)((uint32)0U << 17U) - | (uint32)((uint32)0U << 16U) - | (uint32)((uint32)0U << 15U) - | (uint32)((uint32)0U << 14U) - | (uint32)((uint32)0U << 13U) - | (uint32)((uint32)0U << 12U) - | (uint32)((uint32)0U << 11U) - | (uint32)((uint32)0U << 10U) - | (uint32)((uint32)0U << 9U) - | (uint32)((uint32)0U << 8U) - | (uint32)((uint32)0U << 7U) - | (uint32)((uint32)0U << 6U) - | (uint32)((uint32)0U << 5U) - | (uint32)((uint32)0U << 4U) - | (uint32)((uint32)0U << 3U) - | (uint32)((uint32)0U << 2U) - | (uint32)((uint32)0U << 1U) - | (uint32)((uint32)0U << 0U); - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ -} - - -/** @fn uint32 esmError(void) -* @brief Return Error status -* -* @return The error status -* -* Returns the error status. -*/ -/* SourceId : ESM_SourceId_002 */ -/* DesignId : ESM_DesignId_002 */ -/* Requirements : HL_SR5 */ -uint32 esmError(void) -{ - uint32 status; - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - - status = esmREG->EPSR; - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - - return status; -} - - -/** @fn void esmEnableError(uint64 channels) -* @brief Enable Group 1 Channels Error Signals propagation -* -* @param[in] channels - Channel mask -* -* Enable Group 1 Channels Error Signals propagation to the error pin. -*/ -/* SourceId : ESM_SourceId_003 */ -/* DesignId : ESM_DesignId_003 */ -/* Requirements : HL_SR6 */ -void esmEnableError(uint64 channels) -{ -/* USER CODE BEGIN (7) */ -/* USER CODE END */ - - esmREG->IEPSR4 = (uint32)((channels >> 32U) & 0xFFFFFFFFU); - esmREG->EEPAPR1 = (uint32)(channels & 0xFFFFFFFFU); - -/* USER CODE BEGIN (8) */ -/* USER CODE END */ -} - - -/** @fn void esmDisableError(uint64 channels) -* @brief Disable Group 1 Channels Error Signals propagation -* -* @param[in] channels - Channel mask -* -* Disable Group 1 Channels Error Signals propagation to the error pin. -*/ -/* SourceId : ESM_SourceId_004 */ -/* DesignId : ESM_DesignId_004 */ -/* Requirements : HL_SR7 */ -void esmDisableError(uint64 channels) -{ -/* USER CODE BEGIN (9) */ -/* USER CODE END */ - - esmREG->IEPCR4 = (uint32)((channels >> 32U) & 0xFFFFFFFFU); - esmREG->DEPAPR1 = (uint32)(channels & 0xFFFFFFFFU); - -/* USER CODE BEGIN (10) */ -/* USER CODE END */ -} - - -/** @fn void esmTriggerErrorPinReset(void) -* @brief Trigger error pin reset and switch back to normal operation -* -* Trigger error pin reset and switch back to normal operation. -*/ -/* SourceId : ESM_SourceId_005 */ -/* DesignId : ESM_DesignId_005 */ -/* Requirements : HL_SR8 */ -void esmTriggerErrorPinReset(void) -{ -/* USER CODE BEGIN (11) */ -/* USER CODE END */ - - esmREG->EKR = 5U; - -/* USER CODE BEGIN (12) */ -/* USER CODE END */ -} - - -/** @fn void esmActivateNormalOperation(void) -* @brief Activate normal operation -* -* Activates normal operation mode. -*/ -/* SourceId : ESM_SourceId_006 */ -/* DesignId : ESM_DesignId_006 */ -/* Requirements : HL_SR9 */ -void esmActivateNormalOperation(void) -{ -/* USER CODE BEGIN (13) */ -/* USER CODE END */ - - esmREG->EKR = 0U; - -/* USER CODE BEGIN (14) */ -/* USER CODE END */ -} - - -/** @fn void esmEnableInterrupt(uint64 channels) -* @brief Enable Group 1 Channels Interrupts -* -* @param[in] channels - Channel mask -* -* Enable Group 1 Channels Interrupts. -*/ -/* SourceId : ESM_SourceId_007 */ -/* DesignId : ESM_DesignId_007 */ -/* Requirements : HL_SR10 */ -void esmEnableInterrupt(uint64 channels) -{ -/* USER CODE BEGIN (15) */ -/* USER CODE END */ - - esmREG->IESR4 = (uint32)((channels >> 32U) & 0xFFFFFFFFU); - esmREG->IESR1 = (uint32)(channels & 0xFFFFFFFFU); - -/* USER CODE BEGIN (16) */ -/* USER CODE END */ -} - - -/** @fn void esmDisableInterrupt(uint64 channels) -* @brief Disable Group 1 Channels Interrupts -* -* @param[in] channels - Channel mask -* -* Disable Group 1 Channels Interrupts. -*/ -/* SourceId : ESM_SourceId_008 */ -/* DesignId : ESM_DesignId_008 */ -/* Requirements : HL_SR11 */ -void esmDisableInterrupt(uint64 channels) -{ -/* USER CODE BEGIN (17) */ -/* USER CODE END */ - - esmREG->IECR4 = (uint32)((channels >> 32U) & 0xFFFFFFFFU); - esmREG->IECR1 = (uint32)(channels & 0xFFFFFFFFU); - -/* USER CODE BEGIN (18) */ -/* USER CODE END */ -} - - -/** @fn void esmSetInterruptLevel(uint64 channels, uint64 flags) -* @brief Set Group 1 Channels Interrupt Levels -* -* @param[in] channels - Channel mask -* @param[in] flags - Level mask: - 0: Low priority interrupt -* - 1: High priority interrupt -* -* Set Group 1 Channels Interrupts levels. -*/ -/* SourceId : ESM_SourceId_009 */ -/* DesignId : ESM_DesignId_009 */ -/* Requirements : HL_SR12 */ -void esmSetInterruptLevel(uint64 channels, uint64 flags) -{ -/* USER CODE BEGIN (19) */ -/* USER CODE END */ - - esmREG->ILCR4 = (uint32)(((channels & (~flags)) >> 32U) & 0xFFFFFFFFU); - esmREG->ILSR4 = (uint32)(((channels & flags) >> 32U) & 0xFFFFFFFFU); - esmREG->ILCR1 = (uint32)((channels & (~flags)) & 0xFFFFFFFFU); - esmREG->ILSR1 = (uint32)((channels & flags) & 0xFFFFFFFFU); - -/* USER CODE BEGIN (20) */ -/* USER CODE END */ -} - - -/** @fn void esmClearStatus(uint32 group, uint64 channels) -* @brief Clear Group error status -* -* @param[in] group - Error group -* @param[in] channels - Channel mask -* -* Clear Group error status. -*/ -/* SourceId : ESM_SourceId_010 */ -/* DesignId : ESM_DesignId_010 */ -/* Requirements : HL_SR13 */ -void esmClearStatus(uint32 group, uint64 channels) -{ -/* USER CODE BEGIN (21) */ -/* USER CODE END */ - - esmREG->SR1[group] = (uint32)(channels & 0xFFFFFFFFU); - if(group == 0U) - { - esmREG->SR4[group] = (uint32)((channels >> 32U) & 0xFFFFFFFFU); - } - -/* USER CODE BEGIN (22) */ -/* USER CODE END */ -} - - -/** @fn void esmClearStatusBuffer(uint64 channels) -* @brief Clear Group 2 error status buffer -* -* @param[in] channels - Channel mask -* -* Clear Group 2 error status buffer. -*/ -/* SourceId : ESM_SourceId_011 */ -/* DesignId : ESM_DesignId_011 */ -/* Requirements : HL_SR14 */ -void esmClearStatusBuffer(uint64 channels) -{ -/* USER CODE BEGIN (23) */ -/* USER CODE END */ - - esmREG->SSR2 = (uint32)(channels & 0xFFFFFFFFU); - -/* USER CODE BEGIN (24) */ -/* USER CODE END */ -} - - -/** @fn void esmSetCounterPreloadValue(uint32 value) -* @brief Set counter preload value -* -* @param[in] value - Counter preload value -* -* Set counter preload value. -*/ -/* SourceId : ESM_SourceId_012 */ -/* DesignId : ESM_DesignId_012 */ -/* Requirements : HL_SR15 */ -void esmSetCounterPreloadValue(uint32 value) -{ -/* USER CODE BEGIN (25) */ -/* USER CODE END */ - - esmREG->LTCPR = value & 0xC000U; - -/* USER CODE BEGIN (26) */ -/* USER CODE END */ -} - - -/** @fn uint64 esmGetStatus(uint32 group, uint64 channels) -* @brief Return Error status -* -* @param[in] group - Error group -* @param[in] channels - Error Channels -* -* @return The channels status of selected group -* -* Returns the channels status of selected group. -*/ -/* SourceId : ESM_SourceId_013 */ -/* DesignId : ESM_DesignId_013 */ -/* Requirements : HL_SR16 */ -uint64 esmGetStatus(uint32 group, uint64 channels) -{ - uint64 status; - uint32 ESM_ESTATUS4, ESM_ESTATUS1; - if(group == 0U) - { - ESM_ESTATUS4 = esmREG->SR4[group]; - } - else - { - ESM_ESTATUS4 = 0U; - } - ESM_ESTATUS1 = esmREG->SR1[group]; - -/* USER CODE BEGIN (27) */ -/* USER CODE END */ - status = (((uint64)(ESM_ESTATUS4) << 32U) | (uint64)ESM_ESTATUS1) & channels; - -/* USER CODE BEGIN (28) */ -/* USER CODE END */ - - return status; -} - - -/** @fn uint64 esmGetStatusBuffer(uint64 channels) -* @brief Return Group 2 channel x Error status buffer -* -* @param[in] channels - Error Channels -* -* @return The channels status -* -* Returns the group 2 buffered status of selected channels. -*/ -/* SourceId : ESM_SourceId_014 */ -/* DesignId : ESM_DesignId_014 */ -/* Requirements : HL_SR17 */ -uint64 esmGetStatusBuffer(uint64 channels) -{ - uint64 status; - -/* USER CODE BEGIN (29) */ -/* USER CODE END */ - status = ((uint64)esmREG->SSR2) & channels; - -/* USER CODE BEGIN (30) */ -/* USER CODE END */ - - return status; -} - -/** @fn esmSelfTestFlag_t esmEnterSelfTest(void) -* @brief Return ESM Self test status -* -* @return ESM Self test status -* -* Returns the ESM Self test status. -*/ -/* SourceId : ESM_SourceId_015 */ -/* DesignId : ESM_DesignId_015 */ -/* Requirements : HL_SR19 */ -esmSelfTestFlag_t esmEnterSelfTest(void) -{ - esmSelfTestFlag_t status; - -/* USER CODE BEGIN (31) */ -/* USER CODE END */ - - uint32 errPinStat = esmREG->EPSR & 0x1U; - uint32 esmKeyReg = esmREG->EKR; - if((errPinStat == 0x0U) && (esmKeyReg == 0x0U)) - { - status = esmSelfTest_NotStarted; - } - else - { - esmREG->EKR = 0xAU; - status = esmSelfTest_Active; - if((esmREG->EPSR & 0x1U) != 0x0U) - { - status = esmSelfTest_Failed; - } - esmREG->EKR = 0x5U; - } - -/* USER CODE BEGIN (32) */ -/* USER CODE END */ - - return status; -} - -/** @fn esmSelfTestFlag_t esmSelfTestStatus(void) -* @brief Return ESM Self test status -* -* Returns the ESM Self test status. -*/ -/* SourceId : ESM_SourceId_016 */ -/* DesignId : ESM_DesignId_016 */ -/* Requirements : HL_SR18 */ -esmSelfTestFlag_t esmSelfTestStatus(void) -{ - esmSelfTestFlag_t status; - -/* USER CODE BEGIN (33) */ -/* USER CODE END */ - - if((esmREG->EPSR & 0x1U) == 0x0U) - { - if(esmREG->EKR == 0x5U) - { - status = esmSelfTest_Active; - } - else - { - status = esmSelfTest_Failed; - } - } - else - { - status = esmSelfTest_Passed; - } - -/* USER CODE BEGIN (34) */ -/* USER CODE END */ - - return status; -} - -/** @fn void esmGetConfigValue(esm_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : ESM_SourceId_017 */ -/* DesignId : ESM_DesignId_017 */ -/* Requirements : HL_SR20, HL_SR24 */ -void esmGetConfigValue(esm_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_EEPAPR1 = ESM_EEPAPR1_CONFIGVALUE; - config_reg->CONFIG_IESR1 = ESM_IESR1_CONFIGVALUE; - config_reg->CONFIG_ILSR1 = ESM_ILSR1_CONFIGVALUE; - config_reg->CONFIG_LTCPR = ESM_LTCPR_CONFIGVALUE; - config_reg->CONFIG_EKR = ESM_EKR_CONFIGVALUE; - config_reg->CONFIG_IEPSR4 = ESM_IEPSR4_CONFIGVALUE; - config_reg->CONFIG_IESR4 = ESM_IESR4_CONFIGVALUE; - config_reg->CONFIG_ILSR4 = ESM_ILSR4_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_EEPAPR1 = esmREG->EEPAPR1; - config_reg->CONFIG_IESR1 = esmREG->IESR1; - config_reg->CONFIG_ILSR1 = esmREG->ILSR1; - config_reg->CONFIG_LTCPR = esmREG->LTCPR; - config_reg->CONFIG_EKR = esmREG->EKR; - config_reg->CONFIG_IEPSR4 = esmREG->IEPSR4; - config_reg->CONFIG_IESR4 = esmREG->IESR4; - config_reg->CONFIG_ILSR4 = esmREG->ILSR4; - } -} - -/* USER CODE BEGIN (35) */ -/* USER CODE END */ - -/** @fn void esmHighInterrupt(void) -* @brief High Level Interrupt for ESM -*/ -#pragma CODE_STATE(esmHighInterrupt, 32) -#pragma INTERRUPT(esmHighInterrupt, FIQ) -/* SourceId : ESM_SourceId_018 */ -/* DesignId : ESM_DesignId_018 */ -/* Requirements : HL_SR21, HL_SR22 */ -void esmHighInterrupt(void) -{ - uint32 vec = esmREG->IOFFHR - 1U; - -/* USER CODE BEGIN (36) */ -/* USER CODE END */ - - if (vec < 32U) - { - esmREG->SR1[0U] = (uint32)1U << vec; - esmGroup1Notification(vec); - } - else if (vec < 64U) - { - esmREG->SR1[1U] = (uint32)1U << (vec-32U); - esmGroup2Notification(vec-32U); - } - else if (vec < 96U) - { - esmREG->SR4[0U] = (uint32)1U << (vec-64U); - esmGroup1Notification(vec-32U); - } - else - { - esmREG->SR4[0U] = 0xFFFFFFFFU; - esmREG->SR1[1U] = 0xFFFFFFFFU; - esmREG->SR1[0U] = 0xFFFFFFFFU; - } - -/* USER CODE BEGIN (37) */ -/* USER CODE END */ -} - - -/* USER CODE BEGIN (41) */ -/* USER CODE END */ +/** @file esm.c +* @brief Esm Driver Source File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - API Functions +* . +* which are relevant for the Esm driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Include Files */ + +#include "esm.h" +#include "sys_vim.h" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +/** @fn void esmInit(void) +* @brief Initializes Esm Driver +* +* This function initializes the Esm driver. +* +*/ + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ +/* SourceId : ESM_SourceId_001 */ +/* DesignId : ESM_DesignId_001 */ +/* Requirements : HL_SR4 */ +void esmInit(void) +{ +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + + /** - Disable error pin channels */ + esmREG->DEPAPR1 = 0xFFFFFFFFU; + esmREG->IEPCR4 = 0xFFFFFFFFU; + + /** - Disable interrupts */ + esmREG->IECR1 = 0xFFFFFFFFU; + esmREG->IECR4 = 0xFFFFFFFFU; + + /** - Clear error status flags */ + esmREG->SR1[0U] = 0xFFFFFFFFU; + esmREG->SR1[1U] = 0xFFFFFFFFU; + esmREG->SSR2 = 0xFFFFFFFFU; + esmREG->SR1[2U] = 0xFFFFFFFFU; + esmREG->SR4[0U] = 0xFFFFFFFFU; + + /** - Setup LPC preload */ + esmREG->LTCPR = 16384U - 1U; + + /** - Reset error pin */ + if (esmREG->EPSR == 0U) + { + esmREG->EKR = 0x00000005U; + } + else + { + esmREG->EKR = 0x00000000U; + } + + /** - Clear interrupt level */ + esmREG->ILCR1 = 0xFFFFFFFFU; + esmREG->ILCR4 = 0xFFFFFFFFU; + + /** - Set interrupt level */ + esmREG->ILSR1 = (uint32)((uint32)0U << 31U) + | (uint32)((uint32)0U << 30U) + | (uint32)((uint32)0U << 29U) + | (uint32)((uint32)0U << 28U) + | (uint32)((uint32)0U << 27U) + | (uint32)((uint32)0U << 26U) + | (uint32)((uint32)0U << 25U) + | (uint32)((uint32)0U << 24U) + | (uint32)((uint32)0U << 23U) + | (uint32)((uint32)0U << 22U) + | (uint32)((uint32)0U << 21U) + | (uint32)((uint32)0U << 20U) + | (uint32)((uint32)0U << 19U) + | (uint32)((uint32)0U << 18U) + | (uint32)((uint32)0U << 17U) + | (uint32)((uint32)0U << 16U) + | (uint32)((uint32)0U << 15U) + | (uint32)((uint32)0U << 14U) + | (uint32)((uint32)0U << 13U) + | (uint32)((uint32)0U << 12U) + | (uint32)((uint32)0U << 11U) + | (uint32)((uint32)0U << 10U) + | (uint32)((uint32)0U << 9U) + | (uint32)((uint32)0U << 8U) + | (uint32)((uint32)0U << 7U) + | (uint32)((uint32)0U << 6U) + | (uint32)((uint32)0U << 5U) + | (uint32)((uint32)0U << 4U) + | (uint32)((uint32)0U << 3U) + | (uint32)((uint32)0U << 2U) + | (uint32)((uint32)0U << 1U) + | (uint32)((uint32)0U << 0U); + + esmREG->ILSR4 = (uint32)((uint32)0U << 31U) + | (uint32)((uint32)0U << 30U) + | (uint32)((uint32)0U << 29U) + | (uint32)((uint32)0U << 28U) + | (uint32)((uint32)0U << 27U) + | (uint32)((uint32)0U << 26U) + | (uint32)((uint32)0U << 25U) + | (uint32)((uint32)0U << 24U) + | (uint32)((uint32)0U << 23U) + | (uint32)((uint32)0U << 22U) + | (uint32)((uint32)0U << 21U) + | (uint32)((uint32)0U << 20U) + | (uint32)((uint32)0U << 19U) + | (uint32)((uint32)0U << 18U) + | (uint32)((uint32)0U << 17U) + | (uint32)((uint32)0U << 16U) + | (uint32)((uint32)0U << 15U) + | (uint32)((uint32)0U << 14U) + | (uint32)((uint32)0U << 13U) + | (uint32)((uint32)0U << 12U) + | (uint32)((uint32)0U << 11U) + | (uint32)((uint32)0U << 10U) + | (uint32)((uint32)0U << 9U) + | (uint32)((uint32)0U << 8U) + | (uint32)((uint32)0U << 7U) + | (uint32)((uint32)0U << 6U) + | (uint32)((uint32)0U << 5U) + | (uint32)((uint32)0U << 4U) + | (uint32)((uint32)0U << 3U) + | (uint32)((uint32)0U << 2U) + | (uint32)((uint32)0U << 1U) + | (uint32)((uint32)0U << 0U); + + /** - Enable error pin channels */ + esmREG->EEPAPR1 = (uint32)((uint32)0U << 31U) + | (uint32)((uint32)0U << 30U) + | (uint32)((uint32)0U << 29U) + | (uint32)((uint32)0U << 28U) + | (uint32)((uint32)0U << 27U) + | (uint32)((uint32)0U << 26U) + | (uint32)((uint32)0U << 25U) + | (uint32)((uint32)0U << 24U) + | (uint32)((uint32)0U << 23U) + | (uint32)((uint32)0U << 22U) + | (uint32)((uint32)0U << 21U) + | (uint32)((uint32)0U << 20U) + | (uint32)((uint32)0U << 19U) + | (uint32)((uint32)0U << 18U) + | (uint32)((uint32)0U << 17U) + | (uint32)((uint32)0U << 16U) + | (uint32)((uint32)0U << 15U) + | (uint32)((uint32)0U << 14U) + | (uint32)((uint32)0U << 13U) + | (uint32)((uint32)0U << 12U) + | (uint32)((uint32)0U << 11U) + | (uint32)((uint32)0U << 10U) + | (uint32)((uint32)0U << 9U) + | (uint32)((uint32)0U << 8U) + | (uint32)((uint32)0U << 7U) + | (uint32)((uint32)0U << 6U) + | (uint32)((uint32)0U << 5U) + | (uint32)((uint32)0U << 4U) + | (uint32)((uint32)0U << 3U) + | (uint32)((uint32)0U << 2U) + | (uint32)((uint32)0U << 1U) + | (uint32)((uint32)0U << 0U); + + esmREG->IEPSR4 = (uint32)((uint32)0U << 31U) + | (uint32)((uint32)0U << 30U) + | (uint32)((uint32)0U << 29U) + | (uint32)((uint32)0U << 28U) + | (uint32)((uint32)0U << 27U) + | (uint32)((uint32)0U << 26U) + | (uint32)((uint32)0U << 25U) + | (uint32)((uint32)0U << 24U) + | (uint32)((uint32)0U << 23U) + | (uint32)((uint32)0U << 22U) + | (uint32)((uint32)0U << 21U) + | (uint32)((uint32)0U << 20U) + | (uint32)((uint32)0U << 19U) + | (uint32)((uint32)0U << 18U) + | (uint32)((uint32)0U << 17U) + | (uint32)((uint32)0U << 16U) + | (uint32)((uint32)0U << 15U) + | (uint32)((uint32)0U << 14U) + | (uint32)((uint32)0U << 13U) + | (uint32)((uint32)0U << 12U) + | (uint32)((uint32)0U << 11U) + | (uint32)((uint32)0U << 10U) + | (uint32)((uint32)0U << 9U) + | (uint32)((uint32)0U << 8U) + | (uint32)((uint32)0U << 7U) + | (uint32)((uint32)0U << 6U) + | (uint32)((uint32)0U << 5U) + | (uint32)((uint32)0U << 4U) + | (uint32)((uint32)0U << 3U) + | (uint32)((uint32)0U << 2U) + | (uint32)((uint32)0U << 1U) + | (uint32)((uint32)0U << 0U); + + /** - Enable interrupts */ + esmREG->IESR1 = (uint32)((uint32)0U << 31U) + | (uint32)((uint32)0U << 30U) + | (uint32)((uint32)0U << 29U) + | (uint32)((uint32)0U << 28U) + | (uint32)((uint32)0U << 27U) + | (uint32)((uint32)0U << 26U) + | (uint32)((uint32)0U << 25U) + | (uint32)((uint32)0U << 24U) + | (uint32)((uint32)0U << 23U) + | (uint32)((uint32)0U << 22U) + | (uint32)((uint32)0U << 21U) + | (uint32)((uint32)0U << 20U) + | (uint32)((uint32)0U << 19U) + | (uint32)((uint32)0U << 18U) + | (uint32)((uint32)0U << 17U) + | (uint32)((uint32)0U << 16U) + | (uint32)((uint32)0U << 15U) + | (uint32)((uint32)0U << 14U) + | (uint32)((uint32)0U << 13U) + | (uint32)((uint32)0U << 12U) + | (uint32)((uint32)0U << 11U) + | (uint32)((uint32)0U << 10U) + | (uint32)((uint32)0U << 9U) + | (uint32)((uint32)0U << 8U) + | (uint32)((uint32)0U << 7U) + | (uint32)((uint32)0U << 6U) + | (uint32)((uint32)0U << 5U) + | (uint32)((uint32)0U << 4U) + | (uint32)((uint32)0U << 3U) + | (uint32)((uint32)0U << 2U) + | (uint32)((uint32)0U << 1U) + | (uint32)((uint32)0U << 0U); + + esmREG->IESR4 = (uint32)((uint32)0U << 31U) + | (uint32)((uint32)0U << 30U) + | (uint32)((uint32)0U << 29U) + | (uint32)((uint32)0U << 28U) + | (uint32)((uint32)0U << 27U) + | (uint32)((uint32)0U << 26U) + | (uint32)((uint32)0U << 25U) + | (uint32)((uint32)0U << 24U) + | (uint32)((uint32)0U << 23U) + | (uint32)((uint32)0U << 22U) + | (uint32)((uint32)0U << 21U) + | (uint32)((uint32)0U << 20U) + | (uint32)((uint32)0U << 19U) + | (uint32)((uint32)0U << 18U) + | (uint32)((uint32)0U << 17U) + | (uint32)((uint32)0U << 16U) + | (uint32)((uint32)0U << 15U) + | (uint32)((uint32)0U << 14U) + | (uint32)((uint32)0U << 13U) + | (uint32)((uint32)0U << 12U) + | (uint32)((uint32)0U << 11U) + | (uint32)((uint32)0U << 10U) + | (uint32)((uint32)0U << 9U) + | (uint32)((uint32)0U << 8U) + | (uint32)((uint32)0U << 7U) + | (uint32)((uint32)0U << 6U) + | (uint32)((uint32)0U << 5U) + | (uint32)((uint32)0U << 4U) + | (uint32)((uint32)0U << 3U) + | (uint32)((uint32)0U << 2U) + | (uint32)((uint32)0U << 1U) + | (uint32)((uint32)0U << 0U); + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ +} + + +/** @fn uint32 esmError(void) +* @brief Return Error status +* +* @return The error status +* +* Returns the error status. +*/ +/* SourceId : ESM_SourceId_002 */ +/* DesignId : ESM_DesignId_002 */ +/* Requirements : HL_SR5 */ +uint32 esmError(void) +{ + uint32 status; + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + + status = esmREG->EPSR; + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + + return status; +} + + +/** @fn void esmEnableError(uint64 channels) +* @brief Enable Group 1 Channels Error Signals propagation +* +* @param[in] channels - Channel mask +* +* Enable Group 1 Channels Error Signals propagation to the error pin. +*/ +/* SourceId : ESM_SourceId_003 */ +/* DesignId : ESM_DesignId_003 */ +/* Requirements : HL_SR6 */ +void esmEnableError(uint64 channels) +{ +/* USER CODE BEGIN (7) */ +/* USER CODE END */ + + esmREG->IEPSR4 = (uint32)((channels >> 32U) & 0xFFFFFFFFU); + esmREG->EEPAPR1 = (uint32)(channels & 0xFFFFFFFFU); + +/* USER CODE BEGIN (8) */ +/* USER CODE END */ +} + + +/** @fn void esmDisableError(uint64 channels) +* @brief Disable Group 1 Channels Error Signals propagation +* +* @param[in] channels - Channel mask +* +* Disable Group 1 Channels Error Signals propagation to the error pin. +*/ +/* SourceId : ESM_SourceId_004 */ +/* DesignId : ESM_DesignId_004 */ +/* Requirements : HL_SR7 */ +void esmDisableError(uint64 channels) +{ +/* USER CODE BEGIN (9) */ +/* USER CODE END */ + + esmREG->IEPCR4 = (uint32)((channels >> 32U) & 0xFFFFFFFFU); + esmREG->DEPAPR1 = (uint32)(channels & 0xFFFFFFFFU); + +/* USER CODE BEGIN (10) */ +/* USER CODE END */ +} + + +/** @fn void esmTriggerErrorPinReset(void) +* @brief Trigger error pin reset and switch back to normal operation +* +* Trigger error pin reset and switch back to normal operation. +*/ +/* SourceId : ESM_SourceId_005 */ +/* DesignId : ESM_DesignId_005 */ +/* Requirements : HL_SR8 */ +void esmTriggerErrorPinReset(void) +{ +/* USER CODE BEGIN (11) */ +/* USER CODE END */ + + esmREG->EKR = 5U; + +/* USER CODE BEGIN (12) */ +/* USER CODE END */ +} + + +/** @fn void esmActivateNormalOperation(void) +* @brief Activate normal operation +* +* Activates normal operation mode. +*/ +/* SourceId : ESM_SourceId_006 */ +/* DesignId : ESM_DesignId_006 */ +/* Requirements : HL_SR9 */ +void esmActivateNormalOperation(void) +{ +/* USER CODE BEGIN (13) */ +/* USER CODE END */ + + esmREG->EKR = 0U; + +/* USER CODE BEGIN (14) */ +/* USER CODE END */ +} + + +/** @fn void esmEnableInterrupt(uint64 channels) +* @brief Enable Group 1 Channels Interrupts +* +* @param[in] channels - Channel mask +* +* Enable Group 1 Channels Interrupts. +*/ +/* SourceId : ESM_SourceId_007 */ +/* DesignId : ESM_DesignId_007 */ +/* Requirements : HL_SR10 */ +void esmEnableInterrupt(uint64 channels) +{ +/* USER CODE BEGIN (15) */ +/* USER CODE END */ + + esmREG->IESR4 = (uint32)((channels >> 32U) & 0xFFFFFFFFU); + esmREG->IESR1 = (uint32)(channels & 0xFFFFFFFFU); + +/* USER CODE BEGIN (16) */ +/* USER CODE END */ +} + + +/** @fn void esmDisableInterrupt(uint64 channels) +* @brief Disable Group 1 Channels Interrupts +* +* @param[in] channels - Channel mask +* +* Disable Group 1 Channels Interrupts. +*/ +/* SourceId : ESM_SourceId_008 */ +/* DesignId : ESM_DesignId_008 */ +/* Requirements : HL_SR11 */ +void esmDisableInterrupt(uint64 channels) +{ +/* USER CODE BEGIN (17) */ +/* USER CODE END */ + + esmREG->IECR4 = (uint32)((channels >> 32U) & 0xFFFFFFFFU); + esmREG->IECR1 = (uint32)(channels & 0xFFFFFFFFU); + +/* USER CODE BEGIN (18) */ +/* USER CODE END */ +} + + +/** @fn void esmSetInterruptLevel(uint64 channels, uint64 flags) +* @brief Set Group 1 Channels Interrupt Levels +* +* @param[in] channels - Channel mask +* @param[in] flags - Level mask: - 0: Low priority interrupt +* - 1: High priority interrupt +* +* Set Group 1 Channels Interrupts levels. +*/ +/* SourceId : ESM_SourceId_009 */ +/* DesignId : ESM_DesignId_009 */ +/* Requirements : HL_SR12 */ +void esmSetInterruptLevel(uint64 channels, uint64 flags) +{ +/* USER CODE BEGIN (19) */ +/* USER CODE END */ + + esmREG->ILCR4 = (uint32)(((channels & (~flags)) >> 32U) & 0xFFFFFFFFU); + esmREG->ILSR4 = (uint32)(((channels & flags) >> 32U) & 0xFFFFFFFFU); + esmREG->ILCR1 = (uint32)((channels & (~flags)) & 0xFFFFFFFFU); + esmREG->ILSR1 = (uint32)((channels & flags) & 0xFFFFFFFFU); + +/* USER CODE BEGIN (20) */ +/* USER CODE END */ +} + + +/** @fn void esmClearStatus(uint32 group, uint64 channels) +* @brief Clear Group error status +* +* @param[in] group - Error group +* @param[in] channels - Channel mask +* +* Clear Group error status. +*/ +/* SourceId : ESM_SourceId_010 */ +/* DesignId : ESM_DesignId_010 */ +/* Requirements : HL_SR13 */ +void esmClearStatus(uint32 group, uint64 channels) +{ +/* USER CODE BEGIN (21) */ +/* USER CODE END */ + + esmREG->SR1[group] = (uint32)(channels & 0xFFFFFFFFU); + if(group == 0U) + { + esmREG->SR4[group] = (uint32)((channels >> 32U) & 0xFFFFFFFFU); + } + +/* USER CODE BEGIN (22) */ +/* USER CODE END */ +} + + +/** @fn void esmClearStatusBuffer(uint64 channels) +* @brief Clear Group 2 error status buffer +* +* @param[in] channels - Channel mask +* +* Clear Group 2 error status buffer. +*/ +/* SourceId : ESM_SourceId_011 */ +/* DesignId : ESM_DesignId_011 */ +/* Requirements : HL_SR14 */ +void esmClearStatusBuffer(uint64 channels) +{ +/* USER CODE BEGIN (23) */ +/* USER CODE END */ + + esmREG->SSR2 = (uint32)(channels & 0xFFFFFFFFU); + +/* USER CODE BEGIN (24) */ +/* USER CODE END */ +} + + +/** @fn void esmSetCounterPreloadValue(uint32 value) +* @brief Set counter preload value +* +* @param[in] value - Counter preload value +* +* Set counter preload value. +*/ +/* SourceId : ESM_SourceId_012 */ +/* DesignId : ESM_DesignId_012 */ +/* Requirements : HL_SR15 */ +void esmSetCounterPreloadValue(uint32 value) +{ +/* USER CODE BEGIN (25) */ +/* USER CODE END */ + + esmREG->LTCPR = value & 0xC000U; + +/* USER CODE BEGIN (26) */ +/* USER CODE END */ +} + + +/** @fn uint64 esmGetStatus(uint32 group, uint64 channels) +* @brief Return Error status +* +* @param[in] group - Error group +* @param[in] channels - Error Channels +* +* @return The channels status of selected group +* +* Returns the channels status of selected group. +*/ +/* SourceId : ESM_SourceId_013 */ +/* DesignId : ESM_DesignId_013 */ +/* Requirements : HL_SR16 */ +uint64 esmGetStatus(uint32 group, uint64 channels) +{ + uint64 status; + uint32 ESM_ESTATUS4, ESM_ESTATUS1; + if(group == 0U) + { + ESM_ESTATUS4 = esmREG->SR4[group]; + } + else + { + ESM_ESTATUS4 = 0U; + } + ESM_ESTATUS1 = esmREG->SR1[group]; + +/* USER CODE BEGIN (27) */ +/* USER CODE END */ + status = (((uint64)(ESM_ESTATUS4) << 32U) | (uint64)ESM_ESTATUS1) & channels; + +/* USER CODE BEGIN (28) */ +/* USER CODE END */ + + return status; +} + + +/** @fn uint64 esmGetStatusBuffer(uint64 channels) +* @brief Return Group 2 channel x Error status buffer +* +* @param[in] channels - Error Channels +* +* @return The channels status +* +* Returns the group 2 buffered status of selected channels. +*/ +/* SourceId : ESM_SourceId_014 */ +/* DesignId : ESM_DesignId_014 */ +/* Requirements : HL_SR17 */ +uint64 esmGetStatusBuffer(uint64 channels) +{ + uint64 status; + +/* USER CODE BEGIN (29) */ +/* USER CODE END */ + status = ((uint64)esmREG->SSR2) & channels; + +/* USER CODE BEGIN (30) */ +/* USER CODE END */ + + return status; +} + +/** @fn esmSelfTestFlag_t esmEnterSelfTest(void) +* @brief Return ESM Self test status +* +* @return ESM Self test status +* +* Returns the ESM Self test status. +*/ +/* SourceId : ESM_SourceId_015 */ +/* DesignId : ESM_DesignId_015 */ +/* Requirements : HL_SR19 */ +esmSelfTestFlag_t esmEnterSelfTest(void) +{ + esmSelfTestFlag_t status; + +/* USER CODE BEGIN (31) */ +/* USER CODE END */ + + uint32 errPinStat = esmREG->EPSR & 0x1U; + uint32 esmKeyReg = esmREG->EKR; + if((errPinStat == 0x0U) && (esmKeyReg == 0x0U)) + { + status = esmSelfTest_NotStarted; + } + else + { + esmREG->EKR = 0xAU; + status = esmSelfTest_Active; + if((esmREG->EPSR & 0x1U) != 0x0U) + { + status = esmSelfTest_Failed; + } + esmREG->EKR = 0x5U; + } + +/* USER CODE BEGIN (32) */ +/* USER CODE END */ + + return status; +} + +/** @fn esmSelfTestFlag_t esmSelfTestStatus(void) +* @brief Return ESM Self test status +* +* Returns the ESM Self test status. +*/ +/* SourceId : ESM_SourceId_016 */ +/* DesignId : ESM_DesignId_016 */ +/* Requirements : HL_SR18 */ +esmSelfTestFlag_t esmSelfTestStatus(void) +{ + esmSelfTestFlag_t status; + +/* USER CODE BEGIN (33) */ +/* USER CODE END */ + + if((esmREG->EPSR & 0x1U) == 0x0U) + { + if(esmREG->EKR == 0x5U) + { + status = esmSelfTest_Active; + } + else + { + status = esmSelfTest_Failed; + } + } + else + { + status = esmSelfTest_Passed; + } + +/* USER CODE BEGIN (34) */ +/* USER CODE END */ + + return status; +} + +/** @fn void esmGetConfigValue(esm_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : ESM_SourceId_017 */ +/* DesignId : ESM_DesignId_017 */ +/* Requirements : HL_SR20, HL_SR24 */ +void esmGetConfigValue(esm_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_EEPAPR1 = ESM_EEPAPR1_CONFIGVALUE; + config_reg->CONFIG_IESR1 = ESM_IESR1_CONFIGVALUE; + config_reg->CONFIG_ILSR1 = ESM_ILSR1_CONFIGVALUE; + config_reg->CONFIG_LTCPR = ESM_LTCPR_CONFIGVALUE; + config_reg->CONFIG_EKR = ESM_EKR_CONFIGVALUE; + config_reg->CONFIG_IEPSR4 = ESM_IEPSR4_CONFIGVALUE; + config_reg->CONFIG_IESR4 = ESM_IESR4_CONFIGVALUE; + config_reg->CONFIG_ILSR4 = ESM_ILSR4_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_EEPAPR1 = esmREG->EEPAPR1; + config_reg->CONFIG_IESR1 = esmREG->IESR1; + config_reg->CONFIG_ILSR1 = esmREG->ILSR1; + config_reg->CONFIG_LTCPR = esmREG->LTCPR; + config_reg->CONFIG_EKR = esmREG->EKR; + config_reg->CONFIG_IEPSR4 = esmREG->IEPSR4; + config_reg->CONFIG_IESR4 = esmREG->IESR4; + config_reg->CONFIG_ILSR4 = esmREG->ILSR4; + } +} + +/* USER CODE BEGIN (35) */ +/* USER CODE END */ + +/** @fn void esmHighInterrupt(void) +* @brief High Level Interrupt for ESM +*/ +#pragma CODE_STATE(esmHighInterrupt, 32) +#pragma INTERRUPT(esmHighInterrupt, FIQ) +/* SourceId : ESM_SourceId_018 */ +/* DesignId : ESM_DesignId_018 */ +/* Requirements : HL_SR21, HL_SR22 */ +void esmHighInterrupt(void) +{ + uint32 vec = esmREG->IOFFHR - 1U; + +/* USER CODE BEGIN (36) */ +/* USER CODE END */ + + if (vec < 32U) + { + esmREG->SR1[0U] = (uint32)1U << vec; + esmGroup1Notification(vec); + } + else if (vec < 64U) + { + esmREG->SR1[1U] = (uint32)1U << (vec-32U); + esmGroup2Notification(vec-32U); + } + else if (vec < 96U) + { + esmREG->SR4[0U] = (uint32)1U << (vec-64U); + esmGroup1Notification(vec-32U); + } + else + { + esmREG->SR4[0U] = 0xFFFFFFFFU; + esmREG->SR1[1U] = 0xFFFFFFFFU; + esmREG->SR1[0U] = 0xFFFFFFFFU; + } + +/* USER CODE BEGIN (37) */ +/* USER CODE END */ +} + + +/* USER CODE BEGIN (41) */ +/* USER CODE END */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/gio.c b/TestBoardFirmware/Testboard_HAL_drivers/source/gio.c index 8b010233..5430031d 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/gio.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/gio.c @@ -1,558 +1,558 @@ -/** @file gio.c -* @brief GIO Driver Implementation File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "gio.h" -#include "sys_vim.h" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @fn void gioInit(void) -* @brief Initializes the GIO Driver -* -* This function initializes the GIO module and set the GIO ports -* to the initial values. -*/ -/* SourceId : GIO_SourceId_001 */ -/* DesignId : GIO_DesignId_001 */ -/* Requirements : HL_SR26 */ -void gioInit(void) -{ -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - - /** bring GIO module out of reset */ - gioREG->GCR0 = 1U; - gioREG->ENACLR = 0xFFU; - gioREG->LVLCLR = 0xFFU; - - /** @b initialize @b Port @b A */ - - /** - Port A output values */ - gioPORTA->DOUT = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - - /** - Port A direction */ - gioPORTA->DIR = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - - /** - Port A open drain enable */ - gioPORTA->PDR = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - - /** - Port A pullup / pulldown selection */ - gioPORTA->PSL = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - - /** - Port A pullup / pulldown enable*/ - gioPORTA->PULDIS = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - - /** @b initialize @b Port @b B */ - - /** - Port B output values */ - gioPORTB->DOUT = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - - /** - Port B direction */ - gioPORTB->DIR = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - - /** - Port B open drain enable */ - gioPORTB->PDR = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - - /** - Port B pullup / pulldown selection */ - gioPORTB->PSL = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - - /** - Port B pullup / pulldown enable*/ - gioPORTB->PULDIS = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U); /* Bit 7 */ - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - - /** @b initialize @b interrupts */ - - /** - interrupt polarity */ - gioREG->POL = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U) /* Bit 7 */ - | (uint32)((uint32)0U << 8U) /* Bit 8 */ - | (uint32)((uint32)0U << 9U) /* Bit 9 */ - | (uint32)((uint32)0U << 10U) /* Bit 10 */ - | (uint32)((uint32)0U << 11U) /* Bit 11 */ - | (uint32)((uint32)0U << 12U) /* Bit 12 */ - | (uint32)((uint32)0U << 13U) /* Bit 13 */ - | (uint32)((uint32)0U << 14U) /* Bit 14 */ - | (uint32)((uint32)0U << 15U); /* Bit 15 */ - - - /** - interrupt level */ - gioREG->LVLSET = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U) /* Bit 7 */ - | (uint32)((uint32)0U << 8U) /* Bit 8 */ - | (uint32)((uint32)0U << 9U) /* Bit 9 */ - | (uint32)((uint32)0U << 10U) /* Bit 10 */ - | (uint32)((uint32)0U << 11U) /* Bit 11 */ - | (uint32)((uint32)0U << 12U) /* Bit 12 */ - | (uint32)((uint32)0U << 13U) /* Bit 13 */ - | (uint32)((uint32)0U << 14U) /* Bit 14 */ - | (uint32)((uint32)0U << 15U); /* Bit 15 */ - - - - - /** - clear all pending interrupts */ - gioREG->FLG = 0xFFU; - - /** - enable interrupts */ - gioREG->ENASET = (uint32)((uint32)0U << 0U) /* Bit 0 */ - | (uint32)((uint32)0U << 1U) /* Bit 1 */ - | (uint32)((uint32)0U << 2U) /* Bit 2 */ - | (uint32)((uint32)0U << 3U) /* Bit 3 */ - | (uint32)((uint32)0U << 4U) /* Bit 4 */ - | (uint32)((uint32)0U << 5U) /* Bit 5 */ - | (uint32)((uint32)0U << 6U) /* Bit 6 */ - | (uint32)((uint32)0U << 7U) /* Bit 7 */ - | (uint32)((uint32)0U << 8U) /* Bit 8 */ - | (uint32)((uint32)0U << 9U) /* Bit 9 */ - | (uint32)((uint32)0U << 10U) /* Bit 10 */ - | (uint32)((uint32)0U << 11U) /* Bit 11 */ - | (uint32)((uint32)0U << 12U) /* Bit 12 */ - | (uint32)((uint32)0U << 13U) /* Bit 13 */ - | (uint32)((uint32)0U << 14U) /* Bit 14 */ - | (uint32)((uint32)0U << 15U); /* Bit 15 */ - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ -} - - -/** @fn void gioSetDirection(gioPORT_t *port, uint32 dir) -* @brief Set Port Direction -* @param[in] port pointer to GIO port: -* - gioPORTA: PortA pointer -* - gioPORTB: PortB pointer -* @param[in] dir value to write to DIR register -* -* Set the direction of GIO pins at runtime. -*/ -/* SourceId : GIO_SourceId_002 */ -/* DesignId : GIO_DesignId_002 */ -/* Requirements : HL_SR27 */ -void gioSetDirection(gioPORT_t *port, uint32 dir) -{ - port->DIR = dir; -} - - -/** @fn void gioSetBit(gioPORT_t *port, uint32 bit, uint32 value) -* @brief Write Bit -* @param[in] port pointer to GIO port: -* - gioPORTA: PortA pointer -* - gioPORTB: PortB pointer -* @param[in] bit number 0-7 that specifies the bit to be written to. -* - 0: LSB -* - 7: MSB -* @param[in] value binary value to write to bit -* -* Writes a value to the specified pin of the given GIO port -*/ -/* SourceId : GIO_SourceId_003 */ -/* DesignId : GIO_DesignId_003 */ -/* Requirements : HL_SR28 */ -void gioSetBit(gioPORT_t *port, uint32 bit, uint32 value) -{ -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - - if (value != 0U) - { - port->DSET = (uint32)1U << bit; - } - else - { - port->DCLR = (uint32)1U << bit; - } -} - - -/** @fn void gioSetPort(gioPORT_t *port, uint32 value) -* @brief Write Port Value -* @param[in] port pointer to GIO port: -* - gioPORTA: PortA pointer -* - gioPORTB: PortB pointer -* @param[in] value value to write to port -* -* Writes a value to all pin of a given GIO port -*/ -/* SourceId : GIO_SourceId_004 */ -/* DesignId : GIO_DesignId_004 */ -/* Requirements : HL_SR29 */ -void gioSetPort(gioPORT_t *port, uint32 value) -{ -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - - port->DOUT = value; - -/* USER CODE BEGIN (7) */ -/* USER CODE END */ - -} - - -/** @fn uint32 gioGetBit(gioPORT_t *port, uint32 bit) -* @brief Read Bit -* @param[in] port pointer to GIO port: -* - gioPORTA: PortA pointer -* - gioPORTB: PortB pointer -* @param[in] bit number 0-7 that specifies the bit to be written to. -* - 0: LSB -* - 7: MSB -* -* Reads a the current value from the specified pin of the given GIO port -*/ -/* SourceId : GIO_SourceId_005 */ -/* DesignId : GIO_DesignId_005 */ -/* Requirements : HL_SR30 */ -uint32 gioGetBit(gioPORT_t *port, uint32 bit) -{ -/* USER CODE BEGIN (8) */ -/* USER CODE END */ - - return (port->DIN >> bit) & 1U; -} - - -/** @fn uint32 gioGetPort(gioPORT_t *port) -* @brief Read Port Value -* @param[in] port pointer to GIO port: -* - gioPORTA: PortA pointer -* - gioPORTB: PortB pointer -* -* Reads a the current value of a given GIO port -*/ -/* SourceId : GIO_SourceId_006 */ -/* DesignId : GIO_DesignId_006 */ -/* Requirements : HL_SR31 */ -uint32 gioGetPort(gioPORT_t *port) -{ -/* USER CODE BEGIN (9) */ -/* USER CODE END */ - - return port->DIN; -} - -/** @fn void gioToggleBit(gioPORT_t *port, uint32 bit) -* @brief Write Bit -* @param[in] port pointer to GIO port: -* - gioPORTA: PortA pointer -* - gioPORTB: PortB pointer -* @param[in] bit number 0-7 that specifies the bit to be written to. -* - 0: LSB -* - 7: MSB -* -* Toggle a value to the specified pin of the given GIO port -*/ -/* SourceId : GIO_SourceId_007 */ -/* DesignId : GIO_DesignId_007 */ -/* Requirements : HL_SR32 */ -void gioToggleBit(gioPORT_t *port, uint32 bit) -{ -/* USER CODE BEGIN (10) */ -/* USER CODE END */ - - if ((port->DIN & (uint32)((uint32)1U << bit)) != 0U) - { - port->DCLR = (uint32)1U << bit; - } - else - { - port->DSET = (uint32)1U << bit; - } -} - -/** @fn void gioEnableNotification(uint32 bit) -* @brief Enable Interrupt -* @param[in] port pointer to GIO port: -* - gioPORTA: PortA pointer -* - gioPORTB: PortB pointer -* @param[in] bit interrupt pin to enable -* - 0: LSB -* - 7: MSB -* -* Enables an interrupt pin of selected port -*/ -/* SourceId : GIO_SourceId_008 */ -/* DesignId : GIO_DesignId_008 */ -/* Requirements : HL_SR33 */ -void gioEnableNotification(gioPORT_t *port, uint32 bit) -{ -/* USER CODE BEGIN (11) */ -/* USER CODE END */ - - if (port == gioPORTA) - { - gioREG->ENASET = (uint32)1U << bit; - } - else if (port == gioPORTB) - { - gioREG->ENASET = (uint32)1U << (bit + 8U); - } - else - { - /* Empty */ - } -} - - -/** @fn void gioDisableNotification(uint32 bit) -* @brief Disable Interrupt -* @param[in] port pointer to GIO port: -* - gioPORTA: PortA pointer -* - gioPORTB: PortB pointer -* @param[in] bit interrupt pin to enable -* - 0: LSB -* - 7: MSB -* -* Disables an interrupt pin of selected port -*/ -/* SourceId : GIO_SourceId_009 */ -/* DesignId : GIO_DesignId_009 */ -/* Requirements : HL_SR34 */ -void gioDisableNotification(gioPORT_t *port, uint32 bit) -{ -/* USER CODE BEGIN (12) */ -/* USER CODE END */ - - if (port == gioPORTA) - { - gioREG->ENACLR = (uint32)1U << bit; - } - else if (port == gioPORTB) - { - gioREG->ENACLR = (uint32)1U << (bit + 8U); - } - else - { - /* Empty */ - } -} - -/** @fn void gioGetConfigValue(gio_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : GIO_SourceId_010 */ -/* DesignId : GIO_DesignId_010 */ -/* Requirements : HL_SR37 */ -void gioGetConfigValue(gio_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_INTDET = GIO_INTDET_CONFIGVALUE; - config_reg->CONFIG_POL = GIO_POL_CONFIGVALUE; - config_reg->CONFIG_INTENASET = GIO_INTENASET_CONFIGVALUE; - config_reg->CONFIG_LVLSET = GIO_LVLSET_CONFIGVALUE; - - config_reg->CONFIG_PORTADIR = GIO_PORTADIR_CONFIGVALUE; - config_reg->CONFIG_PORTAPDR = GIO_PORTAPDR_CONFIGVALUE; - config_reg->CONFIG_PORTAPSL = GIO_PORTAPSL_CONFIGVALUE; - config_reg->CONFIG_PORTAPULDIS = GIO_PORTAPULDIS_CONFIGVALUE; - - config_reg->CONFIG_PORTBDIR = GIO_PORTBDIR_CONFIGVALUE; - config_reg->CONFIG_PORTBPDR = GIO_PORTBPDR_CONFIGVALUE; - config_reg->CONFIG_PORTBPSL = GIO_PORTBPSL_CONFIGVALUE; - config_reg->CONFIG_PORTBPULDIS = GIO_PORTBPULDIS_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_INTDET = gioREG->INTDET; - config_reg->CONFIG_POL = gioREG->POL; - config_reg->CONFIG_INTENASET = gioREG->ENASET; - config_reg->CONFIG_LVLSET = gioREG->LVLSET; - - config_reg->CONFIG_PORTADIR = gioPORTA->DIR; - config_reg->CONFIG_PORTAPDR = gioPORTA->PDR; - config_reg->CONFIG_PORTAPSL = gioPORTA->PSL; - config_reg->CONFIG_PORTAPULDIS = gioPORTA->PULDIS; - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_PORTBDIR = gioPORTB->DIR; - config_reg->CONFIG_PORTBPDR = gioPORTB->PDR; - config_reg->CONFIG_PORTBPSL = gioPORTB->PSL; - config_reg->CONFIG_PORTBPULDIS = gioPORTB->PULDIS; - } -} - - -/* USER CODE BEGIN (16) */ -/* USER CODE END */ - -/** @fn void gioLowLevelInterrupt(void) -* @brief GIO Interrupt Handler -* -* Low Level Interrupt handler for GIO pin interrupt -* -*/ -#pragma CODE_STATE(gioLowLevelInterrupt, 32) -#pragma INTERRUPT(gioLowLevelInterrupt, IRQ) - -/* SourceId : GIO_SourceId_012 */ -/* DesignId : GIO_DesignId_011 */ -/* Requirements : HL_SR35, HL_SR36 */ -void gioLowLevelInterrupt(void) -{ - uint32 offset = gioREG->OFF2; - -/* USER CODE BEGIN (17) */ -/* USER CODE END */ - - if (offset != 0U) - { - offset = offset - 1U; - if (offset >= 8U) - { - gioNotification(gioPORTB, offset - 8U); - } - else - { - gioNotification(gioPORTA, offset); - } - } - -/* USER CODE BEGIN (18) */ -/* USER CODE END */ - -} - - -/* USER CODE BEGIN (19) */ -/* USER CODE END */ +/** @file gio.c +* @brief GIO Driver Implementation File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +#include "gio.h" +#include "sys_vim.h" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @fn void gioInit(void) +* @brief Initializes the GIO Driver +* +* This function initializes the GIO module and set the GIO ports +* to the initial values. +*/ +/* SourceId : GIO_SourceId_001 */ +/* DesignId : GIO_DesignId_001 */ +/* Requirements : HL_SR26 */ +void gioInit(void) +{ +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + + /** bring GIO module out of reset */ + gioREG->GCR0 = 1U; + gioREG->ENACLR = 0xFFU; + gioREG->LVLCLR = 0xFFU; + + /** @b initialize @b Port @b A */ + + /** - Port A output values */ + gioPORTA->DOUT = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + + /** - Port A direction */ + gioPORTA->DIR = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + + /** - Port A open drain enable */ + gioPORTA->PDR = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + + /** - Port A pullup / pulldown selection */ + gioPORTA->PSL = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + + /** - Port A pullup / pulldown enable*/ + gioPORTA->PULDIS = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + + /** @b initialize @b Port @b B */ + + /** - Port B output values */ + gioPORTB->DOUT = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + + /** - Port B direction */ + gioPORTB->DIR = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + + /** - Port B open drain enable */ + gioPORTB->PDR = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + + /** - Port B pullup / pulldown selection */ + gioPORTB->PSL = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + + /** - Port B pullup / pulldown enable*/ + gioPORTB->PULDIS = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U); /* Bit 7 */ + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + + /** @b initialize @b interrupts */ + + /** - interrupt polarity */ + gioREG->POL = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U) /* Bit 7 */ + | (uint32)((uint32)0U << 8U) /* Bit 8 */ + | (uint32)((uint32)0U << 9U) /* Bit 9 */ + | (uint32)((uint32)0U << 10U) /* Bit 10 */ + | (uint32)((uint32)0U << 11U) /* Bit 11 */ + | (uint32)((uint32)0U << 12U) /* Bit 12 */ + | (uint32)((uint32)0U << 13U) /* Bit 13 */ + | (uint32)((uint32)0U << 14U) /* Bit 14 */ + | (uint32)((uint32)0U << 15U); /* Bit 15 */ + + + /** - interrupt level */ + gioREG->LVLSET = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U) /* Bit 7 */ + | (uint32)((uint32)0U << 8U) /* Bit 8 */ + | (uint32)((uint32)0U << 9U) /* Bit 9 */ + | (uint32)((uint32)0U << 10U) /* Bit 10 */ + | (uint32)((uint32)0U << 11U) /* Bit 11 */ + | (uint32)((uint32)0U << 12U) /* Bit 12 */ + | (uint32)((uint32)0U << 13U) /* Bit 13 */ + | (uint32)((uint32)0U << 14U) /* Bit 14 */ + | (uint32)((uint32)0U << 15U); /* Bit 15 */ + + + + + /** - clear all pending interrupts */ + gioREG->FLG = 0xFFU; + + /** - enable interrupts */ + gioREG->ENASET = (uint32)((uint32)0U << 0U) /* Bit 0 */ + | (uint32)((uint32)0U << 1U) /* Bit 1 */ + | (uint32)((uint32)0U << 2U) /* Bit 2 */ + | (uint32)((uint32)0U << 3U) /* Bit 3 */ + | (uint32)((uint32)0U << 4U) /* Bit 4 */ + | (uint32)((uint32)0U << 5U) /* Bit 5 */ + | (uint32)((uint32)0U << 6U) /* Bit 6 */ + | (uint32)((uint32)0U << 7U) /* Bit 7 */ + | (uint32)((uint32)0U << 8U) /* Bit 8 */ + | (uint32)((uint32)0U << 9U) /* Bit 9 */ + | (uint32)((uint32)0U << 10U) /* Bit 10 */ + | (uint32)((uint32)0U << 11U) /* Bit 11 */ + | (uint32)((uint32)0U << 12U) /* Bit 12 */ + | (uint32)((uint32)0U << 13U) /* Bit 13 */ + | (uint32)((uint32)0U << 14U) /* Bit 14 */ + | (uint32)((uint32)0U << 15U); /* Bit 15 */ + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ +} + + +/** @fn void gioSetDirection(gioPORT_t *port, uint32 dir) +* @brief Set Port Direction +* @param[in] port pointer to GIO port: +* - gioPORTA: PortA pointer +* - gioPORTB: PortB pointer +* @param[in] dir value to write to DIR register +* +* Set the direction of GIO pins at runtime. +*/ +/* SourceId : GIO_SourceId_002 */ +/* DesignId : GIO_DesignId_002 */ +/* Requirements : HL_SR27 */ +void gioSetDirection(gioPORT_t *port, uint32 dir) +{ + port->DIR = dir; +} + + +/** @fn void gioSetBit(gioPORT_t *port, uint32 bit, uint32 value) +* @brief Write Bit +* @param[in] port pointer to GIO port: +* - gioPORTA: PortA pointer +* - gioPORTB: PortB pointer +* @param[in] bit number 0-7 that specifies the bit to be written to. +* - 0: LSB +* - 7: MSB +* @param[in] value binary value to write to bit +* +* Writes a value to the specified pin of the given GIO port +*/ +/* SourceId : GIO_SourceId_003 */ +/* DesignId : GIO_DesignId_003 */ +/* Requirements : HL_SR28 */ +void gioSetBit(gioPORT_t *port, uint32 bit, uint32 value) +{ +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + + if (value != 0U) + { + port->DSET = (uint32)1U << bit; + } + else + { + port->DCLR = (uint32)1U << bit; + } +} + + +/** @fn void gioSetPort(gioPORT_t *port, uint32 value) +* @brief Write Port Value +* @param[in] port pointer to GIO port: +* - gioPORTA: PortA pointer +* - gioPORTB: PortB pointer +* @param[in] value value to write to port +* +* Writes a value to all pin of a given GIO port +*/ +/* SourceId : GIO_SourceId_004 */ +/* DesignId : GIO_DesignId_004 */ +/* Requirements : HL_SR29 */ +void gioSetPort(gioPORT_t *port, uint32 value) +{ +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + + port->DOUT = value; + +/* USER CODE BEGIN (7) */ +/* USER CODE END */ + +} + + +/** @fn uint32 gioGetBit(gioPORT_t *port, uint32 bit) +* @brief Read Bit +* @param[in] port pointer to GIO port: +* - gioPORTA: PortA pointer +* - gioPORTB: PortB pointer +* @param[in] bit number 0-7 that specifies the bit to be written to. +* - 0: LSB +* - 7: MSB +* +* Reads a the current value from the specified pin of the given GIO port +*/ +/* SourceId : GIO_SourceId_005 */ +/* DesignId : GIO_DesignId_005 */ +/* Requirements : HL_SR30 */ +uint32 gioGetBit(gioPORT_t *port, uint32 bit) +{ +/* USER CODE BEGIN (8) */ +/* USER CODE END */ + + return (port->DIN >> bit) & 1U; +} + + +/** @fn uint32 gioGetPort(gioPORT_t *port) +* @brief Read Port Value +* @param[in] port pointer to GIO port: +* - gioPORTA: PortA pointer +* - gioPORTB: PortB pointer +* +* Reads a the current value of a given GIO port +*/ +/* SourceId : GIO_SourceId_006 */ +/* DesignId : GIO_DesignId_006 */ +/* Requirements : HL_SR31 */ +uint32 gioGetPort(gioPORT_t *port) +{ +/* USER CODE BEGIN (9) */ +/* USER CODE END */ + + return port->DIN; +} + +/** @fn void gioToggleBit(gioPORT_t *port, uint32 bit) +* @brief Write Bit +* @param[in] port pointer to GIO port: +* - gioPORTA: PortA pointer +* - gioPORTB: PortB pointer +* @param[in] bit number 0-7 that specifies the bit to be written to. +* - 0: LSB +* - 7: MSB +* +* Toggle a value to the specified pin of the given GIO port +*/ +/* SourceId : GIO_SourceId_007 */ +/* DesignId : GIO_DesignId_007 */ +/* Requirements : HL_SR32 */ +void gioToggleBit(gioPORT_t *port, uint32 bit) +{ +/* USER CODE BEGIN (10) */ +/* USER CODE END */ + + if ((port->DIN & (uint32)((uint32)1U << bit)) != 0U) + { + port->DCLR = (uint32)1U << bit; + } + else + { + port->DSET = (uint32)1U << bit; + } +} + +/** @fn void gioEnableNotification(uint32 bit) +* @brief Enable Interrupt +* @param[in] port pointer to GIO port: +* - gioPORTA: PortA pointer +* - gioPORTB: PortB pointer +* @param[in] bit interrupt pin to enable +* - 0: LSB +* - 7: MSB +* +* Enables an interrupt pin of selected port +*/ +/* SourceId : GIO_SourceId_008 */ +/* DesignId : GIO_DesignId_008 */ +/* Requirements : HL_SR33 */ +void gioEnableNotification(gioPORT_t *port, uint32 bit) +{ +/* USER CODE BEGIN (11) */ +/* USER CODE END */ + + if (port == gioPORTA) + { + gioREG->ENASET = (uint32)1U << bit; + } + else if (port == gioPORTB) + { + gioREG->ENASET = (uint32)1U << (bit + 8U); + } + else + { + /* Empty */ + } +} + + +/** @fn void gioDisableNotification(uint32 bit) +* @brief Disable Interrupt +* @param[in] port pointer to GIO port: +* - gioPORTA: PortA pointer +* - gioPORTB: PortB pointer +* @param[in] bit interrupt pin to enable +* - 0: LSB +* - 7: MSB +* +* Disables an interrupt pin of selected port +*/ +/* SourceId : GIO_SourceId_009 */ +/* DesignId : GIO_DesignId_009 */ +/* Requirements : HL_SR34 */ +void gioDisableNotification(gioPORT_t *port, uint32 bit) +{ +/* USER CODE BEGIN (12) */ +/* USER CODE END */ + + if (port == gioPORTA) + { + gioREG->ENACLR = (uint32)1U << bit; + } + else if (port == gioPORTB) + { + gioREG->ENACLR = (uint32)1U << (bit + 8U); + } + else + { + /* Empty */ + } +} + +/** @fn void gioGetConfigValue(gio_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : GIO_SourceId_010 */ +/* DesignId : GIO_DesignId_010 */ +/* Requirements : HL_SR37 */ +void gioGetConfigValue(gio_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_INTDET = GIO_INTDET_CONFIGVALUE; + config_reg->CONFIG_POL = GIO_POL_CONFIGVALUE; + config_reg->CONFIG_INTENASET = GIO_INTENASET_CONFIGVALUE; + config_reg->CONFIG_LVLSET = GIO_LVLSET_CONFIGVALUE; + + config_reg->CONFIG_PORTADIR = GIO_PORTADIR_CONFIGVALUE; + config_reg->CONFIG_PORTAPDR = GIO_PORTAPDR_CONFIGVALUE; + config_reg->CONFIG_PORTAPSL = GIO_PORTAPSL_CONFIGVALUE; + config_reg->CONFIG_PORTAPULDIS = GIO_PORTAPULDIS_CONFIGVALUE; + + config_reg->CONFIG_PORTBDIR = GIO_PORTBDIR_CONFIGVALUE; + config_reg->CONFIG_PORTBPDR = GIO_PORTBPDR_CONFIGVALUE; + config_reg->CONFIG_PORTBPSL = GIO_PORTBPSL_CONFIGVALUE; + config_reg->CONFIG_PORTBPULDIS = GIO_PORTBPULDIS_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_INTDET = gioREG->INTDET; + config_reg->CONFIG_POL = gioREG->POL; + config_reg->CONFIG_INTENASET = gioREG->ENASET; + config_reg->CONFIG_LVLSET = gioREG->LVLSET; + + config_reg->CONFIG_PORTADIR = gioPORTA->DIR; + config_reg->CONFIG_PORTAPDR = gioPORTA->PDR; + config_reg->CONFIG_PORTAPSL = gioPORTA->PSL; + config_reg->CONFIG_PORTAPULDIS = gioPORTA->PULDIS; + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_PORTBDIR = gioPORTB->DIR; + config_reg->CONFIG_PORTBPDR = gioPORTB->PDR; + config_reg->CONFIG_PORTBPSL = gioPORTB->PSL; + config_reg->CONFIG_PORTBPULDIS = gioPORTB->PULDIS; + } +} + + +/* USER CODE BEGIN (16) */ +/* USER CODE END */ + +/** @fn void gioLowLevelInterrupt(void) +* @brief GIO Interrupt Handler +* +* Low Level Interrupt handler for GIO pin interrupt +* +*/ +#pragma CODE_STATE(gioLowLevelInterrupt, 32) +#pragma INTERRUPT(gioLowLevelInterrupt, IRQ) + +/* SourceId : GIO_SourceId_012 */ +/* DesignId : GIO_DesignId_011 */ +/* Requirements : HL_SR35, HL_SR36 */ +void gioLowLevelInterrupt(void) +{ + uint32 offset = gioREG->OFF2; + +/* USER CODE BEGIN (17) */ +/* USER CODE END */ + + if (offset != 0U) + { + offset = offset - 1U; + if (offset >= 8U) + { + gioNotification(gioPORTB, offset - 8U); + } + else + { + gioNotification(gioPORTA, offset); + } + } + +/* USER CODE BEGIN (18) */ +/* USER CODE END */ + +} + + +/* USER CODE BEGIN (19) */ +/* USER CODE END */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/het.c b/TestBoardFirmware/Testboard_HAL_drivers/source/het.c index 60a4251c..17a8ce9b 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/het.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/het.c @@ -1,2000 +1,2000 @@ -/** @file het.c -* @brief HET Driver Implementation File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#include "het.h" -#include "sys_vim.h" -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/*----------------------------------------------------------------------------*/ -/* Global variables */ - -static const uint32 s_het1pwmPolarity[8U] = -{ - 3U, - 3U, - 3U, - 3U, - 3U, - 3U, - 3U, - 3U, -}; - - -/*----------------------------------------------------------------------------*/ -/* Default Program */ - -/** @var static const hetINSTRUCTION_t het1PROGRAM[58] -* @brief Default Program -* -* Het program running after initialization. -*/ - -static const hetINSTRUCTION_t het1PROGRAM[58U] = -{ - /* CNT: Timebase - * - Instruction = 0 - * - Next instruction = 1 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = na - * - Reg = T - */ - { - /* Program */ - 0x00002C80U, - /* Control */ - 0x01FFFFFFU, - /* Data */ - 0xFFFFFF80U, - /* Reserved */ - 0x00000000U - }, - /* PWCNT: PWM 0 -> Duty Cycle - * - Instruction = 1 - * - Next instruction = 2 - * - Conditional next instruction = 2 - * - Interrupt = 1 - * - Pin = 8 - */ - { - /* Program */ - 0x000055C0U, - /* Control */ - (0x00004006U | (uint32)((uint32)8U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* DJZ: PWM 0 -> Period - * - Instruction = 2 - * - Next instruction = 3 - * - Conditional next instruction = 41 - * - Interrupt = 2 - * - Pin = na - */ - { - /* Program */ - 0x00007480U, - /* Control */ - 0x00052006U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PWCNT: PWM 1 -> Duty Cycle - * - Instruction = 3 - * - Next instruction = 4 - * - Conditional next instruction = 4 - * - Interrupt = 3 - * - Pin = 10 - */ - { - /* Program */ - 0x000095C0U, - /* Control */ - (0x00008006U | (uint32)((uint32)10U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* DJZ: PWM 1 -> Period - * - Instruction = 4 - * - Next instruction = 5 - * - Conditional next instruction = 43 - * - Interrupt = 4 - * - Pin = na - */ - { - /* Program */ - 0x0000B480U, - /* Control */ - 0x00056006U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PWCNT: PWM 2 -> Duty Cycle - * - Instruction = 5 - * - Next instruction = 6 - * - Conditional next instruction = 6 - * - Interrupt = 5 - * - Pin = 12 - */ - { - /* Program */ - 0x0000D5C0U, - /* Control */ - (0x0000C006U | (uint32)((uint32)12U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* DJZ: PWM 2 -> Period - * - Instruction = 6 - * - Next instruction = 7 - * - Conditional next instruction = 45 - * - Interrupt = 6 - * - Pin = na - */ - { - /* Program */ - 0x0000F480U, - /* Control */ - 0x0005A006U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PWCNT: PWM 3 -> Duty Cycle - * - Instruction = 7 - * - Next instruction = 8 - * - Conditional next instruction = 8 - * - Interrupt = 7 - * - Pin = 14 - */ - { - /* Program */ - 0x000115C0U, - /* Control */ - (0x00010006U | (uint32)((uint32)14U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* DJZ: PWM 3 -> Period - * - Instruction = 8 - * - Next instruction = 9 - * - Conditional next instruction = 47 - * - Interrupt = 8 - * - Pin = na - */ - { - /* Program */ - 0x00013480U, - /* Control */ - 0x0005E006U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PWCNT: PWM 4 -> Duty Cycle - * - Instruction = 9 - * - Next instruction = 10 - * - Conditional next instruction = 10 - * - Interrupt = 9 - * - Pin = 16 - */ - { - /* Program */ - 0x000155C0U, - /* Control */ - (0x00014006U | (uint32)((uint32)16U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* DJZ: PWM 4 -> Period - * - Instruction = 10 - * - Next instruction = 11 - * - Conditional next instruction = 49 - * - Interrupt = 10 - * - Pin = na - */ - { - /* Program */ - 0x00017480U, - /* Control */ - 0x00062006U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PWCNT: PWM 5 -> Duty Cycle - * - Instruction = 11 - * - Next instruction = 12 - * - Conditional next instruction = 12 - * - Interrupt = 11 - * - Pin = 17 - */ - { - /* Program */ - 0x000195C0U, - /* Control */ - (0x00018006U | (uint32)((uint32)17U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* DJZ: PWM 5 -> Period - * - Instruction = 12 - * - Next instruction = 13 - * - Conditional next instruction = 51 - * - Interrupt = 12 - * - Pin = na - */ - { - /* Program */ - 0x0001B480U, - /* Control */ - 0x00066006U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PWCNT: PWM 6 -> Duty Cycle - * - Instruction = 13 - * - Next instruction = 14 - * - Conditional next instruction = 14 - * - Interrupt = 13 - * - Pin = 18 - */ - { - /* Program */ - 0x0001D5C0U, - /* Control */ - (0x0001C006U | (uint32)((uint32)18U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* DJZ: PWM 6 -> Period - * - Instruction = 14 - * - Next instruction = 15 - * - Conditional next instruction = 53 - * - Interrupt = 14 - * - Pin = na - */ - { - /* Program */ - 0x0001F480U, - /* Control */ - 0x0006A006U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PWCNT: PWM 7 -> Duty Cycle - * - Instruction = 15 - * - Next instruction = 16 - * - Conditional next instruction = 16 - * - Interrupt = 15 - * - Pin = 19 - */ - { - /* Program */ - 0x000215C0U, - /* Control */ - (0x00020006U | (uint32)((uint32)19U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* DJZ: PWM 7 -> Period - * - Instruction = 16 - * - Next instruction = 17 - * - Conditional next instruction = 55 - * - Interrupt = 16 - * - Pin = na - */ - { - /* Program */ - 0x00023480U, - /* Control */ - 0x0006E006U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* ECNT: CCU Edge 0 - * - Instruction = 17 - * - Next instruction = 18 - * - Conditional next instruction = 18 - * - Interrupt = 17 - * - Pin = 15 - */ - { - /* Program */ - 0x00025440U, - /* Control */ - (0x00024007U | (uint32)((uint32)15U << 8U) | (uint32)((uint32)3U << 4U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* ECNT: CCU Edge 1 - * - Instruction = 18 - * - Next instruction = 19 - * - Conditional next instruction = 19 - * - Interrupt = 18 - * - Pin = 11 - */ - { - /* Program */ - 0x00027440U, - /* Control */ - (0x00026007U | (uint32)((uint32)11U << 8U) | (uint32)((uint32)1U << 4U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* ECNT: CCU Edge 2 - * - Instruction = 19 - * - Next instruction = 20 - * - Conditional next instruction = 20 - * - Interrupt = 19 - * - Pin = 13 - */ - { - /* Program */ - 0x00029440U, - /* Control */ - (0x00028007U | (uint32)((uint32)13U << 8U) | (uint32)((uint32)1U << 4U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* ECNT: CCU Edge 3 - * - Instruction = 20 - * - Next instruction = 21 - * - Conditional next instruction = 21 - * - Interrupt = 20 - * - Pin = 10 - */ - { - /* Program */ - 0x0002B440U, - /* Control */ - (0x0002A007U | (uint32)((uint32)10U << 8U) | (uint32)((uint32)1U << 4U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* ECNT: CCU Edge 4 - * - Instruction = 21 - * - Next instruction = 22 - * - Conditional next instruction = 22 - * - Interrupt = 21 - * - Pin = 20 - */ - { - /* Program */ - 0x0002D440U, - /* Control */ - (0x0002C007U | (uint32)((uint32)20U << 8U) | (uint32)((uint32)1U << 4U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* ECNT: CCU Edge 5 - * - Instruction = 22 - * - Next instruction = 23 - * - Conditional next instruction = 23 - * - Interrupt = 22 - * - Pin = 21 - */ - { - /* Program */ - 0x0002F440U, - /* Control */ - (0x0002E007U | (uint32)((uint32)21U << 8U) | (uint32)((uint32)1U << 4U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* ECNT: CCU Edge 6 - * - Instruction = 23 - * - Next instruction = 24 - * - Conditional next instruction = 24 - * - Interrupt = 23 - * - Pin = 22 - */ - { - /* Program */ - 0x00031440U, - /* Control */ - (0x00030007U | (uint32)((uint32)22U << 8U) | (uint32)((uint32)1U << 4U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* ECNT: CCU Edge 7 - * - Instruction = 24 - * - Next instruction = 25 - * - Conditional next instruction = 25 - * - Interrupt = 24 - * - Pin = 23 - */ - { - /* Program */ - 0x00033440U, - /* Control */ - (0x00032007U | (uint32)((uint32)23U << 8U) | (uint32)((uint32)1U << 4U)), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Duty 0 - * - Instruction = 25 - * - Next instruction = 26 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 0 - */ - { - /* Program */ - 0x00034E00U | (uint32)((uint32)0U << 6U) | (uint32)(0U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Period 0 - * - Instruction = 26 - * - Next instruction = 27 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 0 + 1 - */ - { - /* Program */ - 0x00036E80U | (uint32)((uint32)0U << 6U) | (uint32)((0U) + 1U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Duty 1 - * - Instruction = 27 - * - Next instruction = 28 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 2 - */ - { - /* Program */ - 0x00038E00U | (uint32)((uint32)0U << 6U) | (uint32)(2U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Period 1 - * - Instruction = 28 - * - Next instruction = 29 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 2 + 1 - */ - { - /* Program */ - 0x0003AE80U | (uint32)((uint32)0U << 6U) | (uint32)((2U) + 1U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Duty 2 - * - Instruction = 29 - * - Next instruction = 30 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 4 - */ - { - /* Program */ - 0x0003CE00U | (uint32)((uint32)0U << 6U) | (uint32)(4U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Period 2 - * - Instruction = 30 - * - Next instruction = 31 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 4 + 1 - */ - { - /* Program */ - 0x0003EE80U | (uint32)((uint32)0U << 6U) | (uint32)((4U) + 1U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Duty 3 - * - Instruction = 31 - * - Next instruction = 32 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 6 - */ - { - /* Program */ - 0x00040E00U | (uint32)((uint32)0U << 6U) | (uint32)(6U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Period 3 - * - Instruction = 32 - * - Next instruction = 33 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 6 + 1 - */ - { - /* Program */ - 0x00042E80U | (uint32)((uint32)0U << 6U) | (uint32)((6U) + 1U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Duty 4 - * - Instruction = 33 - * - Next instruction = 34 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 24 - */ - { - /* Program */ - 0x00044E00U | (uint32)((uint32)0U << 6U) | (uint32)(24U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Period 4 - * - Instruction = 34 - * - Next instruction = 35 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 24 + 1 - */ - { - /* Program */ - 0x00046E80U | (uint32)((uint32)0U << 6U) | (uint32)((24U) + 1U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Duty 5 - * - Instruction = 35 - * - Next instruction = 36 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 26 - */ - { - /* Program */ - 0x00048E00U | (uint32)((uint32)0U << 6U) | (uint32)(26U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Period 5 - * - Instruction = 36 - * - Next instruction = 37 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 26 + 1 - */ - { - /* Program */ - 0x0004AE80U | (uint32)((uint32)0U << 6U) | (uint32)((26U) + 1U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Duty 6 - * - Instruction = 37 - * - Next instruction = 38 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 28 - */ - { - /* Program */ - 0x0004CE00U | (uint32)((uint32)0U << 6U) | (uint32)(28U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Period 6 - * - Instruction = 38 - * - Next instruction = 39 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 28 + 1 - */ - { - /* Program */ - 0x0004EE80U | (uint32)((uint32)0U << 6U) | (uint32)((28U) + 1U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Duty 7 - * - Instruction = 39 - * - Next instruction = 40 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 30 - */ - { - /* Program */ - 0x00050E00U | (uint32)((uint32)0U << 6U) | (uint32)(30U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* PCNT: Capture Period 7 - * - Instruction = 40 - * - Next instruction = 57 - * - Conditional next instruction = na - * - Interrupt = na - * - Pin = 30 + 1 - */ - { - /* Program */ - 0x00072E80U | (uint32)((uint32)0U << 6U) | (uint32)((30U) + 1U), - /* Control */ - 0x00000000U, - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 0 -> Duty Cycle Update - * - Instruction = 41 - * - Next instruction = 42 - * - Conditional next instruction = 2 - * - Interrupt = 1 - * - Pin = 8 - */ - { - /* Program */ - 0x00054201U, - /* Control */ - (0x00004007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)8U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 80128U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 0 -> Period Update - * - Instruction = 42 - * - Next instruction = 3 - * - Conditional next instruction = 41 - * - Interrupt = 2 - * - Pin = na - */ - { - /* Program */ - 0x00006202U, - /* Control */ - (0x00052007U), - /* Data */ - 159872U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 1 -> Duty Cycle Update - * - Instruction = 43 - * - Next instruction = 44 - * - Conditional next instruction = 4 - * - Interrupt = 3 - * - Pin = 10 - */ - { - /* Program */ - 0x00058203U, - /* Control */ - (0x00008007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)10U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 80128U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 1 -> Period Update - * - Instruction = 44 - * - Next instruction = 5 - * - Conditional next instruction = 43 - * - Interrupt = 4 - * - Pin = na - */ - { - /* Program */ - 0x0000A204U, - /* Control */ - (0x00056007U), - /* Data */ - 159872U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 2 -> Duty Cycle Update - * - Instruction = 45 - * - Next instruction = 46 - * - Conditional next instruction = 6 - * - Interrupt = 5 - * - Pin = 12 - */ - { - /* Program */ - 0x0005C205U, - /* Control */ - (0x0000C007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)12U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 80128U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 2 -> Period Update - * - Instruction = 46 - * - Next instruction = 7 - * - Conditional next instruction = 45 - * - Interrupt = 6 - * - Pin = na - */ - { - /* Program */ - 0x0000E206U, - /* Control */ - (0x0005A007U), - /* Data */ - 159872U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 3 -> Duty Cycle Update - * - Instruction = 47 - * - Next instruction = 48 - * - Conditional next instruction = 8 - * - Interrupt = 7 - * - Pin = 14 - */ - { - /* Program */ - 0x00060207U, - /* Control */ - (0x00010007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)14U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 80128U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 3 -> Period Update - * - Instruction = 48 - * - Next instruction = 9 - * - Conditional next instruction = 47 - * - Interrupt = 8 - * - Pin = na - */ - { - /* Program */ - 0x00012208U, - /* Control */ - (0x0005E007U), - /* Data */ - 159872U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 4 -> Duty Cycle Update - * - Instruction = 49 - * - Next instruction = 50 - * - Conditional next instruction = 10 - * - Interrupt = 9 - * - Pin = 16 - */ - { - /* Program */ - 0x00064209U, - /* Control */ - (0x00014007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)16U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 80128U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 4 -> Period Update - * - Instruction = 50 - * - Next instruction = 11 - * - Conditional next instruction = 49 - * - Interrupt = 10 - * - Pin = na - */ - { - /* Program */ - 0x0001620AU, - /* Control */ - (0x00062007U), - /* Data */ - 159872U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 5 -> Duty Cycle Update - * - Instruction = 51 - * - Next instruction = 52 - * - Conditional next instruction = 12 - * - Interrupt = 11 - * - Pin = 17 - */ - { - /* Program */ - 0x0006820BU, - /* Control */ - (0x00018007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)17U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 80128U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 5 -> Period Update - * - Instruction = 52 - * - Next instruction = 13 - * - Conditional next instruction = 51 - * - Interrupt = 12 - * - Pin = na - */ - { - /* Program */ - 0x0001A20CU, - /* Control */ - (0x00066007U), - /* Data */ - 159872U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 6 -> Duty Cycle Update - * - Instruction = 53 - * - Next instruction = 54 - * - Conditional next instruction = 14 - * - Interrupt = 13 - * - Pin = 18 - */ - { - /* Program */ - 0x0006C20DU, - /* Control */ - (0x0001C007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)18U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 80128U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 6 -> Period Update - * - Instruction = 54 - * - Next instruction = 15 - * - Conditional next instruction = 53 - * - Interrupt = 14 - * - Pin = na - */ - { - /* Program */ - 0x0001E20EU, - /* Control */ - (0x0006A007U), - /* Data */ - 159872U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 7 -> Duty Cycle Update - * - Instruction = 55 - * - Next instruction = 56 - * - Conditional next instruction = 16 - * - Interrupt = 15 - * - Pin = 19 - */ - { - /* Program */ - 0x0007020FU, - /* Control */ - (0x00020007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)19U << 8U) | (uint32)((uint32)3U << 3U)), - /* Data */ - 80128U, - /* Reserved */ - 0x00000000U - }, - /* MOV64: PWM 7 -> Period Update - * - Instruction = 56 - * - Next instruction = 17 - * - Conditional next instruction = 55 - * - Interrupt = 16 - * - Pin = na - */ - { - /* Program */ - 0x00022210U, - /* Control */ - (0x0006E007U), - /* Data */ - 159872U, - /* Reserved */ - 0x00000000U - }, - /* WCAP: Capture timestamp - * - Instruction = 57 - * - Next instruction = 0 - * - Conditional next instruction = 0 - * - Interrupt = na - * - Pin = na - * - Reg = T - */ - { - /* Program */ - 0x00001600U, - /* Control */ - (0x00000004U), - /* Data */ - 0x00000000U, - /* Reserved */ - 0x00000000U - }, -}; - - - -/** @fn void hetInit(void) -* @brief Initializes the het Driver -* -* This function initializes the het 1 module. -*/ -/* SourceId : HET_SourceId_001 */ -/* DesignId : HET_DesignId_001 */ -/* Requirements : HL_SR363 */ -void hetInit(void) -{ - /** @b initialize @b HET */ - - /** - Set HET pins default output value */ - hetREG1->DOUT = (uint32)((uint32)0U << 31U) - | (uint32)((uint32)0U << 30U) - | (uint32)((uint32)0U << 29U) - | (uint32)((uint32)0U << 28U) - | (uint32)((uint32)0U << 27U) - | (uint32)((uint32)0U << 26U) - | (uint32)((uint32)0U << 25U) - | (uint32)((uint32)0U << 24U) - | (uint32)((uint32)0U << 23U) - | (uint32)((uint32)0U << 22U) - | (uint32)((uint32)0U << 21U) - | (uint32)((uint32)0U << 20U) - | (uint32)((uint32)0U << 19U) - | (uint32)((uint32)0U << 18U) - | (uint32)((uint32)0U << 17U) - | (uint32)((uint32)0U << 16U) - | (uint32)((uint32)0U << 15U) - | (uint32)((uint32)0U << 14U) - | (uint32)((uint32)0U << 13U) - | (uint32)((uint32)0U << 12U) - | (uint32)((uint32)0U << 11U) - | (uint32)((uint32)0U << 10U) - | (uint32)((uint32)0U << 9U) - | (uint32)((uint32)0U << 8U) - | (uint32)((uint32)0U << 7U) - | (uint32)((uint32)0U << 6U) - | (uint32)((uint32)0U << 5U) - | (uint32)((uint32)0U << 4U) - | (uint32)((uint32)0U << 3U) - | (uint32)((uint32)0U << 2U) - | (uint32)((uint32)0U << 1U) - | (uint32)((uint32)0U << 0U); - - /** - Set HET pins direction */ - hetREG1->DIR = (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U; - - /** - Set HET pins open drain enable */ - hetREG1->PDR = (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U; - - /** - Set HET pins pullup/down enable */ - hetREG1->PULDIS = (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U; - - /** - Set HET pins pullup/down select */ - hetREG1->PSL = (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00008000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U; - - /** - Set HET pins high resolution share */ - hetREG1->HRSH = (uint32) 0x00008000U - | (uint32) 0x00004000U - | (uint32) 0x00002000U - | (uint32) 0x00001000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000008U - | (uint32) 0x00000004U - | (uint32) 0x00000002U - | (uint32) 0x00000001U; - - /** - Set HET pins AND share */ - hetREG1->AND = (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U; - - /** - Set HET pins XOR share */ - hetREG1->XOR = (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U; - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - /** - Setup prescaler values - * - Loop resolution prescaler - * - High resolution prescaler - */ - hetREG1->PFR = (uint32)((uint32) 6U << 8U) - | ((uint32) 0U); - - - /** - Parity control register - * - Enable/Disable Parity check - */ - hetREG1->PCR = (uint32) 0x00000005U; - - /** - Fill HET RAM with opcodes and Data */ - /*SAFETYMCUSW 94 S MR:11.1,11.2,11.4 "HET RAM Fill from the table - Allowed as per MISRA rule 11.2" */ - /*SAFETYMCUSW 94 S MR:11.1,11.2,11.4 "HET RAM Fill from the table - Allowed as per MISRA rule 11.2" */ - /*SAFETYMCUSW 95 S MR:11.1,11.4 "HET RAM Fill from the table - Allowed as per MISRA rule 11.2" */ - /*SAFETYMCUSW 95 S MR:11.1,11.4 "HET RAM Fill from the table - Allowed as per MISRA rule 11.2" */ - (void)memcpy((void *)hetRAM1, (const void *)het1PROGRAM, sizeof(het1PROGRAM)); - - /** - Setup interrupt priority level - * - PWM 0 end of duty level - * - PWM 0 end of period level - * - PWM 1 end of duty level - * - PWM 1 end of period level - * - PWM 2 end of duty level - * - PWM 2 end of period level - * - PWM 3 end of duty level - * - PWM 3 end of period level - * - PWM 4 end of duty level - * - PWM 4 end of period level - * - PWM 5 end of duty level - * - PWM 5 end of period level - * - PWM 6 end of duty level - * - PWM 6 end of period level - * - PWM 7 end of duty level - * - PWM 7 end of period level - - * - CCU Edge Detection 0 level - * - CCU Edge Detection 1 level - * - CCU Edge Detection 2 level - * - CCU Edge Detection 3 level - * - CCU Edge Detection 4 level - * - CCU Edge Detection 5 level - * - CCU Edge Detection 6 level - * - CCU Edge Detection 7 level - */ - hetREG1->PRY = (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00020000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U; - - /** - Enable interrupts - * - PWM 0 end of duty - * - PWM 0 end of period - * - PWM 1 end of duty - * - PWM 1 end of period - * - PWM 2 end of duty - * - PWM 2 end of period - * - PWM 3 end of duty - * - PWM 3 end of period - * - PWM 4 end of duty - * - PWM 4 end of period - * - PWM 5 end of duty - * - PWM 5 end of period - * - PWM 6 end of duty - * - PWM 6 end of period - * - PWM 7 end of duty - * - PWM 7 end of period - * - CCU Edge Detection 0 - * - CCU Edge Detection 1 - * - CCU Edge Detection 2 - * - CCU Edge Detection 3 - * - CCU Edge Detection 4 - * - CCU Edge Detection 5 - * - CCU Edge Detection 6 - * - CCU Edge Detection 7 - */ - hetREG1->INTENAC = 0xFFFFFFFFU; - hetREG1->INTENAS = (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00020000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U - | (uint32) 0x00000000U; - - - /** - Setup control register - * - Enable output buffers - * - Ignore software breakpoints - * - Master or Slave Clock Mode - * - Enable HET - */ - hetREG1->GCR = ( 0x00000001U - | (uint32)((uint32)0U << 24U) - | (uint32)((uint32)1U << 16U) - | (0x00020000U)); - - -} -/** @fn void pwmStart( hetRAMBASE_t * hetRAM, uint32 pwm) -* @brief Start pwm signal -* @param[in] hetRAM Pointer to HET RAM: -* - hetRAM1: HET1 RAM pointer -* - hetRAM2: HET2 RAM pointer -* @param[in] pwm Pwm signal: -* - pwm0: Pwm 0 -* - pwm1: Pwm 1 -* - pwm2: Pwm 2 -* - pwm3: Pwm 3 -* - pwm4: Pwm 4 -* - pwm5: Pwm 5 -* - pwm6: Pwm 6 -* - pwm7: Pwm 7 -* -* Start the given pwm signal -*/ -/* SourceId : HET_SourceId_002 */ -/* DesignId : HET_DesignId_002 */ -/* Requirements : HL_SR364 */ -void pwmStart( hetRAMBASE_t * hetRAM, uint32 pwm) -{ - - hetRAM->Instruction[(pwm << 1U) + 41U].Control |= 0x00400000U; -} - - -/** @fn void pwmStop( hetRAMBASE_t * hetRAM, uint32 pwm) -* @brief Stop pwm signal -* @param[in] hetRAM Pointer to HET RAM: -* - hetRAM1: HET1 RAM pointer -* - hetRAM2: HET2 RAM pointer -* @param[in] pwm Pwm signal: -* - pwm0: Pwm 0 -* - pwm1: Pwm 1 -* - pwm2: Pwm 2 -* - pwm3: Pwm 3 -* - pwm4: Pwm 4 -* - pwm5: Pwm 5 -* - pwm6: Pwm 6 -* - pwm7: Pwm 7 -* -* Stop the given pwm signal -*/ -/* SourceId : HET_SourceId_003 */ -/* DesignId : HET_DesignId_003 */ -/* Requirements : HL_SR365 */ -void pwmStop( hetRAMBASE_t * hetRAM, uint32 pwm) -{ - hetRAM->Instruction[(pwm << 1U) + 41U].Control &= ~(uint32)0x00400000U; -} - - -/** @fn void pwmSetDuty(hetRAMBASE_t * hetRAM, uint32 pwm, uint32 pwmDuty) -* @brief Set duty cycle -* @param[in] hetRAM Pointer to HET RAM: -* - hetRAM1: HET1 RAM pointer -* - hetRAM2: HET2 RAM pointer -* @param[in] pwm Pwm signal: -* - pwm0: Pwm 0 -* - pwm1: Pwm 1 -* - pwm2: Pwm 2 -* - pwm3: Pwm 3 -* - pwm4: Pwm 4 -* - pwm5: Pwm 5 -* - pwm6: Pwm 6 -* - pwm7: Pwm 7 -* @param[in] pwmDuty duty cycle in %. -* -* Sets a new duty cycle on the given pwm signal -*/ -/* SourceId : HET_SourceId_004 */ -/* DesignId : HET_DesignId_004 */ -/* Requirements : HL_SR366 */ -void pwmSetDuty(hetRAMBASE_t * hetRAM, uint32 pwm, uint32 pwmDuty) -{ - uint32 action; - uint32 pwmPolarity =0U; - uint32 pwmPeriod = hetRAM->Instruction[(pwm << 1U) + 42U].Data + 128U; - pwmPeriod = pwmPeriod >> 7U; - - if(hetRAM == hetRAM1) - { - pwmPolarity = s_het1pwmPolarity[pwm]; - } - else - { - } - if (pwmDuty == 0U) - { - action = (pwmPolarity == 3U) ? 0U : 2U; - } - else if (pwmDuty >= 100U) - { - action = (pwmPolarity == 3U) ? 2U : 0U; - } - else - { - action = pwmPolarity; - } - - hetRAM->Instruction[(pwm << 1U) + 41U].Control = ((hetRAM->Instruction[(pwm << 1U) + 41U].Control) & (~(uint32)(0x00000018U))) | (action << 3U); - hetRAM->Instruction[(pwm << 1U) + 41U].Data = (((pwmPeriod * pwmDuty) / 100U) << 7U) + 128U; -} - - -/** @fn void pwmSetSignal(hetRAMBASE_t * hetRAM, uint32 pwm, hetSIGNAL_t signal) -* @brief Set period -* @param[in] hetRAM Pointer to HET RAM: -* - hetRAM1: HET1 RAM pointer -* - hetRAM2: HET2 RAM pointer -* @param[in] pwm Pwm signal: -* - pwm0: Pwm 0 -* - pwm1: Pwm 1 -* - pwm2: Pwm 2 -* - pwm3: Pwm 3 -* - pwm4: Pwm 4 -* - pwm5: Pwm 5 -* - pwm6: Pwm 6 -* - pwm7: Pwm 7 -* @param[in] signal signal - - duty cycle in %. -* - period period in us. -* -* Sets a new pwm signal -*/ -/* SourceId : HET_SourceId_005 */ -/* DesignId : HET_DesignId_005 */ -/* Requirements : HL_SR367 */ -void pwmSetSignal(hetRAMBASE_t * hetRAM, uint32 pwm, hetSIGNAL_t signal) -{ - uint32 action; - uint32 pwmPolarity = 0U; - float64 pwmPeriod = 0.0F; - - if(hetRAM == hetRAM1) - { - pwmPeriod = (signal.period * 1000.0F) / 800.000F; - pwmPolarity = s_het1pwmPolarity[pwm]; - } - else - { - } - if (signal.duty == 0U) - { - action = (pwmPolarity == 3U) ? 0U : 2U; - } - else if (signal.duty >= 100U) - { - action = (pwmPolarity == 3U) ? 2U : 0U; - } - else - { - action = pwmPolarity; - } - - hetRAM->Instruction[(pwm << 1U) + 41U].Control = ((hetRAM->Instruction[(pwm << 1U) + 41U].Control) & (~(uint32)(0x00000018U))) | (action << 3U); - hetRAM->Instruction[(pwm << 1U) + 41U].Data = ((((uint32)pwmPeriod * signal.duty) / 100U) << 7U ) + 128U; - hetRAM->Instruction[(pwm << 1U) + 42U].Data = ((uint32)pwmPeriod << 7U) - 128U; - -} - - -/** @fn void pwmGetSignal(hetRAMBASE_t * hetRAM, uint32 pwm, hetSIGNAL_t signal) -* @brief Get duty cycle -* @param[in] hetRAM Pointer to HET RAM: -* - hetRAM1: HET1 RAM pointer -* - hetRAM2: HET2 RAM pointer -* @param[in] pwm Pwm signal: -* - pwm0: Pwm 0 -* - pwm1: Pwm 1 -* - pwm2: Pwm 2 -* - pwm3: Pwm 3 -* - pwm4: Pwm 4 -* - pwm5: Pwm 5 -* - pwm6: Pwm 6 -* - pwm7: Pwm 7 -* @param[in] signal signal -* - duty cycle in %. -* - period period in us. -* -* Gets current signal of the given pwm signal. -*/ -/* SourceId : HET_SourceId_006 */ -/* DesignId : HET_DesignId_006 */ -/* Requirements : HL_SR368 */ -void pwmGetSignal(hetRAMBASE_t * hetRAM, uint32 pwm, hetSIGNAL_t* signal) -{ - uint32 pwmDuty = (hetRAM->Instruction[(pwm << 1U) + 41U].Data - 128U) >> 7U; - uint32 pwmPeriod = (hetRAM->Instruction[(pwm << 1U) + 42U].Data + 128U) >> 7U; - - signal->duty = (pwmDuty * 100U) / pwmPeriod; - - if(hetRAM == hetRAM1) - { - signal->period = ((float64)pwmPeriod * 800.000F) / 1000.0F; - } - else - { - signal->period = ((float64)pwmPeriod * 800.000F) / 1000.0F; - } -} - -/** @fn void pwmEnableNotification(hetBASE_t * hetREG, uint32 pwm, uint32 notification) -* @brief Enable pwm notification -* @param[in] hetREG Pointer to HET Module: -* - hetREG1: HET1 Module pointer -* - hetREG2: HET2 Module pointer -* @param[in] pwm Pwm signal: -* - pwm0: Pwm 0 -* - pwm1: Pwm 1 -* - pwm2: Pwm 2 -* - pwm3: Pwm 3 -* - pwm4: Pwm 4 -* - pwm5: Pwm 5 -* - pwm6: Pwm 6 -* - pwm7: Pwm 7 -* @param[in] notification Pwm notification: -* - pwmEND_OF_DUTY: Notification on end of duty -* - pwmEND_OF_PERIOD: Notification on end of end period -* - pwmEND_OF_BOTH: Notification on end of both duty and period -*/ -/* SourceId : HET_SourceId_007 */ -/* DesignId : HET_DesignId_007 */ -/* Requirements : HL_SR369 */ -void pwmEnableNotification(hetBASE_t * hetREG, uint32 pwm, uint32 notification) -{ - hetREG->FLG = notification << (pwm << 1U); - hetREG->INTENAS = notification << (pwm << 1U); -} - - -/** @fn void pwmDisableNotification(hetBASE_t * hetREG, uint32 pwm, uint32 notification) -* @brief Enable pwm notification -* @param[in] hetREG Pointer to HET Module: -* - hetREG1: HET1 Module pointer -* - hetREG2: HET2 Module pointer -* @param[in] pwm Pwm signal: -* - pwm0: Pwm 0 -* - pwm1: Pwm 1 -* - pwm2: Pwm 2 -* - pwm3: Pwm 3 -* - pwm4: Pwm 4 -* - pwm5: Pwm 5 -* - pwm6: Pwm 6 -* - pwm7: Pwm 7 -* @param[in] notification Pwm notification: -* - pwmEND_OF_DUTY: Notification on end of duty -* - pwmEND_OF_PERIOD: Notification on end of end period -* - pwmEND_OF_BOTH: Notification on end of both duty and period -*/ -/* SourceId : HET_SourceId_008 */ -/* DesignId : HET_DesignId_008 */ -/* Requirements : HL_SR370 */ -void pwmDisableNotification(hetBASE_t * hetREG, uint32 pwm, uint32 notification) -{ - hetREG->INTENAC = notification << (pwm << 1U); -} - - -/** @fn void edgeResetCounter(hetRAMBASE_t * hetRAM, uint32 edge) -* @brief Resets edge counter to 0 -* @param[in] hetRAM Pointer to HET RAM: -* - hetRAM1: HET1 RAM pointer -* - hetRAM2: HET2 RAM pointer -* @param[in] edge Edge signal: -* - edge0: Edge 0 -* - edge1: Edge 1 -* - edge2: Edge 2 -* - edge3: Edge 3 -* - edge4: Edge 4 -* - edge5: Edge 5 -* - edge6: Edge 6 -* - edge7: Edge 7 -* -* Reset edge counter to 0. -*/ -/* SourceId : HET_SourceId_009 */ -/* DesignId : HET_DesignId_009 */ -/* Requirements : HL_SR372 */ -void edgeResetCounter(hetRAMBASE_t * hetRAM, uint32 edge) -{ - hetRAM->Instruction[edge + 17U].Data = 0U; -} - - -/** @fn uint32 edgeGetCounter(hetRAMBASE_t * hetRAM, uint32 edge) -* @brief Get current edge counter value -* @param[in] hetRAM Pointer to HET RAM: -* - hetRAM1: HET1 RAM pointer -* - hetRAM2: HET2 RAM pointer -* @param[in] edge Edge signal: -* - edge0: Edge 0 -* - edge1: Edge 1 -* - edge2: Edge 2 -* - edge3: Edge 3 -* - edge4: Edge 4 -* - edge5: Edge 5 -* - edge6: Edge 6 -* - edge7: Edge 7 -* -* Gets current edge counter value. -*/ -/* SourceId : HET_SourceId_010 */ -/* DesignId : HET_DesignId_010 */ -/* Requirements : HL_SR373 */ -uint32 edgeGetCounter(hetRAMBASE_t * hetRAM, uint32 edge) -{ - return hetRAM->Instruction[edge + 17U].Data >> 7U; -} - - -/** @fn void edgeEnableNotification(hetBASE_t * hetREG, uint32 edge) -* @brief Enable edge notification -* @param[in] hetREG Pointer to HET Module: -* - hetREG1: HET1 Module pointer -* - hetREG2: HET2 Module pointer -* @param[in] edge Edge signal: -* - edge0: Edge 0 -* - edge1: Edge 1 -* - edge2: Edge 2 -* - edge3: Edge 3 -* - edge4: Edge 4 -* - edge5: Edge 5 -* - edge6: Edge 6 -* - edge7: Edge 7 -*/ -/* SourceId : HET_SourceId_011 */ -/* DesignId : HET_DesignId_011 */ -/* Requirements : HL_SR374 */ -void edgeEnableNotification(hetBASE_t * hetREG, uint32 edge) -{ - hetREG->FLG = (uint32)0x20000U << edge; - hetREG->INTENAS = (uint32)0x20000U << edge; -} - - -/** @fn void edgeDisableNotification(hetBASE_t * hetREG, uint32 edge) -* @brief Enable edge notification -* @param[in] hetREG Pointer to HET Module: -* - hetREG1: HET1 Module pointer -* - hetREG2: HET2 Module pointer -* @param[in] edge Edge signal: -* - edge0: Edge 0 -* - edge1: Edge 1 -* - edge2: Edge 2 -* - edge3: Edge 3 -* - edge4: Edge 4 -* - edge5: Edge 5 -* - edge6: Edge 6 -* - edge7: Edge 7 -*/ -/* SourceId : HET_SourceId_012 */ -/* DesignId : HET_DesignId_012 */ -/* Requirements : HL_SR375 */ -void edgeDisableNotification(hetBASE_t * hetREG, uint32 edge) -{ - hetREG->INTENAC = (uint32)0x20000U << edge; -} - - -/** @fn void capGetSignal(hetRAMBASE_t * hetRAM, uint32 cap, hetSIGNAL_t signal) -* @brief Get capture signal -* @param[in] hetRAM Pointer to HET RAM: -* - hetRAM1: HET1 RAM pointer -* - hetRAM2: HET2 RAM pointer -* @param[in] cap captured signal: -* - cap0: Captured signal 0 -* - cap1: Captured signal 1 -* - cap2: Captured signal 2 -* - cap3: Captured signal 3 -* - cap4: Captured signal 4 -* - cap5: Captured signal 5 -* - cap6: Captured signal 6 -* - cap7: Captured signal 7 -* @param[in] signal signal -* - duty cycle in %. -* - period period in us. -* -* Gets current signal of the given capture signal. -*/ -/* SourceId : HET_SourceId_013 */ -/* DesignId : HET_DesignId_013 */ -/* Requirements : HL_SR377 */ -void capGetSignal(hetRAMBASE_t * hetRAM, uint32 cap, hetSIGNAL_t *signal) -{ - uint32 pwmDuty = (hetRAM->Instruction[(cap << 1U) + 25U].Data) >> 7U; - uint32 pwmPeriod = (hetRAM->Instruction[(cap << 1U) + 26U].Data) >> 7U; - - signal->duty = (pwmDuty * 100U) / pwmPeriod; - - if( hetRAM == hetRAM1) - { - signal->period = ((float64)pwmPeriod * 800.000F) / 1000.0F; - } - else - { - signal->period = ((float64)pwmPeriod * 800.000F) / 1000.0F; - } -} - - -/** @fn void hetResetTimestamp(hetRAMBASE_t *hetRAM) -* @brief Resets timestamp -* @param[in] hetRAM Pointer to HET RAM: -* - hetRAM1: HET1 RAM pointer -* - hetRAM2: HET2 RAM pointer -* -* Resets loop count based timestamp. -*/ -/* SourceId : HET_SourceId_014 */ -/* DesignId : HET_DesignId_014 */ -/* Requirements : HL_SR378 */ -void hetResetTimestamp(hetRAMBASE_t * hetRAM) -{ - hetRAM->Instruction[0U].Data = 0U; -} - - -/** @fn uint32 hetGetTimestamp(hetRAMBASE_t *hetRAM) -* @brief Returns timestamp -* -* Returns loop count based timestamp. -*/ -/* SourceId : HET_SourceId_015 */ -/* DesignId : HET_DesignId_015 */ -/* Requirements : HL_SR379 */ -uint32 hetGetTimestamp(hetRAMBASE_t * hetRAM) -{ - return hetRAM->Instruction[57U].Data; -} - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - - -/** @fn void het1GetConfigValue(het_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the HET1 configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : HET_SourceId_016 */ -/* DesignId : HET_DesignId_016 */ -/* Requirements : HL_SR379 */ -void het1GetConfigValue(het_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_GCR = HET1_GCR_CONFIGVALUE; - config_reg->CONFIG_PFR = HET1_PFR_CONFIGVALUE; - config_reg->CONFIG_INTENAS = HET1_INTENAS_CONFIGVALUE; - config_reg->CONFIG_INTENAC = HET1_INTENAC_CONFIGVALUE; - config_reg->CONFIG_PRY = HET1_PRY_CONFIGVALUE; - config_reg->CONFIG_AND = HET1_AND_CONFIGVALUE; - config_reg->CONFIG_HRSH = HET1_HRSH_CONFIGVALUE; - config_reg->CONFIG_XOR = HET1_XOR_CONFIGVALUE; - config_reg->CONFIG_DIR = HET1_DIR_CONFIGVALUE; - config_reg->CONFIG_PDR = HET1_PDR_CONFIGVALUE; - config_reg->CONFIG_PULDIS = HET1_PULDIS_CONFIGVALUE; - config_reg->CONFIG_PSL = HET1_PSL_CONFIGVALUE; - config_reg->CONFIG_PCR = HET1_PCR_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_GCR = hetREG1->GCR; - config_reg->CONFIG_PFR = hetREG1->PFR; - config_reg->CONFIG_INTENAS = hetREG1->INTENAS; - config_reg->CONFIG_INTENAC = hetREG1->INTENAC; - config_reg->CONFIG_PRY = hetREG1->PRY; - config_reg->CONFIG_AND = hetREG1->AND; - config_reg->CONFIG_HRSH = hetREG1->HRSH; - config_reg->CONFIG_XOR = hetREG1->XOR; - config_reg->CONFIG_DIR = hetREG1->DIR; - config_reg->CONFIG_PDR = hetREG1->PDR; - config_reg->CONFIG_PULDIS = hetREG1->PULDIS; - config_reg->CONFIG_PSL = hetREG1->PSL; - config_reg->CONFIG_PCR = hetREG1->PCR; - } -} - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - -/** @fn void het1HighLevelInterrupt(void) -* @brief Level 0 Interrupt for HET1 -*/ -#pragma CODE_STATE(het1HighLevelInterrupt, 32) -#pragma INTERRUPT(het1HighLevelInterrupt, IRQ) - -/* SourceId : HET_SourceId_018 */ -/* DesignId : HET_DesignId_017 */ -/* Requirements : HL_SR371, HL_SR380, HL_SR381 */ -void het1HighLevelInterrupt(void) -{ - uint32 vec = hetREG1->OFF1; - - if (vec < 18U) - { - if ((vec & 1U) != 0U) - { - pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_PERIOD); - } - else - { - pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_DUTY); - } - } - else - { - edgeNotification(hetREG1,vec - 18U); - } -} - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - -/** @fn void het1LowLevelInterrupt(void) -* @brief Level 1 Interrupt for HET1 -*/ -#pragma CODE_STATE(het1LowLevelInterrupt, 32) -#pragma INTERRUPT(het1LowLevelInterrupt, IRQ) - -/* SourceId : HET_SourceId_019 */ -/* DesignId : HET_DesignId_017 */ -/* Requirements : HL_SR371, HL_SR380, HL_SR381 */ -void het1LowLevelInterrupt(void) -{ - uint32 vec = hetREG1->OFF2; - - if (vec < 18U) - { - if ((vec & 1U) != 0U) - { - pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_PERIOD); - } - else - { - pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_DUTY); - } - } - else - { - edgeNotification(hetREG1,vec - 18U); - } -} - +/** @file het.c +* @brief HET Driver Implementation File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#include "het.h" +#include "sys_vim.h" +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/*----------------------------------------------------------------------------*/ +/* Global variables */ + +static const uint32 s_het1pwmPolarity[8U] = +{ + 3U, + 3U, + 3U, + 3U, + 3U, + 3U, + 3U, + 3U, +}; + + +/*----------------------------------------------------------------------------*/ +/* Default Program */ + +/** @var static const hetINSTRUCTION_t het1PROGRAM[58] +* @brief Default Program +* +* Het program running after initialization. +*/ + +static const hetINSTRUCTION_t het1PROGRAM[58U] = +{ + /* CNT: Timebase + * - Instruction = 0 + * - Next instruction = 1 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = na + * - Reg = T + */ + { + /* Program */ + 0x00002C80U, + /* Control */ + 0x01FFFFFFU, + /* Data */ + 0xFFFFFF80U, + /* Reserved */ + 0x00000000U + }, + /* PWCNT: PWM 0 -> Duty Cycle + * - Instruction = 1 + * - Next instruction = 2 + * - Conditional next instruction = 2 + * - Interrupt = 1 + * - Pin = 8 + */ + { + /* Program */ + 0x000055C0U, + /* Control */ + (0x00004006U | (uint32)((uint32)8U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* DJZ: PWM 0 -> Period + * - Instruction = 2 + * - Next instruction = 3 + * - Conditional next instruction = 41 + * - Interrupt = 2 + * - Pin = na + */ + { + /* Program */ + 0x00007480U, + /* Control */ + 0x00052006U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PWCNT: PWM 1 -> Duty Cycle + * - Instruction = 3 + * - Next instruction = 4 + * - Conditional next instruction = 4 + * - Interrupt = 3 + * - Pin = 10 + */ + { + /* Program */ + 0x000095C0U, + /* Control */ + (0x00008006U | (uint32)((uint32)10U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* DJZ: PWM 1 -> Period + * - Instruction = 4 + * - Next instruction = 5 + * - Conditional next instruction = 43 + * - Interrupt = 4 + * - Pin = na + */ + { + /* Program */ + 0x0000B480U, + /* Control */ + 0x00056006U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PWCNT: PWM 2 -> Duty Cycle + * - Instruction = 5 + * - Next instruction = 6 + * - Conditional next instruction = 6 + * - Interrupt = 5 + * - Pin = 12 + */ + { + /* Program */ + 0x0000D5C0U, + /* Control */ + (0x0000C006U | (uint32)((uint32)12U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* DJZ: PWM 2 -> Period + * - Instruction = 6 + * - Next instruction = 7 + * - Conditional next instruction = 45 + * - Interrupt = 6 + * - Pin = na + */ + { + /* Program */ + 0x0000F480U, + /* Control */ + 0x0005A006U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PWCNT: PWM 3 -> Duty Cycle + * - Instruction = 7 + * - Next instruction = 8 + * - Conditional next instruction = 8 + * - Interrupt = 7 + * - Pin = 14 + */ + { + /* Program */ + 0x000115C0U, + /* Control */ + (0x00010006U | (uint32)((uint32)14U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* DJZ: PWM 3 -> Period + * - Instruction = 8 + * - Next instruction = 9 + * - Conditional next instruction = 47 + * - Interrupt = 8 + * - Pin = na + */ + { + /* Program */ + 0x00013480U, + /* Control */ + 0x0005E006U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PWCNT: PWM 4 -> Duty Cycle + * - Instruction = 9 + * - Next instruction = 10 + * - Conditional next instruction = 10 + * - Interrupt = 9 + * - Pin = 16 + */ + { + /* Program */ + 0x000155C0U, + /* Control */ + (0x00014006U | (uint32)((uint32)16U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* DJZ: PWM 4 -> Period + * - Instruction = 10 + * - Next instruction = 11 + * - Conditional next instruction = 49 + * - Interrupt = 10 + * - Pin = na + */ + { + /* Program */ + 0x00017480U, + /* Control */ + 0x00062006U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PWCNT: PWM 5 -> Duty Cycle + * - Instruction = 11 + * - Next instruction = 12 + * - Conditional next instruction = 12 + * - Interrupt = 11 + * - Pin = 17 + */ + { + /* Program */ + 0x000195C0U, + /* Control */ + (0x00018006U | (uint32)((uint32)17U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* DJZ: PWM 5 -> Period + * - Instruction = 12 + * - Next instruction = 13 + * - Conditional next instruction = 51 + * - Interrupt = 12 + * - Pin = na + */ + { + /* Program */ + 0x0001B480U, + /* Control */ + 0x00066006U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PWCNT: PWM 6 -> Duty Cycle + * - Instruction = 13 + * - Next instruction = 14 + * - Conditional next instruction = 14 + * - Interrupt = 13 + * - Pin = 18 + */ + { + /* Program */ + 0x0001D5C0U, + /* Control */ + (0x0001C006U | (uint32)((uint32)18U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* DJZ: PWM 6 -> Period + * - Instruction = 14 + * - Next instruction = 15 + * - Conditional next instruction = 53 + * - Interrupt = 14 + * - Pin = na + */ + { + /* Program */ + 0x0001F480U, + /* Control */ + 0x0006A006U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PWCNT: PWM 7 -> Duty Cycle + * - Instruction = 15 + * - Next instruction = 16 + * - Conditional next instruction = 16 + * - Interrupt = 15 + * - Pin = 19 + */ + { + /* Program */ + 0x000215C0U, + /* Control */ + (0x00020006U | (uint32)((uint32)19U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* DJZ: PWM 7 -> Period + * - Instruction = 16 + * - Next instruction = 17 + * - Conditional next instruction = 55 + * - Interrupt = 16 + * - Pin = na + */ + { + /* Program */ + 0x00023480U, + /* Control */ + 0x0006E006U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* ECNT: CCU Edge 0 + * - Instruction = 17 + * - Next instruction = 18 + * - Conditional next instruction = 18 + * - Interrupt = 17 + * - Pin = 15 + */ + { + /* Program */ + 0x00025440U, + /* Control */ + (0x00024007U | (uint32)((uint32)15U << 8U) | (uint32)((uint32)3U << 4U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* ECNT: CCU Edge 1 + * - Instruction = 18 + * - Next instruction = 19 + * - Conditional next instruction = 19 + * - Interrupt = 18 + * - Pin = 11 + */ + { + /* Program */ + 0x00027440U, + /* Control */ + (0x00026007U | (uint32)((uint32)11U << 8U) | (uint32)((uint32)1U << 4U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* ECNT: CCU Edge 2 + * - Instruction = 19 + * - Next instruction = 20 + * - Conditional next instruction = 20 + * - Interrupt = 19 + * - Pin = 13 + */ + { + /* Program */ + 0x00029440U, + /* Control */ + (0x00028007U | (uint32)((uint32)13U << 8U) | (uint32)((uint32)1U << 4U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* ECNT: CCU Edge 3 + * - Instruction = 20 + * - Next instruction = 21 + * - Conditional next instruction = 21 + * - Interrupt = 20 + * - Pin = 10 + */ + { + /* Program */ + 0x0002B440U, + /* Control */ + (0x0002A007U | (uint32)((uint32)10U << 8U) | (uint32)((uint32)1U << 4U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* ECNT: CCU Edge 4 + * - Instruction = 21 + * - Next instruction = 22 + * - Conditional next instruction = 22 + * - Interrupt = 21 + * - Pin = 20 + */ + { + /* Program */ + 0x0002D440U, + /* Control */ + (0x0002C007U | (uint32)((uint32)20U << 8U) | (uint32)((uint32)1U << 4U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* ECNT: CCU Edge 5 + * - Instruction = 22 + * - Next instruction = 23 + * - Conditional next instruction = 23 + * - Interrupt = 22 + * - Pin = 21 + */ + { + /* Program */ + 0x0002F440U, + /* Control */ + (0x0002E007U | (uint32)((uint32)21U << 8U) | (uint32)((uint32)1U << 4U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* ECNT: CCU Edge 6 + * - Instruction = 23 + * - Next instruction = 24 + * - Conditional next instruction = 24 + * - Interrupt = 23 + * - Pin = 22 + */ + { + /* Program */ + 0x00031440U, + /* Control */ + (0x00030007U | (uint32)((uint32)22U << 8U) | (uint32)((uint32)1U << 4U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* ECNT: CCU Edge 7 + * - Instruction = 24 + * - Next instruction = 25 + * - Conditional next instruction = 25 + * - Interrupt = 24 + * - Pin = 23 + */ + { + /* Program */ + 0x00033440U, + /* Control */ + (0x00032007U | (uint32)((uint32)23U << 8U) | (uint32)((uint32)1U << 4U)), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Duty 0 + * - Instruction = 25 + * - Next instruction = 26 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 0 + */ + { + /* Program */ + 0x00034E00U | (uint32)((uint32)0U << 6U) | (uint32)(0U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Period 0 + * - Instruction = 26 + * - Next instruction = 27 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 0 + 1 + */ + { + /* Program */ + 0x00036E80U | (uint32)((uint32)0U << 6U) | (uint32)((0U) + 1U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Duty 1 + * - Instruction = 27 + * - Next instruction = 28 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 2 + */ + { + /* Program */ + 0x00038E00U | (uint32)((uint32)0U << 6U) | (uint32)(2U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Period 1 + * - Instruction = 28 + * - Next instruction = 29 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 2 + 1 + */ + { + /* Program */ + 0x0003AE80U | (uint32)((uint32)0U << 6U) | (uint32)((2U) + 1U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Duty 2 + * - Instruction = 29 + * - Next instruction = 30 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 4 + */ + { + /* Program */ + 0x0003CE00U | (uint32)((uint32)0U << 6U) | (uint32)(4U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Period 2 + * - Instruction = 30 + * - Next instruction = 31 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 4 + 1 + */ + { + /* Program */ + 0x0003EE80U | (uint32)((uint32)0U << 6U) | (uint32)((4U) + 1U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Duty 3 + * - Instruction = 31 + * - Next instruction = 32 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 6 + */ + { + /* Program */ + 0x00040E00U | (uint32)((uint32)0U << 6U) | (uint32)(6U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Period 3 + * - Instruction = 32 + * - Next instruction = 33 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 6 + 1 + */ + { + /* Program */ + 0x00042E80U | (uint32)((uint32)0U << 6U) | (uint32)((6U) + 1U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Duty 4 + * - Instruction = 33 + * - Next instruction = 34 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 24 + */ + { + /* Program */ + 0x00044E00U | (uint32)((uint32)0U << 6U) | (uint32)(24U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Period 4 + * - Instruction = 34 + * - Next instruction = 35 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 24 + 1 + */ + { + /* Program */ + 0x00046E80U | (uint32)((uint32)0U << 6U) | (uint32)((24U) + 1U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Duty 5 + * - Instruction = 35 + * - Next instruction = 36 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 26 + */ + { + /* Program */ + 0x00048E00U | (uint32)((uint32)0U << 6U) | (uint32)(26U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Period 5 + * - Instruction = 36 + * - Next instruction = 37 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 26 + 1 + */ + { + /* Program */ + 0x0004AE80U | (uint32)((uint32)0U << 6U) | (uint32)((26U) + 1U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Duty 6 + * - Instruction = 37 + * - Next instruction = 38 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 28 + */ + { + /* Program */ + 0x0004CE00U | (uint32)((uint32)0U << 6U) | (uint32)(28U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Period 6 + * - Instruction = 38 + * - Next instruction = 39 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 28 + 1 + */ + { + /* Program */ + 0x0004EE80U | (uint32)((uint32)0U << 6U) | (uint32)((28U) + 1U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Duty 7 + * - Instruction = 39 + * - Next instruction = 40 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 30 + */ + { + /* Program */ + 0x00050E00U | (uint32)((uint32)0U << 6U) | (uint32)(30U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* PCNT: Capture Period 7 + * - Instruction = 40 + * - Next instruction = 57 + * - Conditional next instruction = na + * - Interrupt = na + * - Pin = 30 + 1 + */ + { + /* Program */ + 0x00072E80U | (uint32)((uint32)0U << 6U) | (uint32)((30U) + 1U), + /* Control */ + 0x00000000U, + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 0 -> Duty Cycle Update + * - Instruction = 41 + * - Next instruction = 42 + * - Conditional next instruction = 2 + * - Interrupt = 1 + * - Pin = 8 + */ + { + /* Program */ + 0x00054201U, + /* Control */ + (0x00004007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)8U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 80128U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 0 -> Period Update + * - Instruction = 42 + * - Next instruction = 3 + * - Conditional next instruction = 41 + * - Interrupt = 2 + * - Pin = na + */ + { + /* Program */ + 0x00006202U, + /* Control */ + (0x00052007U), + /* Data */ + 159872U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 1 -> Duty Cycle Update + * - Instruction = 43 + * - Next instruction = 44 + * - Conditional next instruction = 4 + * - Interrupt = 3 + * - Pin = 10 + */ + { + /* Program */ + 0x00058203U, + /* Control */ + (0x00008007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)10U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 80128U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 1 -> Period Update + * - Instruction = 44 + * - Next instruction = 5 + * - Conditional next instruction = 43 + * - Interrupt = 4 + * - Pin = na + */ + { + /* Program */ + 0x0000A204U, + /* Control */ + (0x00056007U), + /* Data */ + 159872U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 2 -> Duty Cycle Update + * - Instruction = 45 + * - Next instruction = 46 + * - Conditional next instruction = 6 + * - Interrupt = 5 + * - Pin = 12 + */ + { + /* Program */ + 0x0005C205U, + /* Control */ + (0x0000C007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)12U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 80128U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 2 -> Period Update + * - Instruction = 46 + * - Next instruction = 7 + * - Conditional next instruction = 45 + * - Interrupt = 6 + * - Pin = na + */ + { + /* Program */ + 0x0000E206U, + /* Control */ + (0x0005A007U), + /* Data */ + 159872U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 3 -> Duty Cycle Update + * - Instruction = 47 + * - Next instruction = 48 + * - Conditional next instruction = 8 + * - Interrupt = 7 + * - Pin = 14 + */ + { + /* Program */ + 0x00060207U, + /* Control */ + (0x00010007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)14U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 80128U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 3 -> Period Update + * - Instruction = 48 + * - Next instruction = 9 + * - Conditional next instruction = 47 + * - Interrupt = 8 + * - Pin = na + */ + { + /* Program */ + 0x00012208U, + /* Control */ + (0x0005E007U), + /* Data */ + 159872U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 4 -> Duty Cycle Update + * - Instruction = 49 + * - Next instruction = 50 + * - Conditional next instruction = 10 + * - Interrupt = 9 + * - Pin = 16 + */ + { + /* Program */ + 0x00064209U, + /* Control */ + (0x00014007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)16U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 80128U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 4 -> Period Update + * - Instruction = 50 + * - Next instruction = 11 + * - Conditional next instruction = 49 + * - Interrupt = 10 + * - Pin = na + */ + { + /* Program */ + 0x0001620AU, + /* Control */ + (0x00062007U), + /* Data */ + 159872U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 5 -> Duty Cycle Update + * - Instruction = 51 + * - Next instruction = 52 + * - Conditional next instruction = 12 + * - Interrupt = 11 + * - Pin = 17 + */ + { + /* Program */ + 0x0006820BU, + /* Control */ + (0x00018007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)17U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 80128U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 5 -> Period Update + * - Instruction = 52 + * - Next instruction = 13 + * - Conditional next instruction = 51 + * - Interrupt = 12 + * - Pin = na + */ + { + /* Program */ + 0x0001A20CU, + /* Control */ + (0x00066007U), + /* Data */ + 159872U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 6 -> Duty Cycle Update + * - Instruction = 53 + * - Next instruction = 54 + * - Conditional next instruction = 14 + * - Interrupt = 13 + * - Pin = 18 + */ + { + /* Program */ + 0x0006C20DU, + /* Control */ + (0x0001C007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)18U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 80128U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 6 -> Period Update + * - Instruction = 54 + * - Next instruction = 15 + * - Conditional next instruction = 53 + * - Interrupt = 14 + * - Pin = na + */ + { + /* Program */ + 0x0001E20EU, + /* Control */ + (0x0006A007U), + /* Data */ + 159872U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 7 -> Duty Cycle Update + * - Instruction = 55 + * - Next instruction = 56 + * - Conditional next instruction = 16 + * - Interrupt = 15 + * - Pin = 19 + */ + { + /* Program */ + 0x0007020FU, + /* Control */ + (0x00020007U | (uint32)((uint32)0U << 22U) | (uint32)((uint32)19U << 8U) | (uint32)((uint32)3U << 3U)), + /* Data */ + 80128U, + /* Reserved */ + 0x00000000U + }, + /* MOV64: PWM 7 -> Period Update + * - Instruction = 56 + * - Next instruction = 17 + * - Conditional next instruction = 55 + * - Interrupt = 16 + * - Pin = na + */ + { + /* Program */ + 0x00022210U, + /* Control */ + (0x0006E007U), + /* Data */ + 159872U, + /* Reserved */ + 0x00000000U + }, + /* WCAP: Capture timestamp + * - Instruction = 57 + * - Next instruction = 0 + * - Conditional next instruction = 0 + * - Interrupt = na + * - Pin = na + * - Reg = T + */ + { + /* Program */ + 0x00001600U, + /* Control */ + (0x00000004U), + /* Data */ + 0x00000000U, + /* Reserved */ + 0x00000000U + }, +}; + + + +/** @fn void hetInit(void) +* @brief Initializes the het Driver +* +* This function initializes the het 1 module. +*/ +/* SourceId : HET_SourceId_001 */ +/* DesignId : HET_DesignId_001 */ +/* Requirements : HL_SR363 */ +void hetInit(void) +{ + /** @b initialize @b HET */ + + /** - Set HET pins default output value */ + hetREG1->DOUT = (uint32)((uint32)0U << 31U) + | (uint32)((uint32)0U << 30U) + | (uint32)((uint32)0U << 29U) + | (uint32)((uint32)0U << 28U) + | (uint32)((uint32)0U << 27U) + | (uint32)((uint32)0U << 26U) + | (uint32)((uint32)0U << 25U) + | (uint32)((uint32)0U << 24U) + | (uint32)((uint32)0U << 23U) + | (uint32)((uint32)0U << 22U) + | (uint32)((uint32)0U << 21U) + | (uint32)((uint32)0U << 20U) + | (uint32)((uint32)0U << 19U) + | (uint32)((uint32)0U << 18U) + | (uint32)((uint32)0U << 17U) + | (uint32)((uint32)0U << 16U) + | (uint32)((uint32)0U << 15U) + | (uint32)((uint32)0U << 14U) + | (uint32)((uint32)0U << 13U) + | (uint32)((uint32)0U << 12U) + | (uint32)((uint32)0U << 11U) + | (uint32)((uint32)0U << 10U) + | (uint32)((uint32)0U << 9U) + | (uint32)((uint32)0U << 8U) + | (uint32)((uint32)0U << 7U) + | (uint32)((uint32)0U << 6U) + | (uint32)((uint32)0U << 5U) + | (uint32)((uint32)0U << 4U) + | (uint32)((uint32)0U << 3U) + | (uint32)((uint32)0U << 2U) + | (uint32)((uint32)0U << 1U) + | (uint32)((uint32)0U << 0U); + + /** - Set HET pins direction */ + hetREG1->DIR = (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U; + + /** - Set HET pins open drain enable */ + hetREG1->PDR = (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U; + + /** - Set HET pins pullup/down enable */ + hetREG1->PULDIS = (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U; + + /** - Set HET pins pullup/down select */ + hetREG1->PSL = (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00008000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U; + + /** - Set HET pins high resolution share */ + hetREG1->HRSH = (uint32) 0x00008000U + | (uint32) 0x00004000U + | (uint32) 0x00002000U + | (uint32) 0x00001000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000008U + | (uint32) 0x00000004U + | (uint32) 0x00000002U + | (uint32) 0x00000001U; + + /** - Set HET pins AND share */ + hetREG1->AND = (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U; + + /** - Set HET pins XOR share */ + hetREG1->XOR = (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U; + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + /** - Setup prescaler values + * - Loop resolution prescaler + * - High resolution prescaler + */ + hetREG1->PFR = (uint32)((uint32) 6U << 8U) + | ((uint32) 0U); + + + /** - Parity control register + * - Enable/Disable Parity check + */ + hetREG1->PCR = (uint32) 0x00000005U; + + /** - Fill HET RAM with opcodes and Data */ + /*SAFETYMCUSW 94 S MR:11.1,11.2,11.4 "HET RAM Fill from the table - Allowed as per MISRA rule 11.2" */ + /*SAFETYMCUSW 94 S MR:11.1,11.2,11.4 "HET RAM Fill from the table - Allowed as per MISRA rule 11.2" */ + /*SAFETYMCUSW 95 S MR:11.1,11.4 "HET RAM Fill from the table - Allowed as per MISRA rule 11.2" */ + /*SAFETYMCUSW 95 S MR:11.1,11.4 "HET RAM Fill from the table - Allowed as per MISRA rule 11.2" */ + (void)memcpy((void *)hetRAM1, (const void *)het1PROGRAM, sizeof(het1PROGRAM)); + + /** - Setup interrupt priority level + * - PWM 0 end of duty level + * - PWM 0 end of period level + * - PWM 1 end of duty level + * - PWM 1 end of period level + * - PWM 2 end of duty level + * - PWM 2 end of period level + * - PWM 3 end of duty level + * - PWM 3 end of period level + * - PWM 4 end of duty level + * - PWM 4 end of period level + * - PWM 5 end of duty level + * - PWM 5 end of period level + * - PWM 6 end of duty level + * - PWM 6 end of period level + * - PWM 7 end of duty level + * - PWM 7 end of period level + + * - CCU Edge Detection 0 level + * - CCU Edge Detection 1 level + * - CCU Edge Detection 2 level + * - CCU Edge Detection 3 level + * - CCU Edge Detection 4 level + * - CCU Edge Detection 5 level + * - CCU Edge Detection 6 level + * - CCU Edge Detection 7 level + */ + hetREG1->PRY = (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00020000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U; + + /** - Enable interrupts + * - PWM 0 end of duty + * - PWM 0 end of period + * - PWM 1 end of duty + * - PWM 1 end of period + * - PWM 2 end of duty + * - PWM 2 end of period + * - PWM 3 end of duty + * - PWM 3 end of period + * - PWM 4 end of duty + * - PWM 4 end of period + * - PWM 5 end of duty + * - PWM 5 end of period + * - PWM 6 end of duty + * - PWM 6 end of period + * - PWM 7 end of duty + * - PWM 7 end of period + * - CCU Edge Detection 0 + * - CCU Edge Detection 1 + * - CCU Edge Detection 2 + * - CCU Edge Detection 3 + * - CCU Edge Detection 4 + * - CCU Edge Detection 5 + * - CCU Edge Detection 6 + * - CCU Edge Detection 7 + */ + hetREG1->INTENAC = 0xFFFFFFFFU; + hetREG1->INTENAS = (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00020000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U + | (uint32) 0x00000000U; + + + /** - Setup control register + * - Enable output buffers + * - Ignore software breakpoints + * - Master or Slave Clock Mode + * - Enable HET + */ + hetREG1->GCR = ( 0x00000001U + | (uint32)((uint32)0U << 24U) + | (uint32)((uint32)1U << 16U) + | (0x00020000U)); + + +} +/** @fn void pwmStart( hetRAMBASE_t * hetRAM, uint32 pwm) +* @brief Start pwm signal +* @param[in] hetRAM Pointer to HET RAM: +* - hetRAM1: HET1 RAM pointer +* - hetRAM2: HET2 RAM pointer +* @param[in] pwm Pwm signal: +* - pwm0: Pwm 0 +* - pwm1: Pwm 1 +* - pwm2: Pwm 2 +* - pwm3: Pwm 3 +* - pwm4: Pwm 4 +* - pwm5: Pwm 5 +* - pwm6: Pwm 6 +* - pwm7: Pwm 7 +* +* Start the given pwm signal +*/ +/* SourceId : HET_SourceId_002 */ +/* DesignId : HET_DesignId_002 */ +/* Requirements : HL_SR364 */ +void pwmStart( hetRAMBASE_t * hetRAM, uint32 pwm) +{ + + hetRAM->Instruction[(pwm << 1U) + 41U].Control |= 0x00400000U; +} + + +/** @fn void pwmStop( hetRAMBASE_t * hetRAM, uint32 pwm) +* @brief Stop pwm signal +* @param[in] hetRAM Pointer to HET RAM: +* - hetRAM1: HET1 RAM pointer +* - hetRAM2: HET2 RAM pointer +* @param[in] pwm Pwm signal: +* - pwm0: Pwm 0 +* - pwm1: Pwm 1 +* - pwm2: Pwm 2 +* - pwm3: Pwm 3 +* - pwm4: Pwm 4 +* - pwm5: Pwm 5 +* - pwm6: Pwm 6 +* - pwm7: Pwm 7 +* +* Stop the given pwm signal +*/ +/* SourceId : HET_SourceId_003 */ +/* DesignId : HET_DesignId_003 */ +/* Requirements : HL_SR365 */ +void pwmStop( hetRAMBASE_t * hetRAM, uint32 pwm) +{ + hetRAM->Instruction[(pwm << 1U) + 41U].Control &= ~(uint32)0x00400000U; +} + + +/** @fn void pwmSetDuty(hetRAMBASE_t * hetRAM, uint32 pwm, uint32 pwmDuty) +* @brief Set duty cycle +* @param[in] hetRAM Pointer to HET RAM: +* - hetRAM1: HET1 RAM pointer +* - hetRAM2: HET2 RAM pointer +* @param[in] pwm Pwm signal: +* - pwm0: Pwm 0 +* - pwm1: Pwm 1 +* - pwm2: Pwm 2 +* - pwm3: Pwm 3 +* - pwm4: Pwm 4 +* - pwm5: Pwm 5 +* - pwm6: Pwm 6 +* - pwm7: Pwm 7 +* @param[in] pwmDuty duty cycle in %. +* +* Sets a new duty cycle on the given pwm signal +*/ +/* SourceId : HET_SourceId_004 */ +/* DesignId : HET_DesignId_004 */ +/* Requirements : HL_SR366 */ +void pwmSetDuty(hetRAMBASE_t * hetRAM, uint32 pwm, uint32 pwmDuty) +{ + uint32 action; + uint32 pwmPolarity =0U; + uint32 pwmPeriod = hetRAM->Instruction[(pwm << 1U) + 42U].Data + 128U; + pwmPeriod = pwmPeriod >> 7U; + + if(hetRAM == hetRAM1) + { + pwmPolarity = s_het1pwmPolarity[pwm]; + } + else + { + } + if (pwmDuty == 0U) + { + action = (pwmPolarity == 3U) ? 0U : 2U; + } + else if (pwmDuty >= 100U) + { + action = (pwmPolarity == 3U) ? 2U : 0U; + } + else + { + action = pwmPolarity; + } + + hetRAM->Instruction[(pwm << 1U) + 41U].Control = ((hetRAM->Instruction[(pwm << 1U) + 41U].Control) & (~(uint32)(0x00000018U))) | (action << 3U); + hetRAM->Instruction[(pwm << 1U) + 41U].Data = (((pwmPeriod * pwmDuty) / 100U) << 7U) + 128U; +} + + +/** @fn void pwmSetSignal(hetRAMBASE_t * hetRAM, uint32 pwm, hetSIGNAL_t signal) +* @brief Set period +* @param[in] hetRAM Pointer to HET RAM: +* - hetRAM1: HET1 RAM pointer +* - hetRAM2: HET2 RAM pointer +* @param[in] pwm Pwm signal: +* - pwm0: Pwm 0 +* - pwm1: Pwm 1 +* - pwm2: Pwm 2 +* - pwm3: Pwm 3 +* - pwm4: Pwm 4 +* - pwm5: Pwm 5 +* - pwm6: Pwm 6 +* - pwm7: Pwm 7 +* @param[in] signal signal + - duty cycle in %. +* - period period in us. +* +* Sets a new pwm signal +*/ +/* SourceId : HET_SourceId_005 */ +/* DesignId : HET_DesignId_005 */ +/* Requirements : HL_SR367 */ +void pwmSetSignal(hetRAMBASE_t * hetRAM, uint32 pwm, hetSIGNAL_t signal) +{ + uint32 action; + uint32 pwmPolarity = 0U; + float64 pwmPeriod = 0.0F; + + if(hetRAM == hetRAM1) + { + pwmPeriod = (signal.period * 1000.0F) / 800.000F; + pwmPolarity = s_het1pwmPolarity[pwm]; + } + else + { + } + if (signal.duty == 0U) + { + action = (pwmPolarity == 3U) ? 0U : 2U; + } + else if (signal.duty >= 100U) + { + action = (pwmPolarity == 3U) ? 2U : 0U; + } + else + { + action = pwmPolarity; + } + + hetRAM->Instruction[(pwm << 1U) + 41U].Control = ((hetRAM->Instruction[(pwm << 1U) + 41U].Control) & (~(uint32)(0x00000018U))) | (action << 3U); + hetRAM->Instruction[(pwm << 1U) + 41U].Data = ((((uint32)pwmPeriod * signal.duty) / 100U) << 7U ) + 128U; + hetRAM->Instruction[(pwm << 1U) + 42U].Data = ((uint32)pwmPeriod << 7U) - 128U; + +} + + +/** @fn void pwmGetSignal(hetRAMBASE_t * hetRAM, uint32 pwm, hetSIGNAL_t signal) +* @brief Get duty cycle +* @param[in] hetRAM Pointer to HET RAM: +* - hetRAM1: HET1 RAM pointer +* - hetRAM2: HET2 RAM pointer +* @param[in] pwm Pwm signal: +* - pwm0: Pwm 0 +* - pwm1: Pwm 1 +* - pwm2: Pwm 2 +* - pwm3: Pwm 3 +* - pwm4: Pwm 4 +* - pwm5: Pwm 5 +* - pwm6: Pwm 6 +* - pwm7: Pwm 7 +* @param[in] signal signal +* - duty cycle in %. +* - period period in us. +* +* Gets current signal of the given pwm signal. +*/ +/* SourceId : HET_SourceId_006 */ +/* DesignId : HET_DesignId_006 */ +/* Requirements : HL_SR368 */ +void pwmGetSignal(hetRAMBASE_t * hetRAM, uint32 pwm, hetSIGNAL_t* signal) +{ + uint32 pwmDuty = (hetRAM->Instruction[(pwm << 1U) + 41U].Data - 128U) >> 7U; + uint32 pwmPeriod = (hetRAM->Instruction[(pwm << 1U) + 42U].Data + 128U) >> 7U; + + signal->duty = (pwmDuty * 100U) / pwmPeriod; + + if(hetRAM == hetRAM1) + { + signal->period = ((float64)pwmPeriod * 800.000F) / 1000.0F; + } + else + { + signal->period = ((float64)pwmPeriod * 800.000F) / 1000.0F; + } +} + +/** @fn void pwmEnableNotification(hetBASE_t * hetREG, uint32 pwm, uint32 notification) +* @brief Enable pwm notification +* @param[in] hetREG Pointer to HET Module: +* - hetREG1: HET1 Module pointer +* - hetREG2: HET2 Module pointer +* @param[in] pwm Pwm signal: +* - pwm0: Pwm 0 +* - pwm1: Pwm 1 +* - pwm2: Pwm 2 +* - pwm3: Pwm 3 +* - pwm4: Pwm 4 +* - pwm5: Pwm 5 +* - pwm6: Pwm 6 +* - pwm7: Pwm 7 +* @param[in] notification Pwm notification: +* - pwmEND_OF_DUTY: Notification on end of duty +* - pwmEND_OF_PERIOD: Notification on end of end period +* - pwmEND_OF_BOTH: Notification on end of both duty and period +*/ +/* SourceId : HET_SourceId_007 */ +/* DesignId : HET_DesignId_007 */ +/* Requirements : HL_SR369 */ +void pwmEnableNotification(hetBASE_t * hetREG, uint32 pwm, uint32 notification) +{ + hetREG->FLG = notification << (pwm << 1U); + hetREG->INTENAS = notification << (pwm << 1U); +} + + +/** @fn void pwmDisableNotification(hetBASE_t * hetREG, uint32 pwm, uint32 notification) +* @brief Enable pwm notification +* @param[in] hetREG Pointer to HET Module: +* - hetREG1: HET1 Module pointer +* - hetREG2: HET2 Module pointer +* @param[in] pwm Pwm signal: +* - pwm0: Pwm 0 +* - pwm1: Pwm 1 +* - pwm2: Pwm 2 +* - pwm3: Pwm 3 +* - pwm4: Pwm 4 +* - pwm5: Pwm 5 +* - pwm6: Pwm 6 +* - pwm7: Pwm 7 +* @param[in] notification Pwm notification: +* - pwmEND_OF_DUTY: Notification on end of duty +* - pwmEND_OF_PERIOD: Notification on end of end period +* - pwmEND_OF_BOTH: Notification on end of both duty and period +*/ +/* SourceId : HET_SourceId_008 */ +/* DesignId : HET_DesignId_008 */ +/* Requirements : HL_SR370 */ +void pwmDisableNotification(hetBASE_t * hetREG, uint32 pwm, uint32 notification) +{ + hetREG->INTENAC = notification << (pwm << 1U); +} + + +/** @fn void edgeResetCounter(hetRAMBASE_t * hetRAM, uint32 edge) +* @brief Resets edge counter to 0 +* @param[in] hetRAM Pointer to HET RAM: +* - hetRAM1: HET1 RAM pointer +* - hetRAM2: HET2 RAM pointer +* @param[in] edge Edge signal: +* - edge0: Edge 0 +* - edge1: Edge 1 +* - edge2: Edge 2 +* - edge3: Edge 3 +* - edge4: Edge 4 +* - edge5: Edge 5 +* - edge6: Edge 6 +* - edge7: Edge 7 +* +* Reset edge counter to 0. +*/ +/* SourceId : HET_SourceId_009 */ +/* DesignId : HET_DesignId_009 */ +/* Requirements : HL_SR372 */ +void edgeResetCounter(hetRAMBASE_t * hetRAM, uint32 edge) +{ + hetRAM->Instruction[edge + 17U].Data = 0U; +} + + +/** @fn uint32 edgeGetCounter(hetRAMBASE_t * hetRAM, uint32 edge) +* @brief Get current edge counter value +* @param[in] hetRAM Pointer to HET RAM: +* - hetRAM1: HET1 RAM pointer +* - hetRAM2: HET2 RAM pointer +* @param[in] edge Edge signal: +* - edge0: Edge 0 +* - edge1: Edge 1 +* - edge2: Edge 2 +* - edge3: Edge 3 +* - edge4: Edge 4 +* - edge5: Edge 5 +* - edge6: Edge 6 +* - edge7: Edge 7 +* +* Gets current edge counter value. +*/ +/* SourceId : HET_SourceId_010 */ +/* DesignId : HET_DesignId_010 */ +/* Requirements : HL_SR373 */ +uint32 edgeGetCounter(hetRAMBASE_t * hetRAM, uint32 edge) +{ + return hetRAM->Instruction[edge + 17U].Data >> 7U; +} + + +/** @fn void edgeEnableNotification(hetBASE_t * hetREG, uint32 edge) +* @brief Enable edge notification +* @param[in] hetREG Pointer to HET Module: +* - hetREG1: HET1 Module pointer +* - hetREG2: HET2 Module pointer +* @param[in] edge Edge signal: +* - edge0: Edge 0 +* - edge1: Edge 1 +* - edge2: Edge 2 +* - edge3: Edge 3 +* - edge4: Edge 4 +* - edge5: Edge 5 +* - edge6: Edge 6 +* - edge7: Edge 7 +*/ +/* SourceId : HET_SourceId_011 */ +/* DesignId : HET_DesignId_011 */ +/* Requirements : HL_SR374 */ +void edgeEnableNotification(hetBASE_t * hetREG, uint32 edge) +{ + hetREG->FLG = (uint32)0x20000U << edge; + hetREG->INTENAS = (uint32)0x20000U << edge; +} + + +/** @fn void edgeDisableNotification(hetBASE_t * hetREG, uint32 edge) +* @brief Enable edge notification +* @param[in] hetREG Pointer to HET Module: +* - hetREG1: HET1 Module pointer +* - hetREG2: HET2 Module pointer +* @param[in] edge Edge signal: +* - edge0: Edge 0 +* - edge1: Edge 1 +* - edge2: Edge 2 +* - edge3: Edge 3 +* - edge4: Edge 4 +* - edge5: Edge 5 +* - edge6: Edge 6 +* - edge7: Edge 7 +*/ +/* SourceId : HET_SourceId_012 */ +/* DesignId : HET_DesignId_012 */ +/* Requirements : HL_SR375 */ +void edgeDisableNotification(hetBASE_t * hetREG, uint32 edge) +{ + hetREG->INTENAC = (uint32)0x20000U << edge; +} + + +/** @fn void capGetSignal(hetRAMBASE_t * hetRAM, uint32 cap, hetSIGNAL_t signal) +* @brief Get capture signal +* @param[in] hetRAM Pointer to HET RAM: +* - hetRAM1: HET1 RAM pointer +* - hetRAM2: HET2 RAM pointer +* @param[in] cap captured signal: +* - cap0: Captured signal 0 +* - cap1: Captured signal 1 +* - cap2: Captured signal 2 +* - cap3: Captured signal 3 +* - cap4: Captured signal 4 +* - cap5: Captured signal 5 +* - cap6: Captured signal 6 +* - cap7: Captured signal 7 +* @param[in] signal signal +* - duty cycle in %. +* - period period in us. +* +* Gets current signal of the given capture signal. +*/ +/* SourceId : HET_SourceId_013 */ +/* DesignId : HET_DesignId_013 */ +/* Requirements : HL_SR377 */ +void capGetSignal(hetRAMBASE_t * hetRAM, uint32 cap, hetSIGNAL_t *signal) +{ + uint32 pwmDuty = (hetRAM->Instruction[(cap << 1U) + 25U].Data) >> 7U; + uint32 pwmPeriod = (hetRAM->Instruction[(cap << 1U) + 26U].Data) >> 7U; + + signal->duty = (pwmDuty * 100U) / pwmPeriod; + + if( hetRAM == hetRAM1) + { + signal->period = ((float64)pwmPeriod * 800.000F) / 1000.0F; + } + else + { + signal->period = ((float64)pwmPeriod * 800.000F) / 1000.0F; + } +} + + +/** @fn void hetResetTimestamp(hetRAMBASE_t *hetRAM) +* @brief Resets timestamp +* @param[in] hetRAM Pointer to HET RAM: +* - hetRAM1: HET1 RAM pointer +* - hetRAM2: HET2 RAM pointer +* +* Resets loop count based timestamp. +*/ +/* SourceId : HET_SourceId_014 */ +/* DesignId : HET_DesignId_014 */ +/* Requirements : HL_SR378 */ +void hetResetTimestamp(hetRAMBASE_t * hetRAM) +{ + hetRAM->Instruction[0U].Data = 0U; +} + + +/** @fn uint32 hetGetTimestamp(hetRAMBASE_t *hetRAM) +* @brief Returns timestamp +* +* Returns loop count based timestamp. +*/ +/* SourceId : HET_SourceId_015 */ +/* DesignId : HET_DesignId_015 */ +/* Requirements : HL_SR379 */ +uint32 hetGetTimestamp(hetRAMBASE_t * hetRAM) +{ + return hetRAM->Instruction[57U].Data; +} + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + + +/** @fn void het1GetConfigValue(het_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the HET1 configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : HET_SourceId_016 */ +/* DesignId : HET_DesignId_016 */ +/* Requirements : HL_SR379 */ +void het1GetConfigValue(het_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_GCR = HET1_GCR_CONFIGVALUE; + config_reg->CONFIG_PFR = HET1_PFR_CONFIGVALUE; + config_reg->CONFIG_INTENAS = HET1_INTENAS_CONFIGVALUE; + config_reg->CONFIG_INTENAC = HET1_INTENAC_CONFIGVALUE; + config_reg->CONFIG_PRY = HET1_PRY_CONFIGVALUE; + config_reg->CONFIG_AND = HET1_AND_CONFIGVALUE; + config_reg->CONFIG_HRSH = HET1_HRSH_CONFIGVALUE; + config_reg->CONFIG_XOR = HET1_XOR_CONFIGVALUE; + config_reg->CONFIG_DIR = HET1_DIR_CONFIGVALUE; + config_reg->CONFIG_PDR = HET1_PDR_CONFIGVALUE; + config_reg->CONFIG_PULDIS = HET1_PULDIS_CONFIGVALUE; + config_reg->CONFIG_PSL = HET1_PSL_CONFIGVALUE; + config_reg->CONFIG_PCR = HET1_PCR_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_GCR = hetREG1->GCR; + config_reg->CONFIG_PFR = hetREG1->PFR; + config_reg->CONFIG_INTENAS = hetREG1->INTENAS; + config_reg->CONFIG_INTENAC = hetREG1->INTENAC; + config_reg->CONFIG_PRY = hetREG1->PRY; + config_reg->CONFIG_AND = hetREG1->AND; + config_reg->CONFIG_HRSH = hetREG1->HRSH; + config_reg->CONFIG_XOR = hetREG1->XOR; + config_reg->CONFIG_DIR = hetREG1->DIR; + config_reg->CONFIG_PDR = hetREG1->PDR; + config_reg->CONFIG_PULDIS = hetREG1->PULDIS; + config_reg->CONFIG_PSL = hetREG1->PSL; + config_reg->CONFIG_PCR = hetREG1->PCR; + } +} + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + +/** @fn void het1HighLevelInterrupt(void) +* @brief Level 0 Interrupt for HET1 +*/ +#pragma CODE_STATE(het1HighLevelInterrupt, 32) +#pragma INTERRUPT(het1HighLevelInterrupt, IRQ) + +/* SourceId : HET_SourceId_018 */ +/* DesignId : HET_DesignId_017 */ +/* Requirements : HL_SR371, HL_SR380, HL_SR381 */ +void het1HighLevelInterrupt(void) +{ + uint32 vec = hetREG1->OFF1; + + if (vec < 18U) + { + if ((vec & 1U) != 0U) + { + pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_PERIOD); + } + else + { + pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_DUTY); + } + } + else + { + edgeNotification(hetREG1,vec - 18U); + } +} + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + +/** @fn void het1LowLevelInterrupt(void) +* @brief Level 1 Interrupt for HET1 +*/ +#pragma CODE_STATE(het1LowLevelInterrupt, 32) +#pragma INTERRUPT(het1LowLevelInterrupt, IRQ) + +/* SourceId : HET_SourceId_019 */ +/* DesignId : HET_DesignId_017 */ +/* Requirements : HL_SR371, HL_SR380, HL_SR381 */ +void het1LowLevelInterrupt(void) +{ + uint32 vec = hetREG1->OFF2; + + if (vec < 18U) + { + if ((vec & 1U) != 0U) + { + pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_PERIOD); + } + else + { + pwmNotification(hetREG1,(vec >> 1U) - 1U, pwmEND_OF_DUTY); + } + } + else + { + edgeNotification(hetREG1,vec - 18U); + } +} + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/mibspi.c b/TestBoardFirmware/Testboard_HAL_drivers/source/mibspi.c index cc01af62..9f2eac3d 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/mibspi.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/mibspi.c @@ -1,1481 +1,1481 @@ -/** @file mibspi.c -* @brief MIBSPI Driver Implementation File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "mibspi.h" -#include "sys_vim.h" -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @fn void mibspiInit(void) -* @brief Initializes the MIBSPI Driver -* -* This function initializes the MIBSPI module. -*/ -/* SourceId : MIBSPI_SourceId_001 */ -/* DesignId : MIBSPI_DesignId_001 */ -/* Requirements : HL_SR153 */ -void mibspiInit(void) -{ -uint32 i ; - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - - - /** @b initialize @b MIBSPI1 */ - - /** bring MIBSPI out of reset */ - mibspiREG1->GCR0 = 0U; - mibspiREG1->GCR0 = 1U; - - /** enable MIBSPI1 multibuffered mode and enable buffer RAM */ - mibspiREG1->MIBSPIE = (mibspiREG1->MIBSPIE & 0xFFFFFFFEU) | 1U; - - /** MIBSPI1 master mode and clock configuration */ - mibspiREG1->GCR1 = (mibspiREG1->GCR1 & 0xFFFFFFFCU) | ((uint32)((uint32)1U << 1U) /* CLOKMOD */ - | 1U); /* MASTER */ - - /** MIBSPI1 enable pin configuration */ - mibspiREG1->INT0 = (mibspiREG1->INT0 & 0xFEFFFFFFU) | (uint32)((uint32)0U << 24U); /* ENABLE HIGHZ */ - - /** - Delays */ - mibspiREG1->DELAY = (uint32)((uint32)1U << 24U) /* C2TDELAY */ - | (uint32)((uint32)0U << 16U) /* T2CDELAY */ - | (uint32)((uint32)0U << 8U) /* T2EDELAY */ - | (uint32)((uint32)0U << 0U); /* C2EDELAY */ - - /** - Data Format 0 */ - mibspiREG1->FMT0 = (uint32)((uint32)0U << 24U) /* wdelay */ - | (uint32)((uint32)0U << 23U) /* parity Polarity */ - | (uint32)((uint32)0U << 22U) /* parity enable */ - | (uint32)((uint32)0U << 21U) /* wait on enable */ - | (uint32)((uint32)0U << 20U) /* shift direction */ - | (uint32)((uint32)0U << 17U) /* clock polarity */ - | (uint32)((uint32)1U << 16U) /* clock phase */ - | (uint32)((uint32)255U << 8U) /* baudrate prescale */ - | (uint32)((uint32)8U << 0U); /* data word length */ - - /** - Data Format 1 */ - mibspiREG1->FMT1 = (uint32)((uint32)0U << 24U) /* wdelay */ - | (uint32)((uint32)0U << 23U) /* parity Polarity */ - | (uint32)((uint32)0U << 22U) /* parity enable */ - | (uint32)((uint32)0U << 21U) /* wait on enable */ - | (uint32)((uint32)0U << 20U) /* shift direction */ - | (uint32)((uint32)0U << 17U) /* clock polarity */ - | (uint32)((uint32)0U << 16U) /* clock phase */ - | (uint32)((uint32)79U << 8U) /* baudrate prescale */ - | (uint32)((uint32)16U << 0U); /* data word length */ - - /** - Data Format 2 */ - mibspiREG1->FMT2 = (uint32)((uint32)0U << 24U) /* wdelay */ - | (uint32)((uint32)0U << 23U) /* parity Polarity */ - | (uint32)((uint32)0U << 22U) /* parity enable */ - | (uint32)((uint32)0U << 21U) /* wait on enable */ - | (uint32)((uint32)0U << 20U) /* shift direction */ - | (uint32)((uint32)0U << 17U) /* clock polarity */ - | (uint32)((uint32)0U << 16U) /* clock phase */ - | (uint32)((uint32)79U << 8U) /* baudrate prescale */ - | (uint32)((uint32)16U << 0U); /* data word length */ - - /** - Data Format 3 */ - mibspiREG1->FMT3 = (uint32)((uint32)0U << 24U) /* wdelay */ - | (uint32)((uint32)0U << 23U) /* parity Polarity */ - | (uint32)((uint32)0U << 22U) /* parity enable */ - | (uint32)((uint32)0U << 21U) /* wait on enable */ - | (uint32)((uint32)0U << 20U) /* shift direction */ - | (uint32)((uint32)0U << 17U) /* clock polarity */ - | (uint32)((uint32)0U << 16U) /* clock phase */ - | (uint32)((uint32)79U << 8U) /* baudrate prescale */ - | (uint32)((uint32)16U << 0U); /* data word length */ - - /** - Default Chip Select */ - mibspiREG1->DEF = (uint32)(0xFFU); - - /** - wait for buffer initialization complete before accessing MibSPI registers */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((mibspiREG1->FLG & 0x01000000U) != 0U) - { - } /* Wait */ - - /** enable MIBSPI RAM Parity */ - mibspiREG1->UERRCTRL = (mibspiREG1->UERRCTRL & 0xFFFFFFF0U) | (0x00000005U); - - /** - initialize transfer groups */ - mibspiREG1->TGCTRL[0U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)0U << 8U); /* start buffer */ - - mibspiREG1->TGCTRL[1U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)3U << 8U); /* start buffer */ - - mibspiREG1->TGCTRL[2U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(3U+0U) << 8U); /* start buffer */ - - mibspiREG1->TGCTRL[3U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(3U+0U+0U) << 8U); /* start buffer */ - - mibspiREG1->TGCTRL[4U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(3U+0U+0U+0U) << 8U); /* start buffer */ - - mibspiREG1->TGCTRL[5U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(3U+0U+0U+0U+0U) << 8U); /* start buffer */ - - mibspiREG1->TGCTRL[6U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(3U+0U+0U+0U+0U+0U) << 8U); /* start buffer */ - - mibspiREG1->TGCTRL[7U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(3U+0U+0U+0U+0U+0U+0U) << 8U); /* start buffer */ - - - mibspiREG1->TGCTRL[8U] = (uint32)(3U+0U+0U+0U+0U+0U+0U+0U) << 8U; - - mibspiREG1->LTGPEND = (mibspiREG1->LTGPEND & 0xFFFF00FFU) | (uint32)((uint32)((3U+0U+0U+0U+0U+0U+0U+0U)-1U) << 8U); - - /** - initialize buffer ram */ - { - i = 0U; - -#if (3U > 0U) - { - -#if (3U > 1U) - - while (i < (3U-1U)) - { - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)1U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_1)) & (uint16)0x00FFU); /* chip select */ - i++; - } -#endif - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_1)) & (uint16)0x00FFU); /* chip select */ - - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((3U+0U)-1U)) - { - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((3U+0U+0U)-1U)) - { - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)1U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_2)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_2)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((3U+0U+0U+0U)-1U)) - { - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_3)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_3)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((3U+0U+0U+0U+0U)-1U)) - { - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_4)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_4)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((3U+0U+0U+0U+0U+0U)-1U)) - { - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((3U+0U+0U+0U+0U+0U+0U)-1U)) - { - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_6)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_6)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((3U+0U+0U+0U+0U+0U+0U+0U)-1U)) - { - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_7)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_7)) & (uint16)0x00FFU); /* chip select */ - i++; - } -#endif - } - - /** - set interrupt levels */ - mibspiREG1->LVL = (uint32)((uint32)0U << 9U) /* TXINT */ - | (uint32)((uint32)0U << 8U) /* RXINT */ - | (uint32)((uint32)0U << 6U) /* OVRNINT */ - | (uint32)((uint32)0U << 4U) /* BITERR */ - | (uint32)((uint32)0U << 3U) /* DESYNC */ - | (uint32)((uint32)0U << 2U) /* PARERR */ - | (uint32)((uint32)0U << 1U) /* TIMEOUT */ - | (uint32)((uint32)0U << 0U); /* DLENERR */ - - /** - clear any pending interrupts */ - mibspiREG1->FLG |= 0xFFFFU; - - /** - enable interrupts */ - mibspiREG1->INT0 = (mibspiREG1->INT0 & 0xFFFF0000U) - | (uint32)((uint32)0U << 9U) /* TXINT */ - | (uint32)((uint32)0U << 8U) /* RXINT */ - | (uint32)((uint32)0U << 6U) /* OVRNINT */ - | (uint32)((uint32)0U << 4U) /* BITERR */ - | (uint32)((uint32)0U << 3U) /* DESYNC */ - | (uint32)((uint32)0U << 2U) /* PARERR */ - | (uint32)((uint32)0U << 1U) /* TIMEOUT */ - | (uint32)((uint32)0U << 0U); /* DLENERR */ - - /** @b initialize @b MIBSPI1 @b Port */ - - /** - MIBSPI1 Port output values */ - mibspiREG1->PC3 = (uint32)((uint32)1U << 0U) /* SCS[0] */ - | (uint32)((uint32)1U << 1U) /* SCS[1] */ - | (uint32)((uint32)1U << 2U) /* SCS[2] */ - | (uint32)((uint32)1U << 3U) /* SCS[3] */ - | (uint32)((uint32)1U << 4U) /* SCS[4] */ - | (uint32)((uint32)1U << 5U) /* SCS[5] */ - | (uint32)((uint32)0U << 8U) /* ENA */ - | (uint32)((uint32)0U << 9U) /* CLK */ - | (uint32)((uint32)0U << 10U) /* SIMO[0] */ - | (uint32)((uint32)0U << 11U) /* SOMI[0] */ - | (uint32)((uint32)0U << 17U) /* SIMO[1] */ - | (uint32)((uint32)0U << 25U); /* SOMI[1] */ - - /** - MIBSPI1 Port direction */ - mibspiREG1->PC1 = (uint32)((uint32)1U << 0U) /* SCS[0] */ - | (uint32)((uint32)1U << 1U) /* SCS[1] */ - | (uint32)((uint32)1U << 2U) /* SCS[2] */ - | (uint32)((uint32)1U << 3U) /* SCS[3] */ - | (uint32)((uint32)1U << 4U) /* SCS[4] */ - | (uint32)((uint32)1U << 5U) /* SCS[5] */ - | (uint32)((uint32)0U << 8U) /* ENA */ - | (uint32)((uint32)1U << 9U) /* CLK */ - | (uint32)((uint32)1U << 10U) /* SIMO[0] */ - | (uint32)((uint32)0U << 11U) /* SOMI[0] */ - | (uint32)((uint32)0U << 17U) /* SIMO[1] */ - | (uint32)((uint32)0U << 25U); /* SOMI[1] */ - - /** - MIBSPI1 Port open drain enable */ - mibspiREG1->PC6 = (uint32)((uint32)0U << 0U) /* SCS[0] */ - | (uint32)((uint32)0U << 1U) /* SCS[1] */ - | (uint32)((uint32)0U << 2U) /* SCS[2] */ - | (uint32)((uint32)0U << 3U) /* SCS[3] */ - | (uint32)((uint32)0U << 4U) /* SCS[4] */ - | (uint32)((uint32)0U << 5U) /* SCS[5] */ - | (uint32)((uint32)0U << 8U) /* ENA */ - | (uint32)((uint32)0U << 9U) /* CLK */ - | (uint32)((uint32)0U << 10U) /* SIMO[0] */ - | (uint32)((uint32)0U << 11U) /* SOMI[0] */ - | (uint32)((uint32)0U << 17U) /* SIMO[1] */ - | (uint32)((uint32)0U << 25U); /* SOMI[1] */ - - /** - MIBSPI1 Port pullup / pulldown selection */ - mibspiREG1->PC8 = (uint32)((uint32)1U << 0U) /* SCS[0] */ - | (uint32)((uint32)1U << 1U) /* SCS[1] */ - | (uint32)((uint32)1U << 2U) /* SCS[2] */ - | (uint32)((uint32)1U << 3U) /* SCS[3] */ - | (uint32)((uint32)1U << 4U) /* SCS[4] */ - | (uint32)((uint32)1U << 5U) /* SCS[5] */ - | (uint32)((uint32)1U << 8U) /* ENA */ - | (uint32)((uint32)1U << 9U) /* CLK */ - | (uint32)((uint32)1U << 10U) /* SIMO[0] */ - | (uint32)((uint32)1U << 11U) /* SOMI[0] */ - | (uint32)((uint32)1U << 17U) /* SIMO[1] */ - | (uint32)((uint32)1U << 25U); /* SOMI[1] */ - - /** - MIBSPI1 Port pullup / pulldown enable*/ - mibspiREG1->PC7 = (uint32)((uint32)0U << 0U) /* SCS[0] */ - | (uint32)((uint32)0U << 1U) /* SCS[1] */ - | (uint32)((uint32)0U << 2U) /* SCS[2] */ - | (uint32)((uint32)0U << 3U) /* SCS[3] */ - | (uint32)((uint32)0U << 4U) /* SCS[4] */ - | (uint32)((uint32)0U << 5U) /* SCS[5] */ - | (uint32)((uint32)0U << 8U) /* ENA */ - | (uint32)((uint32)0U << 9U) /* CLK */ - | (uint32)((uint32)0U << 10U) /* SIMO[0] */ - | (uint32)((uint32)0U << 11U) /* SOMI[0] */ - | (uint32)((uint32)0U << 17U) /* SIMO[1] */ - | (uint32)((uint32)0U << 25U); /* SOMI[1] */ - - /* MIBSPI1 set all pins to functional */ - mibspiREG1->PC0 = (uint32)((uint32)1U << 0U) /* SCS[0] */ - | (uint32)((uint32)1U << 1U) /* SCS[1] */ - | (uint32)((uint32)1U << 2U) /* SCS[2] */ - | (uint32)((uint32)0U << 3U) /* SCS[3] */ - | (uint32)((uint32)0U << 4U) /* SCS[4] */ - | (uint32)((uint32)1U << 5U) /* SCS[5] */ - | (uint32)((uint32)1U << 8U) /* ENA */ - | (uint32)((uint32)1U << 9U) /* CLK */ - | (uint32)((uint32)1U << 10U) /* SIMO[0] */ - | (uint32)((uint32)1U << 11U) /* SOMI[0] */ - | (uint32)((uint32)1U << 17U) /* SIMO[1] */ - | (uint32)((uint32)1U << 25U); /* SOMI[1] */ - - /** - Finally start MIBSPI1 */ - mibspiREG1->GCR1 = (mibspiREG1->GCR1 & 0xFEFFFFFFU) | 0x01000000U; - - - - /** @b initialize @b MIBSPI3 */ - - /** bring MIBSPI out of reset */ - mibspiREG3->GCR0 = 0U; - mibspiREG3->GCR0 = 1U; - - /** enable MIBSPI3 multibuffered mode and enable buffer RAM */ - mibspiREG3->MIBSPIE = (mibspiREG3->MIBSPIE & 0xFFFFFFFEU) | 1U; - - /** MIBSPI3 master mode and clock configuration */ - mibspiREG3->GCR1 = (mibspiREG3->GCR1 & 0xFFFFFFFCU) | ((uint32)((uint32)1U << 1U) /* CLOKMOD */ - | 1U); /* MASTER */ - - /** MIBSPI3 enable pin configuration */ - mibspiREG3->INT0 = (mibspiREG3->INT0 & 0xFEFFFFFFU) | (uint32)((uint32)0U << 24U); /* ENABLE HIGHZ */ - - /** - Delays */ - mibspiREG3->DELAY = (uint32)((uint32)0U << 24U) /* C2TDELAY */ - | (uint32)((uint32)0U << 16U) /* T2CDELAY */ - | (uint32)((uint32)0U << 8U) /* T2EDELAY */ - | (uint32)((uint32)0U << 0U); /* C2EDELAY */ - - /** - Data Format 0 */ - mibspiREG3->FMT0 = (uint32)((uint32)0U << 24U) /* wdelay */ - | (uint32)((uint32)0U << 23U) /* parity Polarity */ - | (uint32)((uint32)0U << 22U) /* parity enable */ - | (uint32)((uint32)0U << 21U) /* wait on enable */ - | (uint32)((uint32)0U << 20U) /* shift direction */ - | (uint32)((uint32)0U << 17U) /* clock polarity */ - | (uint32)((uint32)0U << 16U) /* clock phase */ - | (uint32)((uint32)79U << 8U) /* baudrate prescale */ - | (uint32)((uint32)14U << 0U); /* data word length */ - - /** - Data Format 1 */ - mibspiREG3->FMT1 = (uint32)((uint32)0U << 24U) /* wdelay */ - | (uint32)((uint32)0U << 23U) /* parity Polarity */ - | (uint32)((uint32)0U << 22U) /* parity enable */ - | (uint32)((uint32)0U << 21U) /* wait on enable */ - | (uint32)((uint32)0U << 20U) /* shift direction */ - | (uint32)((uint32)0U << 17U) /* clock polarity */ - | (uint32)((uint32)0U << 16U) /* clock phase */ - | (uint32)((uint32)79U << 8U) /* baudrate prescale */ - | (uint32)((uint32)16U << 0U); /* data word length */ - - /** - Data Format 2 */ - mibspiREG3->FMT2 = (uint32)((uint32)0U << 24U) /* wdelay */ - | (uint32)((uint32)0U << 23U) /* parity Polarity */ - | (uint32)((uint32)0U << 22U) /* parity enable */ - | (uint32)((uint32)0U << 21U) /* wait on enable */ - | (uint32)((uint32)0U << 20U) /* shift direction */ - | (uint32)((uint32)0U << 17U) /* clock polarity */ - | (uint32)((uint32)0U << 16U) /* clock phase */ - | (uint32)((uint32)79U << 8U) /* baudrate prescale */ - | (uint32)((uint32)16U << 0U); /* data word length */ - - /** - Data Format 3 */ - mibspiREG3->FMT3 = (uint32)((uint32)0U << 24U) /* wdelay */ - | (uint32)((uint32)0U << 23U) /* parity Polarity */ - | (uint32)((uint32)0U << 22U) /* parity enable */ - | (uint32)((uint32)0U << 21U) /* wait on enable */ - | (uint32)((uint32)0U << 20U) /* shift direction */ - | (uint32)((uint32)0U << 17U) /* clock polarity */ - | (uint32)((uint32)0U << 16U) /* clock phase */ - | (uint32)((uint32)79U << 8U) /* baudrate prescale */ - | (uint32)((uint32)16U << 0U); /* data word length */ - - /** - Default Chip Select */ - mibspiREG3->DEF = (uint32)(0xFFU); - - /** - wait for buffer initialization complete before accessing MibSPI registers */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((mibspiREG3->FLG & 0x01000000U) != 0U) - { - } /* Wait */ - - /** enable MIBSPI RAM Parity */ - mibspiREG3->UERRCTRL = (mibspiREG3->UERRCTRL & 0xFFFFFFF0U) | (0x00000005U); - - /** - initialize transfer groups */ - mibspiREG3->TGCTRL[0U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)0U << 8U); /* start buffer */ - - mibspiREG3->TGCTRL[1U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)8U << 8U); /* start buffer */ - - mibspiREG3->TGCTRL[2U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(8U+0U) << 8U); /* start buffer */ - - mibspiREG3->TGCTRL[3U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(8U+0U+0U) << 8U); /* start buffer */ - - mibspiREG3->TGCTRL[4U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(8U+0U+0U+0U) << 8U); /* start buffer */ - - mibspiREG3->TGCTRL[5U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(8U+0U+0U+0U+0U) << 8U); /* start buffer */ - - mibspiREG3->TGCTRL[6U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(8U+0U+0U+0U+0U+0U) << 8U); /* start buffer */ - - mibspiREG3->TGCTRL[7U] = (uint32)((uint32)1U << 30U) /* oneshot */ - | (uint32)((uint32)0U << 29U) /* pcurrent reset */ - | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ - | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ - | (uint32)((uint32)(8U+0U+0U+0U+0U+0U+0U) << 8U); /* start buffer */ - - - mibspiREG3->TGCTRL[8U] = (uint32)(8U+0U+0U+0U+0U+0U+0U+0U) << 8U; - - mibspiREG3->LTGPEND = (mibspiREG3->LTGPEND & 0xFFFF00FFU) | (uint32)(((uint32)(8U+0U+0U+0U+0U+0U+0U+0U)-1U) << 8U); - - /** - initialize buffer ram */ - { - i = 0U; - -#if (8U > 0U) - { - -#if (8U > 1U) - - while (i < (8U-1U)) - { - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_0)) & (uint16)0x00FFU); /* chip select */ - i++; - } -#endif - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_0)) & (uint16)0x00FFU); /* chip select */ - - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((8U+0U)-1U)) - { - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_1)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_1)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((8U+0U+0U)-1U)) - { - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_2)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_2)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((8U+0U+0U+0U)-1U)) - { - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_3)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_3)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((8U+0U+0U+0U+0U)-1U)) - { - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_4)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_4)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((8U+0U+0U+0U+0U+0U)-1U)) - { - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((8U+0U+0U+0U+0U+0U+0U)-1U)) - { - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_6)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_6)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - -#if (0U > 0U) - { - -#if (0U > 1U) - - while (i < ((8U+0U+0U+0U+0U+0U+0U+0U)-1U)) - { - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 11U) /* lock transmission */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_7)) & (uint16)0x00FFU); /* chip select */ - - i++; - } -#endif - mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ - | (uint16)((uint16)0U << 12U) /* chip select hold */ - | (uint16)((uint16)0U << 10U) /* enable WDELAY */ - | (uint16)((uint16)0U << 8U) /* data format */ - /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ - | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_7)) & (uint16)0x00FFU); /* chip select */ - i++; - } -#endif - } - - /** - set interrupt levels */ - mibspiREG3->LVL = (uint32)((uint32)0U << 9U) /* TXINT */ - | (uint32)((uint32)0U << 8U) /* RXINT */ - | (uint32)((uint32)0U << 6U) /* OVRNINT */ - | (uint32)((uint32)0U << 4U) /* BITERR */ - | (uint32)((uint32)0U << 3U) /* DESYNC */ - | (uint32)((uint32)0U << 2U) /* PARERR */ - | (uint32)((uint32)0U << 1U) /* TIMEOUT */ - | (uint32)((uint32)0U << 0U); /* DLENERR */ - - /** - clear any pending interrupts */ - mibspiREG3->FLG |= 0xFFFFU; - - /** - enable interrupts */ - mibspiREG3->INT0 = (mibspiREG3->INT0 & 0xFFFF0000U) - | (uint32)((uint32)0U << 9U) /* TXINT */ - | (uint32)((uint32)0U << 8U) /* RXINT */ - | (uint32)((uint32)0U << 6U) /* OVRNINT */ - | (uint32)((uint32)0U << 4U) /* BITERR */ - | (uint32)((uint32)0U << 3U) /* DESYNC */ - | (uint32)((uint32)0U << 2U) /* PARERR */ - | (uint32)((uint32)0U << 1U) /* TIMEOUT */ - | (uint32)((uint32)0U << 0U); /* DLENERR */ - - /** @b initialize @b MIBSPI3 @b Port */ - - /** - MIBSPI3 Port output values */ - mibspiREG3->PC3 = (uint32)((uint32)1U << 0U) /* SCS[0] */ - | (uint32)((uint32)1U << 1U) /* SCS[1] */ - | (uint32)((uint32)1U << 2U) /* SCS[2] */ - | (uint32)((uint32)1U << 3U) /* SCS[3] */ - | (uint32)((uint32)1U << 4U) /* SCS[4] */ - | (uint32)((uint32)1U << 5U) /* SCS[5] */ - | (uint32)((uint32)0U << 8U) /* ENA */ - | (uint32)((uint32)0U << 9U) /* CLK */ - | (uint32)((uint32)0U << 10U) /* SIMO */ - | (uint32)((uint32)0U << 11U); /* SOMI */ - - /** - MIBSPI3 Port direction */ - mibspiREG3->PC1 = (uint32)((uint32)1U << 0U) /* SCS[0] */ - | (uint32)((uint32)1U << 1U) /* SCS[1] */ - | (uint32)((uint32)1U << 2U) /* SCS[2] */ - | (uint32)((uint32)1U << 3U) /* SCS[3] */ - | (uint32)((uint32)1U << 4U) /* SCS[4] */ - | (uint32)((uint32)1U << 5U) /* SCS[5] */ - | (uint32)((uint32)0U << 8U) /* ENA */ - | (uint32)((uint32)1U << 9U) /* CLK */ - | (uint32)((uint32)1U << 10U) /* SIMO */ - | (uint32)((uint32)0U << 11U); /* SOMI */ - - /** - MIBSPI3 Port open drain enable */ - mibspiREG3->PC6 = (uint32)((uint32)0U << 0U) /* SCS[0] */ - | (uint32)((uint32)0U << 1U) /* SCS[1] */ - | (uint32)((uint32)0U << 2U) /* SCS[2] */ - | (uint32)((uint32)0U << 3U) /* SCS[3] */ - | (uint32)((uint32)0U << 4U) /* SCS[4] */ - | (uint32)((uint32)0U << 5U) /* SCS[5] */ - | (uint32)((uint32)0U << 8U) /* ENA */ - | (uint32)((uint32)0U << 9U) /* CLK */ - | (uint32)((uint32)0U << 10U) /* SIMO */ - | (uint32)((uint32)0U << 11U); /* SOMI */ - - - /** - MIBSPI3 Port pullup / pulldown selection */ - mibspiREG3->PC8 = (uint32)((uint32)1U << 0U) /* SCS[0] */ - | (uint32)((uint32)1U << 1U) /* SCS[1] */ - | (uint32)((uint32)1U << 2U) /* SCS[2] */ - | (uint32)((uint32)1U << 3U) /* SCS[3] */ - | (uint32)((uint32)1U << 4U) /* SCS[4] */ - | (uint32)((uint32)1U << 5U) /* SCS[5] */ - | (uint32)((uint32)1U << 8U) /* ENA */ - | (uint32)((uint32)1U << 9U) /* CLK */ - | (uint32)((uint32)1U << 10U) /* SIMO */ - | (uint32)((uint32)1U << 11U); /* SOMI */ - - - /** - MIBSPI3 Port pullup / pulldown enable*/ - mibspiREG3->PC7 = (uint32)((uint32)0U << 0U) /* SCS[0] */ - | (uint32)((uint32)0U << 1U) /* SCS[1] */ - | (uint32)((uint32)0U << 2U) /* SCS[2] */ - | (uint32)((uint32)0U << 3U) /* SCS[3] */ - | (uint32)((uint32)0U << 4U) /* SCS[4] */ - | (uint32)((uint32)0U << 5U) /* SCS[5] */ - | (uint32)((uint32)0U << 8U) /* ENA */ - | (uint32)((uint32)0U << 9U) /* CLK */ - | (uint32)((uint32)0U << 10U) /* SIMO */ - | (uint32)((uint32)0U << 11U); /* SOMI */ - - - /* MIBSPI3 set all pins to functional */ - mibspiREG3->PC0 = (uint32)((uint32)1U << 0U) /* SCS[0] */ - | (uint32)((uint32)0U << 1U) /* SCS[1] */ - | (uint32)((uint32)0U << 2U) /* SCS[2] */ - | (uint32)((uint32)0U << 3U) /* SCS[3] */ - | (uint32)((uint32)0U << 4U) /* SCS[4] */ - | (uint32)((uint32)0U << 5U) /* SCS[5] */ - | (uint32)((uint32)1U << 8U) /* ENA */ - | (uint32)((uint32)1U << 9U) /* CLK */ - | (uint32)((uint32)1U << 10U) /* SIMO */ - | (uint32)((uint32)1U << 11U); /* SOMI */ - - /** - Finally start MIBSPI3 */ - mibspiREG3->GCR1 = (mibspiREG3->GCR1 & 0xFEFFFFFFU) | 0x01000000U; - - - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - -} - - -/** @fn void mibspiSetFunctional(mibspiBASE_t *mibspi, uint32 port) -* @brief Change functional behavior of pins at runtime. -* @param[in] mibspi - mibspi module base address -* @param[in] port - Value to write to PC0 register -* -* Change the value of the PC0 register at runtime, this allows to -* dynamically change the functionality of the MIBSPI pins between functional -* and GIO mode. -*/ -/* SourceId : MIBSPI_SourceId_002 */ -/* DesignId : MIBSPI_DesignId_002 */ -/* Requirements : HL_SR154 */ -void mibspiSetFunctional(mibspiBASE_t *mibspi, uint32 port) -{ -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - - mibspi->PC0 = port; - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ -} - - -/** @fn void mibspiSetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data) -* @brief Set Buffer Data -* @param[in] mibspi - Spi module base address -* @param[in] group - Transfer group (0..7) -* @param[in] data - new data for transfer group -* -* This function updates the data for the specified transfer group, -* the length of the data must match the length of the transfer group. -*/ -/* SourceId : MIBSPI_SourceId_003 */ -/* DesignId : MIBSPI_DesignId_003 */ -/* Requirements : HL_SR155 */ -void mibspiSetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data) -{ -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - - mibspiRAM_t *ram = (mibspi == mibspiREG1) ? mibspiRAM1 : ((mibspi == mibspiREG3) ? mibspiRAM3 : mibspiRAM5); - uint32 start = (mibspi->TGCTRL[group] >> 8U) & 0xFFU; - uint32 end = (group == 7U) ? (((mibspi->LTGPEND & 0x00007F00U) >> 8U) + 1U) : ((mibspi->TGCTRL[group+1U] >> 8U) & 0xFFU); - - if (end == 0U) {end = 128U;} - - while (start < end) - { - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - ram->tx[start].data = *data; - /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ - data++; - start++; - } -/* USER CODE BEGIN (7) */ -/* USER CODE END */ -} - - -/** @fn void mibspiGetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data) -* @brief Retrieves Buffer Data from receive buffer -* @param[in] mibspi - Spi module base address -* @param[in] group - Transfer group (0..7) -* @param[out] data - pointer to data array -* -* @return error flags from data buffer, if there was a receive error on -* one of the buffers this will be reflected in the return value. -* -* This function transfers the data from the specified transfer group receive -* buffers to the data array, the length of the data must match the length -* of the transfer group. -*/ -/* SourceId : MIBSPI_SourceId_004 */ -/* DesignId : MIBSPI_DesignId_004 */ -/* Requirements : HL_SR156 */ -uint32 mibspiGetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data) -{ -/* USER CODE BEGIN (8) */ -/* USER CODE END */ - - mibspiRAM_t *ram = (mibspi == mibspiREG1) ? mibspiRAM1 : ((mibspi == mibspiREG3) ? mibspiRAM3 : mibspiRAM5); - uint32 start = (mibspi->TGCTRL[group] >> 8U) & 0xFFU; - uint32 end = (group == 7U) ? (((mibspi->LTGPEND & 0x00007F00U) >> 8U) + 1U) : ((mibspi->TGCTRL[group+1U] >> 8U) & 0xFFU); - uint16 mibspiFlags = 0U; - uint32 ret; - if (end == 0U) {end = 128U;} - - while (start < end) - { - mibspiFlags |= ram->rx[start].flags; - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - *data = ram->rx[start].data; - /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ - data++; - start++; - } - - ret = ((uint32)mibspiFlags >> 8U) & 0x5FU; -/* USER CODE BEGIN (9) */ -/* USER CODE END */ - - return ret; -} - - -/** @fn void mibspiTransfer(mibspiBASE_t *mibspi, uint32 group) -* @brief Transmit Transfer Group -* @param[in] mibspi - Spi module base address -* @param[in] group - Transfer group (0..7) -* -* Initiates a transfer for the specified transfer group. -*/ -/* SourceId : MIBSPI_SourceId_005 */ -/* DesignId : MIBSPI_DesignId_005 */ -/* Requirements : HL_SR157 */ -void mibspiTransfer(mibspiBASE_t *mibspi, uint32 group) -{ -/* USER CODE BEGIN (10) */ -/* USER CODE END */ - - mibspi->TGCTRL[group] |= 0x80000000U; - -/* USER CODE BEGIN (11) */ -/* USER CODE END */ -} - - -/** @fn boolean mibspiIsTransferComplete(mibspiBASE_t *mibspi, uint32 group) -* @brief Check for Transfer Group Ready -* @param[in] mibspi - Spi module base address -* @param[in] group - Transfer group (0..7) -* -* @return TRUE is transfer complete, otherwise FALSE. -* -* Checks to see if the transfer for the specified transfer group -* has finished. -*/ -/* SourceId : MIBSPI_SourceId_006 */ -/* DesignId : MIBSPI_DesignId_006 */ -/* Requirements : HL_SR158 */ -boolean mibspiIsTransferComplete(mibspiBASE_t *mibspi, uint32 group) -{ - boolean status; - -/* USER CODE BEGIN (12) */ -/* USER CODE END */ - - if(((((mibspi->TGINTFLG & 0xFFFF0000U) >> 16U)>> group) & 1U) == 1U) - { - mibspi->TGINTFLG = (mibspi->TGINTFLG & 0x0000FFFFU) | ((uint32)((uint32)1U << group) << 16U); - status = TRUE; - } - else - { - status = FALSE; - } - -/* USER CODE BEGIN (13) */ -/* USER CODE END */ - - return (status); -} - - -/** @fn void mibspiEnableLoopback(mibspiBASE_t *mibspi, loopBackType_t Loopbacktype) -* @brief Enable Loopback mode for self test -* @param[in] mibspi - Mibspi module base address -* @param[in] Loopbacktype - Digital or Analog -* -* This function enables the Loopback mode for self test. -*/ -/* SourceId : MIBSPI_SourceId_007 */ -/* DesignId : MIBSPI_DesignId_009 */ -/* Requirements : HL_SR161 */ -void mibspiEnableLoopback(mibspiBASE_t *mibspi, loopBackType_t Loopbacktype) -{ -/* USER CODE BEGIN (14) */ -/* USER CODE END */ - - /* Clear Loopback incase enabled already */ - mibspi->IOLPKTSTCR = 0U; - - /* Enable Loopback either in Analog or Digital Mode */ - mibspi->IOLPKTSTCR = (uint32)0x00000A00U - | (uint32)((uint32)Loopbacktype << 1U); - -/* USER CODE BEGIN (15) */ -/* USER CODE END */ -} - -/** @fn void mibspiDisableLoopback(mibspiBASE_t *mibspi) -* @brief Enable Loopback mode for self test -* @param[in] mibspi - Mibspi module base address -* -* This function disable the Loopback mode. -*/ -/* SourceId : MIBSPI_SourceId_008 */ -/* DesignId : MIBSPI_DesignId_010 */ -/* Requirements : HL_SR162 */ -void mibspiDisableLoopback(mibspiBASE_t *mibspi) -{ -/* USER CODE BEGIN (16) */ -/* USER CODE END */ - - /* Disable Loopback Mode */ - mibspi->IOLPKTSTCR = 0x00000500U; - -/* USER CODE BEGIN (17) */ -/* USER CODE END */ -} - -/** @fn void mibspiPmodeSet(mibspiBASE_t *mibspi, mibspiPmode_t Pmode, mibspiDFMT_t DFMT) -* @brief Set the Pmode for the selected Data Format register -* @param[in] mibspi - Mibspi module base address -* @param[in] Pmode - Mibspi Parellel mode -* PMODE_NORMAL -* PMODE_2_DATALINE -* PMODE_4_DATALINE -* PMODE_8_DATALINE -* @param[in] DFMT - Mibspi Data Format register -* DATA_FORMAT0 -* DATA_FORMAT1 -* DATA_FORMAT2 -* DATA_FORMAT3 -* -* This function sets the Pmode for the selected Data Format register. -*/ -/* SourceId : MIBSPI_SourceId_009 */ -/* DesignId : MIBSPI_DesignId_011 */ -/* Requirements : HL_SR524 */ -void mibspiPmodeSet(mibspiBASE_t *mibspi, mibspiPmode_t Pmode, mibspiDFMT_t DFMT) -{ - uint32 pmctrl_reg; - /* Set the Pmode for the selected Data Format register */ - pmctrl_reg = (mibspi->PMCTRL & (~(uint32)((uint32)0xFFU << (8U * DFMT)))); - mibspi->PMCTRL = (pmctrl_reg | (uint32)((uint32)Pmode << ((8U * DFMT)))); - -} - -/** @fn void mibspiEnableGroupNotification(mibspiBASE_t *mibspi, uint32 group, uint32 level) -* @brief Enable Transfer Group interrupt -* @param[in] mibspi - Spi module base address -* @param[in] group - Transfer group (0..7) -* @param[in] level - Interrupt level -* -* This function enables the transfer group finished interrupt. -*/ -/* SourceId : MIBSPI_SourceId_010 */ -/* DesignId : MIBSPI_DesignId_007 */ -/* Requirements : HL_SR159 */ -void mibspiEnableGroupNotification(mibspiBASE_t *mibspi, uint32 group, uint32 level) -{ -/* USER CODE BEGIN (18) */ -/* USER CODE END */ - - if (level != 0U) - { - mibspi->TGITLVST = (mibspi->TGITLVST & 0x0000FFFFU) | (uint32)((uint32)((uint32)1U << group) << 16U); - } - else - { - mibspi->TGITLVCR = (mibspi->TGITLVCR & 0x0000FFFFU) | (uint32)((uint32)((uint32)1U << group) << 16U); - } - mibspi->TGITENST = (mibspi->TGITENST & 0x0000FFFFU) | (uint32)((uint32)((uint32)1U << group) << 16U); - -/* USER CODE BEGIN (19) */ -/* USER CODE END */ -} - - -/** @fn void mibspiDisableGroupNotification(mibspiBASE_t *mibspi, uint32 group) -* @brief Disable Transfer Group interrupt -* @param[in] mibspi - Spi module base address -* @param[in] group - Transfer group (0..7) -* -* This function disables the transfer group finished interrupt. -*/ -/* SourceId : MIBSPI_SourceId_011 */ -/* DesignId : MIBSPI_DesignId_008 */ -/* Requirements : HL_SR160 */ -void mibspiDisableGroupNotification(mibspiBASE_t *mibspi, uint32 group) -{ -/* USER CODE BEGIN (20) */ -/* USER CODE END */ - - mibspi->TGITENCR = (mibspi->TGITENCR & 0x0000FFFFU) | (uint32)((uint32)((uint32)1U << group) << 16U); - -/* USER CODE BEGIN (21) */ -/* USER CODE END */ -} - -/** @fn void mibspi1GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : MIBSPI_SourceId_012 */ -/* DesignId : MIBSPI_DesignId_012 */ -/* Requirements : HL_SR166 */ -void mibspi1GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_GCR1 = MIBSPI1_GCR1_CONFIGVALUE; - config_reg->CONFIG_INT0 = MIBSPI1_INT0_CONFIGVALUE; - config_reg->CONFIG_LVL = MIBSPI1_LVL_CONFIGVALUE; - config_reg->CONFIG_PCFUN = MIBSPI1_PCFUN_CONFIGVALUE; - config_reg->CONFIG_PCDIR = MIBSPI1_PCDIR_CONFIGVALUE; - config_reg->CONFIG_PCPDR = MIBSPI1_PCPDR_CONFIGVALUE; - config_reg->CONFIG_PCDIS = MIBSPI1_PCDIS_CONFIGVALUE; - config_reg->CONFIG_PCPSL = MIBSPI1_PCPSL_CONFIGVALUE; - config_reg->CONFIG_DELAY = MIBSPI1_DELAY_CONFIGVALUE; - config_reg->CONFIG_FMT0 = MIBSPI1_FMT0_CONFIGVALUE; - config_reg->CONFIG_FMT1 = MIBSPI1_FMT1_CONFIGVALUE; - config_reg->CONFIG_FMT2 = MIBSPI1_FMT2_CONFIGVALUE; - config_reg->CONFIG_FMT3 = MIBSPI1_FMT3_CONFIGVALUE; - config_reg->CONFIG_MIBSPIE = MIBSPI1_MIBSPIE_CONFIGVALUE; - config_reg->CONFIG_LTGPEND = MIBSPI1_LTGPEND_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[0U] = MIBSPI1_TGCTRL0_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[1U] = MIBSPI1_TGCTRL1_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[2U] = MIBSPI1_TGCTRL2_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[3U] = MIBSPI1_TGCTRL3_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[4U] = MIBSPI1_TGCTRL4_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[5U] = MIBSPI1_TGCTRL5_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[6U] = MIBSPI1_TGCTRL6_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[7U] = MIBSPI1_TGCTRL7_CONFIGVALUE; - config_reg->CONFIG_UERRCTRL = MIBSPI1_UERRCTRL_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_GCR1 = mibspiREG1->GCR1; - config_reg->CONFIG_INT0 = mibspiREG1->INT0; - config_reg->CONFIG_LVL = mibspiREG1->LVL; - config_reg->CONFIG_PCFUN = mibspiREG1->PC0; - config_reg->CONFIG_PCDIR = mibspiREG1->PC1; - config_reg->CONFIG_PCPDR = mibspiREG1->PC6; - config_reg->CONFIG_PCDIS = mibspiREG1->PC7; - config_reg->CONFIG_PCPSL = mibspiREG1->PC8; - config_reg->CONFIG_DELAY = mibspiREG1->DELAY; - config_reg->CONFIG_FMT0 = mibspiREG1->FMT0; - config_reg->CONFIG_FMT1 = mibspiREG1->FMT1; - config_reg->CONFIG_FMT2 = mibspiREG1->FMT2; - config_reg->CONFIG_FMT3 = mibspiREG1->FMT3; - config_reg->CONFIG_MIBSPIE = mibspiREG1->MIBSPIE; - config_reg->CONFIG_LTGPEND = mibspiREG1->LTGPEND; - config_reg->CONFIG_TGCTRL[0U] = mibspiREG1->TGCTRL[0U]; - config_reg->CONFIG_TGCTRL[1U] = mibspiREG1->TGCTRL[1U]; - config_reg->CONFIG_TGCTRL[2U] = mibspiREG1->TGCTRL[2U]; - config_reg->CONFIG_TGCTRL[3U] = mibspiREG1->TGCTRL[3U]; - config_reg->CONFIG_TGCTRL[4U] = mibspiREG1->TGCTRL[4U]; - config_reg->CONFIG_TGCTRL[5U] = mibspiREG1->TGCTRL[5U]; - config_reg->CONFIG_TGCTRL[6U] = mibspiREG1->TGCTRL[6U]; - config_reg->CONFIG_TGCTRL[7U] = mibspiREG1->TGCTRL[7U]; - config_reg->CONFIG_UERRCTRL = mibspiREG1->UERRCTRL; - } -} - -/** @fn void mibspi3GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : MIBSPI_SourceId_013 */ -/* DesignId : MIBSPI_DesignId_012 */ -/* Requirements : HL_SR166 */ -void mibspi3GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_GCR1 = MIBSPI3_GCR1_CONFIGVALUE; - config_reg->CONFIG_INT0 = MIBSPI3_INT0_CONFIGVALUE; - config_reg->CONFIG_LVL = MIBSPI3_LVL_CONFIGVALUE; - config_reg->CONFIG_PCFUN = MIBSPI3_PCFUN_CONFIGVALUE; - config_reg->CONFIG_PCDIR = MIBSPI3_PCDIR_CONFIGVALUE; - config_reg->CONFIG_PCPDR = MIBSPI3_PCPDR_CONFIGVALUE; - config_reg->CONFIG_PCDIS = MIBSPI3_PCDIS_CONFIGVALUE; - config_reg->CONFIG_PCPSL = MIBSPI3_PCPSL_CONFIGVALUE; - config_reg->CONFIG_DELAY = MIBSPI3_DELAY_CONFIGVALUE; - config_reg->CONFIG_FMT0 = MIBSPI3_FMT0_CONFIGVALUE; - config_reg->CONFIG_FMT1 = MIBSPI3_FMT1_CONFIGVALUE; - config_reg->CONFIG_FMT2 = MIBSPI3_FMT2_CONFIGVALUE; - config_reg->CONFIG_FMT3 = MIBSPI3_FMT3_CONFIGVALUE; - config_reg->CONFIG_MIBSPIE = MIBSPI3_MIBSPIE_CONFIGVALUE; - config_reg->CONFIG_LTGPEND = MIBSPI3_LTGPEND_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[0U] = MIBSPI3_TGCTRL0_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[1U] = MIBSPI3_TGCTRL1_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[2U] = MIBSPI3_TGCTRL2_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[3U] = MIBSPI3_TGCTRL3_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[4U] = MIBSPI3_TGCTRL4_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[5U] = MIBSPI3_TGCTRL5_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[6U] = MIBSPI3_TGCTRL6_CONFIGVALUE; - config_reg->CONFIG_TGCTRL[7U] = MIBSPI3_TGCTRL7_CONFIGVALUE; - config_reg->CONFIG_UERRCTRL = MIBSPI3_UERRCTRL_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_GCR1 = mibspiREG3->GCR1; - config_reg->CONFIG_INT0 = mibspiREG3->INT0; - config_reg->CONFIG_LVL = mibspiREG3->LVL; - config_reg->CONFIG_PCFUN = mibspiREG3->PC0; - config_reg->CONFIG_PCDIR = mibspiREG3->PC1; - config_reg->CONFIG_PCPDR = mibspiREG3->PC6; - config_reg->CONFIG_PCDIS = mibspiREG3->PC7; - config_reg->CONFIG_PCPSL = mibspiREG3->PC8; - config_reg->CONFIG_DELAY = mibspiREG3->DELAY; - config_reg->CONFIG_FMT0 = mibspiREG3->FMT0; - config_reg->CONFIG_FMT1 = mibspiREG3->FMT1; - config_reg->CONFIG_FMT2 = mibspiREG3->FMT2; - config_reg->CONFIG_FMT3 = mibspiREG3->FMT3; - config_reg->CONFIG_MIBSPIE = mibspiREG3->MIBSPIE; - config_reg->CONFIG_LTGPEND = mibspiREG3->LTGPEND; - config_reg->CONFIG_TGCTRL[0U] = mibspiREG3->TGCTRL[0U]; - config_reg->CONFIG_TGCTRL[1U] = mibspiREG3->TGCTRL[1U]; - config_reg->CONFIG_TGCTRL[2U] = mibspiREG3->TGCTRL[2U]; - config_reg->CONFIG_TGCTRL[3U] = mibspiREG3->TGCTRL[3U]; - config_reg->CONFIG_TGCTRL[4U] = mibspiREG3->TGCTRL[4U]; - config_reg->CONFIG_TGCTRL[5U] = mibspiREG3->TGCTRL[5U]; - config_reg->CONFIG_TGCTRL[6U] = mibspiREG3->TGCTRL[6U]; - config_reg->CONFIG_TGCTRL[7U] = mibspiREG3->TGCTRL[7U]; - config_reg->CONFIG_UERRCTRL = mibspiREG3->UERRCTRL; - } -} - - - - - - - +/** @file mibspi.c +* @brief MIBSPI Driver Implementation File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +#include "mibspi.h" +#include "sys_vim.h" +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @fn void mibspiInit(void) +* @brief Initializes the MIBSPI Driver +* +* This function initializes the MIBSPI module. +*/ +/* SourceId : MIBSPI_SourceId_001 */ +/* DesignId : MIBSPI_DesignId_001 */ +/* Requirements : HL_SR153 */ +void mibspiInit(void) +{ +uint32 i ; + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + + + /** @b initialize @b MIBSPI1 */ + + /** bring MIBSPI out of reset */ + mibspiREG1->GCR0 = 0U; + mibspiREG1->GCR0 = 1U; + + /** enable MIBSPI1 multibuffered mode and enable buffer RAM */ + mibspiREG1->MIBSPIE = (mibspiREG1->MIBSPIE & 0xFFFFFFFEU) | 1U; + + /** MIBSPI1 master mode and clock configuration */ + mibspiREG1->GCR1 = (mibspiREG1->GCR1 & 0xFFFFFFFCU) | ((uint32)((uint32)1U << 1U) /* CLOKMOD */ + | 1U); /* MASTER */ + + /** MIBSPI1 enable pin configuration */ + mibspiREG1->INT0 = (mibspiREG1->INT0 & 0xFEFFFFFFU) | (uint32)((uint32)0U << 24U); /* ENABLE HIGHZ */ + + /** - Delays */ + mibspiREG1->DELAY = (uint32)((uint32)1U << 24U) /* C2TDELAY */ + | (uint32)((uint32)0U << 16U) /* T2CDELAY */ + | (uint32)((uint32)0U << 8U) /* T2EDELAY */ + | (uint32)((uint32)0U << 0U); /* C2EDELAY */ + + /** - Data Format 0 */ + mibspiREG1->FMT0 = (uint32)((uint32)0U << 24U) /* wdelay */ + | (uint32)((uint32)0U << 23U) /* parity Polarity */ + | (uint32)((uint32)0U << 22U) /* parity enable */ + | (uint32)((uint32)0U << 21U) /* wait on enable */ + | (uint32)((uint32)0U << 20U) /* shift direction */ + | (uint32)((uint32)0U << 17U) /* clock polarity */ + | (uint32)((uint32)1U << 16U) /* clock phase */ + | (uint32)((uint32)255U << 8U) /* baudrate prescale */ + | (uint32)((uint32)8U << 0U); /* data word length */ + + /** - Data Format 1 */ + mibspiREG1->FMT1 = (uint32)((uint32)0U << 24U) /* wdelay */ + | (uint32)((uint32)0U << 23U) /* parity Polarity */ + | (uint32)((uint32)0U << 22U) /* parity enable */ + | (uint32)((uint32)0U << 21U) /* wait on enable */ + | (uint32)((uint32)0U << 20U) /* shift direction */ + | (uint32)((uint32)0U << 17U) /* clock polarity */ + | (uint32)((uint32)0U << 16U) /* clock phase */ + | (uint32)((uint32)79U << 8U) /* baudrate prescale */ + | (uint32)((uint32)16U << 0U); /* data word length */ + + /** - Data Format 2 */ + mibspiREG1->FMT2 = (uint32)((uint32)0U << 24U) /* wdelay */ + | (uint32)((uint32)0U << 23U) /* parity Polarity */ + | (uint32)((uint32)0U << 22U) /* parity enable */ + | (uint32)((uint32)0U << 21U) /* wait on enable */ + | (uint32)((uint32)0U << 20U) /* shift direction */ + | (uint32)((uint32)0U << 17U) /* clock polarity */ + | (uint32)((uint32)0U << 16U) /* clock phase */ + | (uint32)((uint32)79U << 8U) /* baudrate prescale */ + | (uint32)((uint32)16U << 0U); /* data word length */ + + /** - Data Format 3 */ + mibspiREG1->FMT3 = (uint32)((uint32)0U << 24U) /* wdelay */ + | (uint32)((uint32)0U << 23U) /* parity Polarity */ + | (uint32)((uint32)0U << 22U) /* parity enable */ + | (uint32)((uint32)0U << 21U) /* wait on enable */ + | (uint32)((uint32)0U << 20U) /* shift direction */ + | (uint32)((uint32)0U << 17U) /* clock polarity */ + | (uint32)((uint32)0U << 16U) /* clock phase */ + | (uint32)((uint32)79U << 8U) /* baudrate prescale */ + | (uint32)((uint32)16U << 0U); /* data word length */ + + /** - Default Chip Select */ + mibspiREG1->DEF = (uint32)(0xFFU); + + /** - wait for buffer initialization complete before accessing MibSPI registers */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((mibspiREG1->FLG & 0x01000000U) != 0U) + { + } /* Wait */ + + /** enable MIBSPI RAM Parity */ + mibspiREG1->UERRCTRL = (mibspiREG1->UERRCTRL & 0xFFFFFFF0U) | (0x00000005U); + + /** - initialize transfer groups */ + mibspiREG1->TGCTRL[0U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)0U << 8U); /* start buffer */ + + mibspiREG1->TGCTRL[1U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)3U << 8U); /* start buffer */ + + mibspiREG1->TGCTRL[2U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(3U+3U) << 8U); /* start buffer */ + + mibspiREG1->TGCTRL[3U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(3U+3U+0U) << 8U); /* start buffer */ + + mibspiREG1->TGCTRL[4U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(3U+3U+0U+0U) << 8U); /* start buffer */ + + mibspiREG1->TGCTRL[5U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(3U+3U+0U+0U+0U) << 8U); /* start buffer */ + + mibspiREG1->TGCTRL[6U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(3U+3U+0U+0U+0U+0U) << 8U); /* start buffer */ + + mibspiREG1->TGCTRL[7U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(3U+3U+0U+0U+0U+0U+0U) << 8U); /* start buffer */ + + + mibspiREG1->TGCTRL[8U] = (uint32)(3U+3U+0U+0U+0U+0U+0U+0U) << 8U; + + mibspiREG1->LTGPEND = (mibspiREG1->LTGPEND & 0xFFFF00FFU) | (uint32)((uint32)((3U+3U+0U+0U+0U+0U+0U+0U)-1U) << 8U); + + /** - initialize buffer ram */ + { + i = 0U; + +#if (3U > 0U) + { + +#if (3U > 1U) + + while (i < (3U-1U)) + { + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)1U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_1)) & (uint16)0x00FFU); /* chip select */ + i++; + } +#endif + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_1)) & (uint16)0x00FFU); /* chip select */ + + + i++; + } +#endif + +#if (3U > 0U) + { + +#if (3U > 1U) + + while (i < ((3U+3U)-1U)) + { + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)1U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((3U+3U+0U)-1U)) + { + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)1U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_2)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_2)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((3U+3U+0U+0U)-1U)) + { + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_3)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_3)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((3U+3U+0U+0U+0U)-1U)) + { + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_4)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_4)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((3U+3U+0U+0U+0U+0U)-1U)) + { + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((3U+3U+0U+0U+0U+0U+0U)-1U)) + { + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_6)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_6)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((3U+3U+0U+0U+0U+0U+0U+0U)-1U)) + { + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_7)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM1->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_7)) & (uint16)0x00FFU); /* chip select */ + i++; + } +#endif + } + + /** - set interrupt levels */ + mibspiREG1->LVL = (uint32)((uint32)0U << 9U) /* TXINT */ + | (uint32)((uint32)0U << 8U) /* RXINT */ + | (uint32)((uint32)0U << 6U) /* OVRNINT */ + | (uint32)((uint32)0U << 4U) /* BITERR */ + | (uint32)((uint32)0U << 3U) /* DESYNC */ + | (uint32)((uint32)0U << 2U) /* PARERR */ + | (uint32)((uint32)0U << 1U) /* TIMEOUT */ + | (uint32)((uint32)0U << 0U); /* DLENERR */ + + /** - clear any pending interrupts */ + mibspiREG1->FLG |= 0xFFFFU; + + /** - enable interrupts */ + mibspiREG1->INT0 = (mibspiREG1->INT0 & 0xFFFF0000U) + | (uint32)((uint32)0U << 9U) /* TXINT */ + | (uint32)((uint32)0U << 8U) /* RXINT */ + | (uint32)((uint32)0U << 6U) /* OVRNINT */ + | (uint32)((uint32)0U << 4U) /* BITERR */ + | (uint32)((uint32)0U << 3U) /* DESYNC */ + | (uint32)((uint32)0U << 2U) /* PARERR */ + | (uint32)((uint32)0U << 1U) /* TIMEOUT */ + | (uint32)((uint32)0U << 0U); /* DLENERR */ + + /** @b initialize @b MIBSPI1 @b Port */ + + /** - MIBSPI1 Port output values */ + mibspiREG1->PC3 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + | (uint32)((uint32)1U << 1U) /* SCS[1] */ + | (uint32)((uint32)1U << 2U) /* SCS[2] */ + | (uint32)((uint32)1U << 3U) /* SCS[3] */ + | (uint32)((uint32)1U << 4U) /* SCS[4] */ + | (uint32)((uint32)1U << 5U) /* SCS[5] */ + | (uint32)((uint32)0U << 8U) /* ENA */ + | (uint32)((uint32)0U << 9U) /* CLK */ + | (uint32)((uint32)0U << 10U) /* SIMO[0] */ + | (uint32)((uint32)0U << 11U) /* SOMI[0] */ + | (uint32)((uint32)0U << 17U) /* SIMO[1] */ + | (uint32)((uint32)0U << 25U); /* SOMI[1] */ + + /** - MIBSPI1 Port direction */ + mibspiREG1->PC1 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + | (uint32)((uint32)1U << 1U) /* SCS[1] */ + | (uint32)((uint32)1U << 2U) /* SCS[2] */ + | (uint32)((uint32)1U << 3U) /* SCS[3] */ + | (uint32)((uint32)1U << 4U) /* SCS[4] */ + | (uint32)((uint32)1U << 5U) /* SCS[5] */ + | (uint32)((uint32)0U << 8U) /* ENA */ + | (uint32)((uint32)1U << 9U) /* CLK */ + | (uint32)((uint32)1U << 10U) /* SIMO[0] */ + | (uint32)((uint32)0U << 11U) /* SOMI[0] */ + | (uint32)((uint32)0U << 17U) /* SIMO[1] */ + | (uint32)((uint32)0U << 25U); /* SOMI[1] */ + + /** - MIBSPI1 Port open drain enable */ + mibspiREG1->PC6 = (uint32)((uint32)0U << 0U) /* SCS[0] */ + | (uint32)((uint32)0U << 1U) /* SCS[1] */ + | (uint32)((uint32)0U << 2U) /* SCS[2] */ + | (uint32)((uint32)0U << 3U) /* SCS[3] */ + | (uint32)((uint32)0U << 4U) /* SCS[4] */ + | (uint32)((uint32)0U << 5U) /* SCS[5] */ + | (uint32)((uint32)0U << 8U) /* ENA */ + | (uint32)((uint32)0U << 9U) /* CLK */ + | (uint32)((uint32)0U << 10U) /* SIMO[0] */ + | (uint32)((uint32)0U << 11U) /* SOMI[0] */ + | (uint32)((uint32)0U << 17U) /* SIMO[1] */ + | (uint32)((uint32)0U << 25U); /* SOMI[1] */ + + /** - MIBSPI1 Port pullup / pulldown selection */ + mibspiREG1->PC8 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + | (uint32)((uint32)1U << 1U) /* SCS[1] */ + | (uint32)((uint32)1U << 2U) /* SCS[2] */ + | (uint32)((uint32)1U << 3U) /* SCS[3] */ + | (uint32)((uint32)1U << 4U) /* SCS[4] */ + | (uint32)((uint32)1U << 5U) /* SCS[5] */ + | (uint32)((uint32)1U << 8U) /* ENA */ + | (uint32)((uint32)1U << 9U) /* CLK */ + | (uint32)((uint32)1U << 10U) /* SIMO[0] */ + | (uint32)((uint32)1U << 11U) /* SOMI[0] */ + | (uint32)((uint32)1U << 17U) /* SIMO[1] */ + | (uint32)((uint32)1U << 25U); /* SOMI[1] */ + + /** - MIBSPI1 Port pullup / pulldown enable*/ + mibspiREG1->PC7 = (uint32)((uint32)0U << 0U) /* SCS[0] */ + | (uint32)((uint32)0U << 1U) /* SCS[1] */ + | (uint32)((uint32)0U << 2U) /* SCS[2] */ + | (uint32)((uint32)0U << 3U) /* SCS[3] */ + | (uint32)((uint32)0U << 4U) /* SCS[4] */ + | (uint32)((uint32)0U << 5U) /* SCS[5] */ + | (uint32)((uint32)0U << 8U) /* ENA */ + | (uint32)((uint32)0U << 9U) /* CLK */ + | (uint32)((uint32)0U << 10U) /* SIMO[0] */ + | (uint32)((uint32)0U << 11U) /* SOMI[0] */ + | (uint32)((uint32)0U << 17U) /* SIMO[1] */ + | (uint32)((uint32)0U << 25U); /* SOMI[1] */ + + /* MIBSPI1 set all pins to functional */ + mibspiREG1->PC0 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + | (uint32)((uint32)1U << 1U) /* SCS[1] */ + | (uint32)((uint32)1U << 2U) /* SCS[2] */ + | (uint32)((uint32)0U << 3U) /* SCS[3] */ + | (uint32)((uint32)0U << 4U) /* SCS[4] */ + | (uint32)((uint32)1U << 5U) /* SCS[5] */ + | (uint32)((uint32)1U << 8U) /* ENA */ + | (uint32)((uint32)1U << 9U) /* CLK */ + | (uint32)((uint32)1U << 10U) /* SIMO[0] */ + | (uint32)((uint32)1U << 11U) /* SOMI[0] */ + | (uint32)((uint32)1U << 17U) /* SIMO[1] */ + | (uint32)((uint32)1U << 25U); /* SOMI[1] */ + + /** - Finally start MIBSPI1 */ + mibspiREG1->GCR1 = (mibspiREG1->GCR1 & 0xFEFFFFFFU) | 0x01000000U; + + + + /** @b initialize @b MIBSPI3 */ + + /** bring MIBSPI out of reset */ + mibspiREG3->GCR0 = 0U; + mibspiREG3->GCR0 = 1U; + + /** enable MIBSPI3 multibuffered mode and enable buffer RAM */ + mibspiREG3->MIBSPIE = (mibspiREG3->MIBSPIE & 0xFFFFFFFEU) | 1U; + + /** MIBSPI3 master mode and clock configuration */ + mibspiREG3->GCR1 = (mibspiREG3->GCR1 & 0xFFFFFFFCU) | ((uint32)((uint32)1U << 1U) /* CLOKMOD */ + | 1U); /* MASTER */ + + /** MIBSPI3 enable pin configuration */ + mibspiREG3->INT0 = (mibspiREG3->INT0 & 0xFEFFFFFFU) | (uint32)((uint32)0U << 24U); /* ENABLE HIGHZ */ + + /** - Delays */ + mibspiREG3->DELAY = (uint32)((uint32)0U << 24U) /* C2TDELAY */ + | (uint32)((uint32)0U << 16U) /* T2CDELAY */ + | (uint32)((uint32)0U << 8U) /* T2EDELAY */ + | (uint32)((uint32)0U << 0U); /* C2EDELAY */ + + /** - Data Format 0 */ + mibspiREG3->FMT0 = (uint32)((uint32)0U << 24U) /* wdelay */ + | (uint32)((uint32)0U << 23U) /* parity Polarity */ + | (uint32)((uint32)0U << 22U) /* parity enable */ + | (uint32)((uint32)0U << 21U) /* wait on enable */ + | (uint32)((uint32)0U << 20U) /* shift direction */ + | (uint32)((uint32)0U << 17U) /* clock polarity */ + | (uint32)((uint32)0U << 16U) /* clock phase */ + | (uint32)((uint32)79U << 8U) /* baudrate prescale */ + | (uint32)((uint32)14U << 0U); /* data word length */ + + /** - Data Format 1 */ + mibspiREG3->FMT1 = (uint32)((uint32)0U << 24U) /* wdelay */ + | (uint32)((uint32)0U << 23U) /* parity Polarity */ + | (uint32)((uint32)0U << 22U) /* parity enable */ + | (uint32)((uint32)0U << 21U) /* wait on enable */ + | (uint32)((uint32)0U << 20U) /* shift direction */ + | (uint32)((uint32)0U << 17U) /* clock polarity */ + | (uint32)((uint32)0U << 16U) /* clock phase */ + | (uint32)((uint32)79U << 8U) /* baudrate prescale */ + | (uint32)((uint32)16U << 0U); /* data word length */ + + /** - Data Format 2 */ + mibspiREG3->FMT2 = (uint32)((uint32)0U << 24U) /* wdelay */ + | (uint32)((uint32)0U << 23U) /* parity Polarity */ + | (uint32)((uint32)0U << 22U) /* parity enable */ + | (uint32)((uint32)0U << 21U) /* wait on enable */ + | (uint32)((uint32)0U << 20U) /* shift direction */ + | (uint32)((uint32)0U << 17U) /* clock polarity */ + | (uint32)((uint32)0U << 16U) /* clock phase */ + | (uint32)((uint32)79U << 8U) /* baudrate prescale */ + | (uint32)((uint32)16U << 0U); /* data word length */ + + /** - Data Format 3 */ + mibspiREG3->FMT3 = (uint32)((uint32)0U << 24U) /* wdelay */ + | (uint32)((uint32)0U << 23U) /* parity Polarity */ + | (uint32)((uint32)0U << 22U) /* parity enable */ + | (uint32)((uint32)0U << 21U) /* wait on enable */ + | (uint32)((uint32)0U << 20U) /* shift direction */ + | (uint32)((uint32)0U << 17U) /* clock polarity */ + | (uint32)((uint32)0U << 16U) /* clock phase */ + | (uint32)((uint32)79U << 8U) /* baudrate prescale */ + | (uint32)((uint32)16U << 0U); /* data word length */ + + /** - Default Chip Select */ + mibspiREG3->DEF = (uint32)(0xFFU); + + /** - wait for buffer initialization complete before accessing MibSPI registers */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((mibspiREG3->FLG & 0x01000000U) != 0U) + { + } /* Wait */ + + /** enable MIBSPI RAM Parity */ + mibspiREG3->UERRCTRL = (mibspiREG3->UERRCTRL & 0xFFFFFFF0U) | (0x00000005U); + + /** - initialize transfer groups */ + mibspiREG3->TGCTRL[0U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)0U << 8U); /* start buffer */ + + mibspiREG3->TGCTRL[1U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)8U << 8U); /* start buffer */ + + mibspiREG3->TGCTRL[2U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(8U+0U) << 8U); /* start buffer */ + + mibspiREG3->TGCTRL[3U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(8U+0U+0U) << 8U); /* start buffer */ + + mibspiREG3->TGCTRL[4U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(8U+0U+0U+0U) << 8U); /* start buffer */ + + mibspiREG3->TGCTRL[5U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(8U+0U+0U+0U+0U) << 8U); /* start buffer */ + + mibspiREG3->TGCTRL[6U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(8U+0U+0U+0U+0U+0U) << 8U); /* start buffer */ + + mibspiREG3->TGCTRL[7U] = (uint32)((uint32)1U << 30U) /* oneshot */ + | (uint32)((uint32)0U << 29U) /* pcurrent reset */ + | (uint32)((uint32)TRG_ALWAYS << 20U) /* trigger event */ + | (uint32)((uint32)TRG_DISABLED << 16U) /* trigger source */ + | (uint32)((uint32)(8U+0U+0U+0U+0U+0U+0U) << 8U); /* start buffer */ + + + mibspiREG3->TGCTRL[8U] = (uint32)(8U+0U+0U+0U+0U+0U+0U+0U) << 8U; + + mibspiREG3->LTGPEND = (mibspiREG3->LTGPEND & 0xFFFF00FFU) | (uint32)(((uint32)(8U+0U+0U+0U+0U+0U+0U+0U)-1U) << 8U); + + /** - initialize buffer ram */ + { + i = 0U; + +#if (8U > 0U) + { + +#if (8U > 1U) + + while (i < (8U-1U)) + { + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_0)) & (uint16)0x00FFU); /* chip select */ + i++; + } +#endif + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_0)) & (uint16)0x00FFU); /* chip select */ + + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((8U+0U)-1U)) + { + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_1)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_1)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((8U+0U+0U)-1U)) + { + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_2)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_2)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((8U+0U+0U+0U)-1U)) + { + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_3)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_3)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((8U+0U+0U+0U+0U)-1U)) + { + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_4)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_4)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((8U+0U+0U+0U+0U+0U)-1U)) + { + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_5)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((8U+0U+0U+0U+0U+0U+0U)-1U)) + { + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_6)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_6)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + +#if (0U > 0U) + { + +#if (0U > 1U) + + while (i < ((8U+0U+0U+0U+0U+0U+0U+0U)-1U)) + { + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 11U) /* lock transmission */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_7)) & (uint16)0x00FFU); /* chip select */ + + i++; + } +#endif + mibspiRAM3->tx[i].control = (uint16)((uint16)4U << 13U) /* buffer mode */ + | (uint16)((uint16)0U << 12U) /* chip select hold */ + | (uint16)((uint16)0U << 10U) /* enable WDELAY */ + | (uint16)((uint16)0U << 8U) /* data format */ + /*SAFETYMCUSW 334 S MR:10.5 "LDRA Tool issue" */ + | ((uint16)(~((uint16)0xFFU ^ (uint16)CS_7)) & (uint16)0x00FFU); /* chip select */ + i++; + } +#endif + } + + /** - set interrupt levels */ + mibspiREG3->LVL = (uint32)((uint32)0U << 9U) /* TXINT */ + | (uint32)((uint32)0U << 8U) /* RXINT */ + | (uint32)((uint32)0U << 6U) /* OVRNINT */ + | (uint32)((uint32)0U << 4U) /* BITERR */ + | (uint32)((uint32)0U << 3U) /* DESYNC */ + | (uint32)((uint32)0U << 2U) /* PARERR */ + | (uint32)((uint32)0U << 1U) /* TIMEOUT */ + | (uint32)((uint32)0U << 0U); /* DLENERR */ + + /** - clear any pending interrupts */ + mibspiREG3->FLG |= 0xFFFFU; + + /** - enable interrupts */ + mibspiREG3->INT0 = (mibspiREG3->INT0 & 0xFFFF0000U) + | (uint32)((uint32)0U << 9U) /* TXINT */ + | (uint32)((uint32)0U << 8U) /* RXINT */ + | (uint32)((uint32)0U << 6U) /* OVRNINT */ + | (uint32)((uint32)0U << 4U) /* BITERR */ + | (uint32)((uint32)0U << 3U) /* DESYNC */ + | (uint32)((uint32)0U << 2U) /* PARERR */ + | (uint32)((uint32)0U << 1U) /* TIMEOUT */ + | (uint32)((uint32)0U << 0U); /* DLENERR */ + + /** @b initialize @b MIBSPI3 @b Port */ + + /** - MIBSPI3 Port output values */ + mibspiREG3->PC3 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + | (uint32)((uint32)1U << 1U) /* SCS[1] */ + | (uint32)((uint32)1U << 2U) /* SCS[2] */ + | (uint32)((uint32)1U << 3U) /* SCS[3] */ + | (uint32)((uint32)1U << 4U) /* SCS[4] */ + | (uint32)((uint32)1U << 5U) /* SCS[5] */ + | (uint32)((uint32)0U << 8U) /* ENA */ + | (uint32)((uint32)0U << 9U) /* CLK */ + | (uint32)((uint32)0U << 10U) /* SIMO */ + | (uint32)((uint32)0U << 11U); /* SOMI */ + + /** - MIBSPI3 Port direction */ + mibspiREG3->PC1 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + | (uint32)((uint32)1U << 1U) /* SCS[1] */ + | (uint32)((uint32)1U << 2U) /* SCS[2] */ + | (uint32)((uint32)1U << 3U) /* SCS[3] */ + | (uint32)((uint32)1U << 4U) /* SCS[4] */ + | (uint32)((uint32)1U << 5U) /* SCS[5] */ + | (uint32)((uint32)0U << 8U) /* ENA */ + | (uint32)((uint32)1U << 9U) /* CLK */ + | (uint32)((uint32)1U << 10U) /* SIMO */ + | (uint32)((uint32)0U << 11U); /* SOMI */ + + /** - MIBSPI3 Port open drain enable */ + mibspiREG3->PC6 = (uint32)((uint32)0U << 0U) /* SCS[0] */ + | (uint32)((uint32)0U << 1U) /* SCS[1] */ + | (uint32)((uint32)0U << 2U) /* SCS[2] */ + | (uint32)((uint32)0U << 3U) /* SCS[3] */ + | (uint32)((uint32)0U << 4U) /* SCS[4] */ + | (uint32)((uint32)0U << 5U) /* SCS[5] */ + | (uint32)((uint32)0U << 8U) /* ENA */ + | (uint32)((uint32)0U << 9U) /* CLK */ + | (uint32)((uint32)0U << 10U) /* SIMO */ + | (uint32)((uint32)0U << 11U); /* SOMI */ + + + /** - MIBSPI3 Port pullup / pulldown selection */ + mibspiREG3->PC8 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + | (uint32)((uint32)1U << 1U) /* SCS[1] */ + | (uint32)((uint32)1U << 2U) /* SCS[2] */ + | (uint32)((uint32)1U << 3U) /* SCS[3] */ + | (uint32)((uint32)1U << 4U) /* SCS[4] */ + | (uint32)((uint32)1U << 5U) /* SCS[5] */ + | (uint32)((uint32)1U << 8U) /* ENA */ + | (uint32)((uint32)1U << 9U) /* CLK */ + | (uint32)((uint32)1U << 10U) /* SIMO */ + | (uint32)((uint32)1U << 11U); /* SOMI */ + + + /** - MIBSPI3 Port pullup / pulldown enable*/ + mibspiREG3->PC7 = (uint32)((uint32)0U << 0U) /* SCS[0] */ + | (uint32)((uint32)0U << 1U) /* SCS[1] */ + | (uint32)((uint32)0U << 2U) /* SCS[2] */ + | (uint32)((uint32)0U << 3U) /* SCS[3] */ + | (uint32)((uint32)0U << 4U) /* SCS[4] */ + | (uint32)((uint32)0U << 5U) /* SCS[5] */ + | (uint32)((uint32)0U << 8U) /* ENA */ + | (uint32)((uint32)0U << 9U) /* CLK */ + | (uint32)((uint32)0U << 10U) /* SIMO */ + | (uint32)((uint32)0U << 11U); /* SOMI */ + + + /* MIBSPI3 set all pins to functional */ + mibspiREG3->PC0 = (uint32)((uint32)1U << 0U) /* SCS[0] */ + | (uint32)((uint32)0U << 1U) /* SCS[1] */ + | (uint32)((uint32)0U << 2U) /* SCS[2] */ + | (uint32)((uint32)0U << 3U) /* SCS[3] */ + | (uint32)((uint32)0U << 4U) /* SCS[4] */ + | (uint32)((uint32)0U << 5U) /* SCS[5] */ + | (uint32)((uint32)1U << 8U) /* ENA */ + | (uint32)((uint32)1U << 9U) /* CLK */ + | (uint32)((uint32)1U << 10U) /* SIMO */ + | (uint32)((uint32)1U << 11U); /* SOMI */ + + /** - Finally start MIBSPI3 */ + mibspiREG3->GCR1 = (mibspiREG3->GCR1 & 0xFEFFFFFFU) | 0x01000000U; + + + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + +} + + +/** @fn void mibspiSetFunctional(mibspiBASE_t *mibspi, uint32 port) +* @brief Change functional behavior of pins at runtime. +* @param[in] mibspi - mibspi module base address +* @param[in] port - Value to write to PC0 register +* +* Change the value of the PC0 register at runtime, this allows to +* dynamically change the functionality of the MIBSPI pins between functional +* and GIO mode. +*/ +/* SourceId : MIBSPI_SourceId_002 */ +/* DesignId : MIBSPI_DesignId_002 */ +/* Requirements : HL_SR154 */ +void mibspiSetFunctional(mibspiBASE_t *mibspi, uint32 port) +{ +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + + mibspi->PC0 = port; + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ +} + + +/** @fn void mibspiSetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data) +* @brief Set Buffer Data +* @param[in] mibspi - Spi module base address +* @param[in] group - Transfer group (0..7) +* @param[in] data - new data for transfer group +* +* This function updates the data for the specified transfer group, +* the length of the data must match the length of the transfer group. +*/ +/* SourceId : MIBSPI_SourceId_003 */ +/* DesignId : MIBSPI_DesignId_003 */ +/* Requirements : HL_SR155 */ +void mibspiSetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data) +{ +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + + mibspiRAM_t *ram = (mibspi == mibspiREG1) ? mibspiRAM1 : ((mibspi == mibspiREG3) ? mibspiRAM3 : mibspiRAM5); + uint32 start = (mibspi->TGCTRL[group] >> 8U) & 0xFFU; + uint32 end = (group == 7U) ? (((mibspi->LTGPEND & 0x00007F00U) >> 8U) + 1U) : ((mibspi->TGCTRL[group+1U] >> 8U) & 0xFFU); + + if (end == 0U) {end = 128U;} + + while (start < end) + { + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + ram->tx[start].data = *data; + /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ + data++; + start++; + } +/* USER CODE BEGIN (7) */ +/* USER CODE END */ +} + + +/** @fn void mibspiGetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data) +* @brief Retrieves Buffer Data from receive buffer +* @param[in] mibspi - Spi module base address +* @param[in] group - Transfer group (0..7) +* @param[out] data - pointer to data array +* +* @return error flags from data buffer, if there was a receive error on +* one of the buffers this will be reflected in the return value. +* +* This function transfers the data from the specified transfer group receive +* buffers to the data array, the length of the data must match the length +* of the transfer group. +*/ +/* SourceId : MIBSPI_SourceId_004 */ +/* DesignId : MIBSPI_DesignId_004 */ +/* Requirements : HL_SR156 */ +uint32 mibspiGetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data) +{ +/* USER CODE BEGIN (8) */ +/* USER CODE END */ + + mibspiRAM_t *ram = (mibspi == mibspiREG1) ? mibspiRAM1 : ((mibspi == mibspiREG3) ? mibspiRAM3 : mibspiRAM5); + uint32 start = (mibspi->TGCTRL[group] >> 8U) & 0xFFU; + uint32 end = (group == 7U) ? (((mibspi->LTGPEND & 0x00007F00U) >> 8U) + 1U) : ((mibspi->TGCTRL[group+1U] >> 8U) & 0xFFU); + uint16 mibspiFlags = 0U; + uint32 ret; + if (end == 0U) {end = 128U;} + + while (start < end) + { + mibspiFlags |= ram->rx[start].flags; + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + *data = ram->rx[start].data; + /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ + data++; + start++; + } + + ret = ((uint32)mibspiFlags >> 8U) & 0x5FU; +/* USER CODE BEGIN (9) */ +/* USER CODE END */ + + return ret; +} + + +/** @fn void mibspiTransfer(mibspiBASE_t *mibspi, uint32 group) +* @brief Transmit Transfer Group +* @param[in] mibspi - Spi module base address +* @param[in] group - Transfer group (0..7) +* +* Initiates a transfer for the specified transfer group. +*/ +/* SourceId : MIBSPI_SourceId_005 */ +/* DesignId : MIBSPI_DesignId_005 */ +/* Requirements : HL_SR157 */ +void mibspiTransfer(mibspiBASE_t *mibspi, uint32 group) +{ +/* USER CODE BEGIN (10) */ +/* USER CODE END */ + + mibspi->TGCTRL[group] |= 0x80000000U; + +/* USER CODE BEGIN (11) */ +/* USER CODE END */ +} + + +/** @fn boolean mibspiIsTransferComplete(mibspiBASE_t *mibspi, uint32 group) +* @brief Check for Transfer Group Ready +* @param[in] mibspi - Spi module base address +* @param[in] group - Transfer group (0..7) +* +* @return TRUE is transfer complete, otherwise FALSE. +* +* Checks to see if the transfer for the specified transfer group +* has finished. +*/ +/* SourceId : MIBSPI_SourceId_006 */ +/* DesignId : MIBSPI_DesignId_006 */ +/* Requirements : HL_SR158 */ +boolean mibspiIsTransferComplete(mibspiBASE_t *mibspi, uint32 group) +{ + boolean status; + +/* USER CODE BEGIN (12) */ +/* USER CODE END */ + + if(((((mibspi->TGINTFLG & 0xFFFF0000U) >> 16U)>> group) & 1U) == 1U) + { + mibspi->TGINTFLG = (mibspi->TGINTFLG & 0x0000FFFFU) | ((uint32)((uint32)1U << group) << 16U); + status = TRUE; + } + else + { + status = FALSE; + } + +/* USER CODE BEGIN (13) */ +/* USER CODE END */ + + return (status); +} + + +/** @fn void mibspiEnableLoopback(mibspiBASE_t *mibspi, loopBackType_t Loopbacktype) +* @brief Enable Loopback mode for self test +* @param[in] mibspi - Mibspi module base address +* @param[in] Loopbacktype - Digital or Analog +* +* This function enables the Loopback mode for self test. +*/ +/* SourceId : MIBSPI_SourceId_007 */ +/* DesignId : MIBSPI_DesignId_009 */ +/* Requirements : HL_SR161 */ +void mibspiEnableLoopback(mibspiBASE_t *mibspi, loopBackType_t Loopbacktype) +{ +/* USER CODE BEGIN (14) */ +/* USER CODE END */ + + /* Clear Loopback incase enabled already */ + mibspi->IOLPKTSTCR = 0U; + + /* Enable Loopback either in Analog or Digital Mode */ + mibspi->IOLPKTSTCR = (uint32)0x00000A00U + | (uint32)((uint32)Loopbacktype << 1U); + +/* USER CODE BEGIN (15) */ +/* USER CODE END */ +} + +/** @fn void mibspiDisableLoopback(mibspiBASE_t *mibspi) +* @brief Enable Loopback mode for self test +* @param[in] mibspi - Mibspi module base address +* +* This function disable the Loopback mode. +*/ +/* SourceId : MIBSPI_SourceId_008 */ +/* DesignId : MIBSPI_DesignId_010 */ +/* Requirements : HL_SR162 */ +void mibspiDisableLoopback(mibspiBASE_t *mibspi) +{ +/* USER CODE BEGIN (16) */ +/* USER CODE END */ + + /* Disable Loopback Mode */ + mibspi->IOLPKTSTCR = 0x00000500U; + +/* USER CODE BEGIN (17) */ +/* USER CODE END */ +} + +/** @fn void mibspiPmodeSet(mibspiBASE_t *mibspi, mibspiPmode_t Pmode, mibspiDFMT_t DFMT) +* @brief Set the Pmode for the selected Data Format register +* @param[in] mibspi - Mibspi module base address +* @param[in] Pmode - Mibspi Parellel mode +* PMODE_NORMAL +* PMODE_2_DATALINE +* PMODE_4_DATALINE +* PMODE_8_DATALINE +* @param[in] DFMT - Mibspi Data Format register +* DATA_FORMAT0 +* DATA_FORMAT1 +* DATA_FORMAT2 +* DATA_FORMAT3 +* +* This function sets the Pmode for the selected Data Format register. +*/ +/* SourceId : MIBSPI_SourceId_009 */ +/* DesignId : MIBSPI_DesignId_011 */ +/* Requirements : HL_SR524 */ +void mibspiPmodeSet(mibspiBASE_t *mibspi, mibspiPmode_t Pmode, mibspiDFMT_t DFMT) +{ + uint32 pmctrl_reg; + /* Set the Pmode for the selected Data Format register */ + pmctrl_reg = (mibspi->PMCTRL & (~(uint32)((uint32)0xFFU << (8U * DFMT)))); + mibspi->PMCTRL = (pmctrl_reg | (uint32)((uint32)Pmode << ((8U * DFMT)))); + +} + +/** @fn void mibspiEnableGroupNotification(mibspiBASE_t *mibspi, uint32 group, uint32 level) +* @brief Enable Transfer Group interrupt +* @param[in] mibspi - Spi module base address +* @param[in] group - Transfer group (0..7) +* @param[in] level - Interrupt level +* +* This function enables the transfer group finished interrupt. +*/ +/* SourceId : MIBSPI_SourceId_010 */ +/* DesignId : MIBSPI_DesignId_007 */ +/* Requirements : HL_SR159 */ +void mibspiEnableGroupNotification(mibspiBASE_t *mibspi, uint32 group, uint32 level) +{ +/* USER CODE BEGIN (18) */ +/* USER CODE END */ + + if (level != 0U) + { + mibspi->TGITLVST = (mibspi->TGITLVST & 0x0000FFFFU) | (uint32)((uint32)((uint32)1U << group) << 16U); + } + else + { + mibspi->TGITLVCR = (mibspi->TGITLVCR & 0x0000FFFFU) | (uint32)((uint32)((uint32)1U << group) << 16U); + } + mibspi->TGITENST = (mibspi->TGITENST & 0x0000FFFFU) | (uint32)((uint32)((uint32)1U << group) << 16U); + +/* USER CODE BEGIN (19) */ +/* USER CODE END */ +} + + +/** @fn void mibspiDisableGroupNotification(mibspiBASE_t *mibspi, uint32 group) +* @brief Disable Transfer Group interrupt +* @param[in] mibspi - Spi module base address +* @param[in] group - Transfer group (0..7) +* +* This function disables the transfer group finished interrupt. +*/ +/* SourceId : MIBSPI_SourceId_011 */ +/* DesignId : MIBSPI_DesignId_008 */ +/* Requirements : HL_SR160 */ +void mibspiDisableGroupNotification(mibspiBASE_t *mibspi, uint32 group) +{ +/* USER CODE BEGIN (20) */ +/* USER CODE END */ + + mibspi->TGITENCR = (mibspi->TGITENCR & 0x0000FFFFU) | (uint32)((uint32)((uint32)1U << group) << 16U); + +/* USER CODE BEGIN (21) */ +/* USER CODE END */ +} + +/** @fn void mibspi1GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : MIBSPI_SourceId_012 */ +/* DesignId : MIBSPI_DesignId_012 */ +/* Requirements : HL_SR166 */ +void mibspi1GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_GCR1 = MIBSPI1_GCR1_CONFIGVALUE; + config_reg->CONFIG_INT0 = MIBSPI1_INT0_CONFIGVALUE; + config_reg->CONFIG_LVL = MIBSPI1_LVL_CONFIGVALUE; + config_reg->CONFIG_PCFUN = MIBSPI1_PCFUN_CONFIGVALUE; + config_reg->CONFIG_PCDIR = MIBSPI1_PCDIR_CONFIGVALUE; + config_reg->CONFIG_PCPDR = MIBSPI1_PCPDR_CONFIGVALUE; + config_reg->CONFIG_PCDIS = MIBSPI1_PCDIS_CONFIGVALUE; + config_reg->CONFIG_PCPSL = MIBSPI1_PCPSL_CONFIGVALUE; + config_reg->CONFIG_DELAY = MIBSPI1_DELAY_CONFIGVALUE; + config_reg->CONFIG_FMT0 = MIBSPI1_FMT0_CONFIGVALUE; + config_reg->CONFIG_FMT1 = MIBSPI1_FMT1_CONFIGVALUE; + config_reg->CONFIG_FMT2 = MIBSPI1_FMT2_CONFIGVALUE; + config_reg->CONFIG_FMT3 = MIBSPI1_FMT3_CONFIGVALUE; + config_reg->CONFIG_MIBSPIE = MIBSPI1_MIBSPIE_CONFIGVALUE; + config_reg->CONFIG_LTGPEND = MIBSPI1_LTGPEND_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[0U] = MIBSPI1_TGCTRL0_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[1U] = MIBSPI1_TGCTRL1_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[2U] = MIBSPI1_TGCTRL2_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[3U] = MIBSPI1_TGCTRL3_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[4U] = MIBSPI1_TGCTRL4_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[5U] = MIBSPI1_TGCTRL5_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[6U] = MIBSPI1_TGCTRL6_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[7U] = MIBSPI1_TGCTRL7_CONFIGVALUE; + config_reg->CONFIG_UERRCTRL = MIBSPI1_UERRCTRL_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_GCR1 = mibspiREG1->GCR1; + config_reg->CONFIG_INT0 = mibspiREG1->INT0; + config_reg->CONFIG_LVL = mibspiREG1->LVL; + config_reg->CONFIG_PCFUN = mibspiREG1->PC0; + config_reg->CONFIG_PCDIR = mibspiREG1->PC1; + config_reg->CONFIG_PCPDR = mibspiREG1->PC6; + config_reg->CONFIG_PCDIS = mibspiREG1->PC7; + config_reg->CONFIG_PCPSL = mibspiREG1->PC8; + config_reg->CONFIG_DELAY = mibspiREG1->DELAY; + config_reg->CONFIG_FMT0 = mibspiREG1->FMT0; + config_reg->CONFIG_FMT1 = mibspiREG1->FMT1; + config_reg->CONFIG_FMT2 = mibspiREG1->FMT2; + config_reg->CONFIG_FMT3 = mibspiREG1->FMT3; + config_reg->CONFIG_MIBSPIE = mibspiREG1->MIBSPIE; + config_reg->CONFIG_LTGPEND = mibspiREG1->LTGPEND; + config_reg->CONFIG_TGCTRL[0U] = mibspiREG1->TGCTRL[0U]; + config_reg->CONFIG_TGCTRL[1U] = mibspiREG1->TGCTRL[1U]; + config_reg->CONFIG_TGCTRL[2U] = mibspiREG1->TGCTRL[2U]; + config_reg->CONFIG_TGCTRL[3U] = mibspiREG1->TGCTRL[3U]; + config_reg->CONFIG_TGCTRL[4U] = mibspiREG1->TGCTRL[4U]; + config_reg->CONFIG_TGCTRL[5U] = mibspiREG1->TGCTRL[5U]; + config_reg->CONFIG_TGCTRL[6U] = mibspiREG1->TGCTRL[6U]; + config_reg->CONFIG_TGCTRL[7U] = mibspiREG1->TGCTRL[7U]; + config_reg->CONFIG_UERRCTRL = mibspiREG1->UERRCTRL; + } +} + +/** @fn void mibspi3GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : MIBSPI_SourceId_013 */ +/* DesignId : MIBSPI_DesignId_012 */ +/* Requirements : HL_SR166 */ +void mibspi3GetConfigValue(mibspi_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_GCR1 = MIBSPI3_GCR1_CONFIGVALUE; + config_reg->CONFIG_INT0 = MIBSPI3_INT0_CONFIGVALUE; + config_reg->CONFIG_LVL = MIBSPI3_LVL_CONFIGVALUE; + config_reg->CONFIG_PCFUN = MIBSPI3_PCFUN_CONFIGVALUE; + config_reg->CONFIG_PCDIR = MIBSPI3_PCDIR_CONFIGVALUE; + config_reg->CONFIG_PCPDR = MIBSPI3_PCPDR_CONFIGVALUE; + config_reg->CONFIG_PCDIS = MIBSPI3_PCDIS_CONFIGVALUE; + config_reg->CONFIG_PCPSL = MIBSPI3_PCPSL_CONFIGVALUE; + config_reg->CONFIG_DELAY = MIBSPI3_DELAY_CONFIGVALUE; + config_reg->CONFIG_FMT0 = MIBSPI3_FMT0_CONFIGVALUE; + config_reg->CONFIG_FMT1 = MIBSPI3_FMT1_CONFIGVALUE; + config_reg->CONFIG_FMT2 = MIBSPI3_FMT2_CONFIGVALUE; + config_reg->CONFIG_FMT3 = MIBSPI3_FMT3_CONFIGVALUE; + config_reg->CONFIG_MIBSPIE = MIBSPI3_MIBSPIE_CONFIGVALUE; + config_reg->CONFIG_LTGPEND = MIBSPI3_LTGPEND_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[0U] = MIBSPI3_TGCTRL0_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[1U] = MIBSPI3_TGCTRL1_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[2U] = MIBSPI3_TGCTRL2_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[3U] = MIBSPI3_TGCTRL3_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[4U] = MIBSPI3_TGCTRL4_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[5U] = MIBSPI3_TGCTRL5_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[6U] = MIBSPI3_TGCTRL6_CONFIGVALUE; + config_reg->CONFIG_TGCTRL[7U] = MIBSPI3_TGCTRL7_CONFIGVALUE; + config_reg->CONFIG_UERRCTRL = MIBSPI3_UERRCTRL_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_GCR1 = mibspiREG3->GCR1; + config_reg->CONFIG_INT0 = mibspiREG3->INT0; + config_reg->CONFIG_LVL = mibspiREG3->LVL; + config_reg->CONFIG_PCFUN = mibspiREG3->PC0; + config_reg->CONFIG_PCDIR = mibspiREG3->PC1; + config_reg->CONFIG_PCPDR = mibspiREG3->PC6; + config_reg->CONFIG_PCDIS = mibspiREG3->PC7; + config_reg->CONFIG_PCPSL = mibspiREG3->PC8; + config_reg->CONFIG_DELAY = mibspiREG3->DELAY; + config_reg->CONFIG_FMT0 = mibspiREG3->FMT0; + config_reg->CONFIG_FMT1 = mibspiREG3->FMT1; + config_reg->CONFIG_FMT2 = mibspiREG3->FMT2; + config_reg->CONFIG_FMT3 = mibspiREG3->FMT3; + config_reg->CONFIG_MIBSPIE = mibspiREG3->MIBSPIE; + config_reg->CONFIG_LTGPEND = mibspiREG3->LTGPEND; + config_reg->CONFIG_TGCTRL[0U] = mibspiREG3->TGCTRL[0U]; + config_reg->CONFIG_TGCTRL[1U] = mibspiREG3->TGCTRL[1U]; + config_reg->CONFIG_TGCTRL[2U] = mibspiREG3->TGCTRL[2U]; + config_reg->CONFIG_TGCTRL[3U] = mibspiREG3->TGCTRL[3U]; + config_reg->CONFIG_TGCTRL[4U] = mibspiREG3->TGCTRL[4U]; + config_reg->CONFIG_TGCTRL[5U] = mibspiREG3->TGCTRL[5U]; + config_reg->CONFIG_TGCTRL[6U] = mibspiREG3->TGCTRL[6U]; + config_reg->CONFIG_TGCTRL[7U] = mibspiREG3->TGCTRL[7U]; + config_reg->CONFIG_UERRCTRL = mibspiREG3->UERRCTRL; + } +} + + + + + + + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/notification.c b/TestBoardFirmware/Testboard_HAL_drivers/source/notification.c index 2d2b330c..e5c44d59 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/notification.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/notification.c @@ -1,228 +1,228 @@ -/** @file notification.c -* @brief User Notification Definition File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file defines empty notification routines to avoid -* linker errors, Driver expects user to define the notification. -* The user needs to either remove this file and use their custom -* notification function or place their code sequence in this file -* between the provided USER CODE BEGIN and USER CODE END. -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* Include Files */ - -#include "esm.h" -#include "sys_selftest.h" -#include "adc.h" -#include "gio.h" -#include "mibspi.h" -#include "sci.h" -#include "het.h" -#include "rti.h" -#include "sys_dma.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ -#pragma WEAK(esmGroup1Notification) -void esmGroup1Notification(uint32 channel) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (1) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ -#pragma WEAK(esmGroup2Notification) -void esmGroup2Notification(uint32 channel) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (3) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ -#pragma WEAK(memoryPort0TestFailNotification) -void memoryPort0TestFailNotification(uint32 groupSelect, uint32 dataSelect, uint32 address, uint32 data) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (5) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ -#pragma WEAK(memoryPort1TestFailNotification) -void memoryPort1TestFailNotification(uint32 groupSelect, uint32 dataSelect, uint32 address, uint32 data) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (7) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (8) */ -/* USER CODE END */ -#pragma WEAK(rtiNotification) -void rtiNotification(uint32 notification) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (9) */ -///* USER CODE END */ -} - -/* USER CODE BEGIN (10) */ -/* USER CODE END */ -#pragma WEAK(adcNotification) -void adcNotification(adcBASE_t *adc, uint32 group) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (11) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (12) */ -/* USER CODE END */ -#pragma WEAK(gioNotification) -void gioNotification(gioPORT_t *port, uint32 bit) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (19) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (20) */ -/* USER CODE END */ -#pragma WEAK(mibspiNotification) -void mibspiNotification(mibspiBASE_t *mibspi, uint32 flags) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (25) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (26) */ -/* USER CODE END */ -#pragma WEAK(mibspiGroupNotification) -void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32 group) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (27) */ -/* USER CODE END */ -} -/* USER CODE BEGIN (28) */ -/* USER CODE END */ - -#pragma WEAK(sciNotification) -void sciNotification(sciBASE_t *sci, uint32 flags) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (29) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (30) */ -/* USER CODE END */ - -#pragma WEAK(pwmNotification) -void pwmNotification(hetBASE_t * hetREG,uint32 pwm, uint32 notification) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (35) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (36) */ -/* USER CODE END */ -#pragma WEAK(edgeNotification) -void edgeNotification(hetBASE_t * hetREG,uint32 edge) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (37) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (38) */ -/* USER CODE END */ -#pragma WEAK(hetNotification) -void hetNotification(hetBASE_t *het, uint32 offset) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (39) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (40) */ -/* USER CODE END */ - - -/* USER CODE BEGIN (43) */ -/* USER CODE END */ - - -/* USER CODE BEGIN (47) */ -/* USER CODE END */ - - -/* USER CODE BEGIN (50) */ -/* USER CODE END */ - - -/* USER CODE BEGIN (53) */ -/* USER CODE END */ - -#pragma WEAK(dmaGroupANotification) -void dmaGroupANotification(dmaInterrupt_t inttype, uint32 channel) -{ -/* enter user code between the USER CODE BEGIN and USER CODE END. */ -/* USER CODE BEGIN (54) */ -/* USER CODE END */ -} -/* USER CODE BEGIN (55) */ -/* USER CODE END */ - -/* USER CODE BEGIN (56) */ -/* USER CODE END */ - -/* USER CODE BEGIN (58) */ -/* USER CODE END */ - -/* USER CODE BEGIN (60) */ -/* USER CODE END */ +/** @file notification.c +* @brief User Notification Definition File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file defines empty notification routines to avoid +* linker errors, Driver expects user to define the notification. +* The user needs to either remove this file and use their custom +* notification function or place their code sequence in this file +* between the provided USER CODE BEGIN and USER CODE END. +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* Include Files */ + +#include "esm.h" +#include "sys_selftest.h" +#include "adc.h" +#include "gio.h" +#include "mibspi.h" +#include "sci.h" +#include "het.h" +#include "rti.h" +#include "sys_dma.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ +#pragma WEAK(esmGroup1Notification) +void esmGroup1Notification(uint32 channel) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (1) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ +#pragma WEAK(esmGroup2Notification) +void esmGroup2Notification(uint32 channel) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (3) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ +#pragma WEAK(memoryPort0TestFailNotification) +void memoryPort0TestFailNotification(uint32 groupSelect, uint32 dataSelect, uint32 address, uint32 data) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (5) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ +#pragma WEAK(memoryPort1TestFailNotification) +void memoryPort1TestFailNotification(uint32 groupSelect, uint32 dataSelect, uint32 address, uint32 data) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (7) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (8) */ +/* USER CODE END */ +#pragma WEAK(rtiNotification) +void rtiNotification(uint32 notification) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (9) */ +///* USER CODE END */ +} + +/* USER CODE BEGIN (10) */ +/* USER CODE END */ +#pragma WEAK(adcNotification) +void adcNotification(adcBASE_t *adc, uint32 group) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (11) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (12) */ +/* USER CODE END */ +#pragma WEAK(gioNotification) +void gioNotification(gioPORT_t *port, uint32 bit) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (19) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (20) */ +/* USER CODE END */ +#pragma WEAK(mibspiNotification) +void mibspiNotification(mibspiBASE_t *mibspi, uint32 flags) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (25) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (26) */ +/* USER CODE END */ +#pragma WEAK(mibspiGroupNotification) +void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32 group) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (27) */ +/* USER CODE END */ +} +/* USER CODE BEGIN (28) */ +/* USER CODE END */ + +#pragma WEAK(sciNotification) +void sciNotification(sciBASE_t *sci, uint32 flags) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (29) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (30) */ +/* USER CODE END */ + +#pragma WEAK(pwmNotification) +void pwmNotification(hetBASE_t * hetREG,uint32 pwm, uint32 notification) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (35) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (36) */ +/* USER CODE END */ +#pragma WEAK(edgeNotification) +void edgeNotification(hetBASE_t * hetREG,uint32 edge) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (37) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (38) */ +/* USER CODE END */ +#pragma WEAK(hetNotification) +void hetNotification(hetBASE_t *het, uint32 offset) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (39) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (40) */ +/* USER CODE END */ + + +/* USER CODE BEGIN (43) */ +/* USER CODE END */ + + +/* USER CODE BEGIN (47) */ +/* USER CODE END */ + + +/* USER CODE BEGIN (50) */ +/* USER CODE END */ + + +/* USER CODE BEGIN (53) */ +/* USER CODE END */ + +#pragma WEAK(dmaGroupANotification) +void dmaGroupANotification(dmaInterrupt_t inttype, uint32 channel) +{ +/* enter user code between the USER CODE BEGIN and USER CODE END. */ +/* USER CODE BEGIN (54) */ +/* USER CODE END */ +} +/* USER CODE BEGIN (55) */ +/* USER CODE END */ + +/* USER CODE BEGIN (56) */ +/* USER CODE END */ + +/* USER CODE BEGIN (58) */ +/* USER CODE END */ + +/* USER CODE BEGIN (60) */ +/* USER CODE END */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/pinmux.c b/TestBoardFirmware/Testboard_HAL_drivers/source/pinmux.c index 2aa32339..afb7e172 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/pinmux.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/pinmux.c @@ -1,367 +1,367 @@ -/** @file pinmux.c -* @brief PINMUX Driver Implementation File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* Include Files */ - -#include "pinmux.h" - -/*LDRA_INSPECTWINDOW 50 */ -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ -/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ -/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ -/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ -/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ -/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ -/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ -#define PINMUX_SET(REG, PINNUM, MUX) \ - (pinMuxReg->PINMMR##REG = (pinMuxReg->PINMMR##REG & PINMUX_PIN_##PINNUM##_MASK) | (PINMUX_PIN_##PINNUM##_##MUX)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_GATE_EMIF_CLK_ENABLE(state) \ - (pinMuxReg->PINMMR29 = (pinMuxReg->PINMMR29 & PINMUX_GATE_EMIF_CLK_MASK) | (PINMUX_GATE_EMIF_CLK_##state)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_GIOB_DISABLE_HET2_ENABLE(state) \ - (pinMuxReg->PINMMR29 = (pinMuxReg->PINMMR29 & PINMUX_GIOB_DISABLE_HET2_MASK) | (PINMUX_GIOB_DISABLE_HET2_##state)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ALT_ADC_TRIGGER_SELECT(num) \ - (pinMuxReg->PINMMR30 = (pinMuxReg->PINMMR30 & PINMUX_ALT_ADC_TRIGGER_MASK) | (PINMUX_ALT_ADC_TRIGGER_##num)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETHERNET_SELECT(interface) \ - (pinMuxReg->PINMMR29 = (pinMuxReg->PINMMR29 & PINMUX_ETHERNET_MASK) | (PINMUX_ETHERNET_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM1_EQEPERR_ENABLE(interface) \ - (pinMuxReg->PINMMR41 = (pinMuxReg->PINMMR41 & PINMUX_ETPWM1_MASK) | (PINMUX_ETPWM1_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM2_EQEPERR_ENABLE(interface) \ - (pinMuxReg->PINMMR41 = (pinMuxReg->PINMMR41 & PINMUX_ETPWM2_MASK) | (PINMUX_ETPWM2_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM3_EQEPERR_ENABLE(interface) \ - (pinMuxReg->PINMMR41 = (pinMuxReg->PINMMR41 & PINMUX_ETPWM3_MASK) | (PINMUX_ETPWM3_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM4_EQEPERR_ENABLE(interface) \ - (pinMuxReg->PINMMR41 = (pinMuxReg->PINMMR41 & PINMUX_ETPWM4_MASK) | (PINMUX_ETPWM4_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM5_EQEPERR_ENABLE(interface) \ - (pinMuxReg->PINMMR42 = (pinMuxReg->PINMMR42 & PINMUX_ETPWM5_MASK) | (PINMUX_ETPWM5_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM6_EQEPERR_ENABLE(interface) \ - (pinMuxReg->PINMMR42 = (pinMuxReg->PINMMR42 & PINMUX_ETPWM6_MASK) | (PINMUX_ETPWM6_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM7_EQEPERR_ENABLE(interface) \ - (pinMuxReg->PINMMR42 = (pinMuxReg->PINMMR42 & PINMUX_ETPWM7_MASK) | (PINMUX_ETPWM7_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM_TZ1_ENABLE(interface) \ - (pinMuxReg->PINMMR46 = (pinMuxReg->PINMMR46 & PINMUX_TZ1_SHIFT) | (PINMUX_TZ1_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM_TZ2_ENABLE(interface) \ - (pinMuxReg->PINMMR46 = (pinMuxReg->PINMMR46 & PINMUX_TZ2_SHIFT) | (PINMUX_TZ2_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM_TZ3_ENABLE(interface) \ - (pinMuxReg->PINMMR47 = (pinMuxReg->PINMMR47 & PINMUX_TZ3_SHIFT) | (PINMUX_TZ3_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM_EPWM1SYNCI_ENABLE(interface) \ - (pinMuxReg->PINMMR47 = (pinMuxReg->PINMMR47 & PINMUX_EPWM1SYNCI_SHIFT) | (PINMUX_EPWM1SYNCI_##interface)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM_TIME_BASE_SYNC_ENABLE(state) \ - (pinMuxReg->PINMMR36 = (pinMuxReg->PINMMR36 & PINMUX_ETPWM_TIME_BASE_SYNC_MASK) | (PINMUX_ETPWM_TIME_BASE_SYNC_##state)) - -/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ -/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ -#define PINMUX_ETPWM_TBCLK_SYNC_ENABLE(state) \ - (pinMuxReg->PINMMR37 = (pinMuxReg->PINMMR37 & PINMUX_ETPWM_TBCLK_SYNC_MASK) | (PINMUX_ETPWM_TBCLK_SYNC_##state)) - - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* SourceId : PINMUX_SourceId_001 */ -/* DesignId : PINMUX_DesignId_001 */ -/* Requirements : HL_SR325 */ -void muxInit(void){ - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - /* Enable Pin Muxing */ - kickerReg->KICKER0 = 0x83E70B13U; - kickerReg->KICKER1 = 0x95A4F1E0U; - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - - pinMuxReg->PINMMR0 = PINMUX_PIN_1_GIOB_3 | PINMUX_PIN_2_GIOA_0 | PINMUX_PIN_3_MIBSPI3NCS_3 | PINMUX_PIN_4_MIBSPI3NCS_2; - - pinMuxReg->PINMMR1 = PINMUX_PIN_5_GIOA_1 | PINMUX_PIN_6_MIBSPI3NCS_4; - - pinMuxReg->PINMMR2 = PINMUX_PIN_9_GIOA_2 | PINMUX_PIN_14_GIOA_5; - - pinMuxReg->PINMMR3 = PINMUX_PIN_15_HET1_22 | PINMUX_PIN_16_GIOA_6; - - pinMuxReg->PINMMR4 = PINMUX_PIN_22_GIOA_7 | PINMUX_PIN_23_HET1_01 | PINMUX_PIN_24_HET1_03; - - pinMuxReg->PINMMR5 = PINMUX_PIN_25_HET1_0 | PINMUX_PIN_30_HET1_02 | PINMUX_PIN_31_HET1_05; - - pinMuxReg->PINMMR6 = PINMUX_PIN_33_HET1_07 | PINMUX_PIN_35_HET1_09; - - pinMuxReg->PINMMR7 = PINMUX_PIN_37_MIBSPI3NCS_1 | PINMUX_PIN_38_SCIRX; - - pinMuxReg->PINMMR8 = PINMUX_PIN_39_SCITX | PINMUX_PIN_40_MIBSPI1NCS_2 | PINMUX_PIN_41_HET1_15; - - pinMuxReg->PINMMR9 = ((~(pinMuxReg->PINMMR9 >> 18U) & 0x00000001U ) << 18U) | PINMUX_PIN_54_MIBSPI3NCS_5 | PINMUX_PIN_55_MIBSPI3NCS_0; - - pinMuxReg->PINMMR10 = PINMUX_PIN_86_AD1EVT; - - pinMuxReg->PINMMR11 = PINMUX_PIN_91_MIBSPI1NCS_5; - - pinMuxReg->PINMMR12 = PINMUX_PIN_92_HET1_26 | PINMUX_PIN_96_MIBSPI1NENA | PINMUX_PIN_97_MIBSPI5NENA; - - pinMuxReg->PINMMR13 = PINMUX_PIN_98_MIBSPI5SOMI_0 | PINMUX_PIN_99_MIBSPI5SIMO_0 | PINMUX_PIN_100_MIBSPI5CLK | PINMUX_PIN_105_MIBSPI1NCS_0; - - pinMuxReg->PINMMR14 = PINMUX_PIN_106_MIBSPI1SIMO_1 | PINMUX_PIN_107_HET1_28; - - pinMuxReg->PINMMR15 = 0x01010101U; - - pinMuxReg->PINMMR16 = 0x01010101U; - - pinMuxReg->PINMMR17 = PINMUX_PIN_118_HET1_10 | PINMUX_PIN_124_HET1_12; - - pinMuxReg->PINMMR18 = PINMUX_PIN_125_HET1_14 | PINMUX_PIN_126_GIOB_0; - - pinMuxReg->PINMMR19 = PINMUX_PIN_127_HET1_30; - - pinMuxReg->PINMMR20 = PINMUX_PIN_130_MIBSPI1NCS_1; - - pinMuxReg->PINMMR21 = PINMUX_PIN_133_GIOB_1; - - pinMuxReg->PINMMR22 = 0x01010101U; - - pinMuxReg->PINMMR23 = ((~(pinMuxReg->PINMMR5 >> 1U) & 0x00000001U ) << 8U) | ((~(pinMuxReg->PINMMR5 >> 9U) & 0x00000001U ) << 16U) | ((~(pinMuxReg->PINMMR5 >> 17U) & 0x00000001U ) << 24U); - - pinMuxReg->PINMMR24 = ((~(pinMuxReg->PINMMR20 >> 17U) & 0x00000001U ) << 16U) | ((~(pinMuxReg->PINMMR8 >> 9U) & 0x00000001U ) << 24U); - - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - pinMuxReg->PINMMR25 = ((~(pinMuxReg->PINMMR12 >> 17U) & 0x00000001U ) << 8U) | ((~(pinMuxReg->PINMMR7 >> 9U) & 0x00000001U ) << 16U) | ((~(pinMuxReg->PINMMR0 >> 26U) & 0x00000001U ) << 24U); - - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - pinMuxReg->PINMMR26 = ((~(pinMuxReg->PINMMR0 >> 18U) & 0x00000001U ) << 0U) | ((~(pinMuxReg->PINMMR9 >> 10U) & 0x00000001U ) << 8U); - - pinMuxReg->PINMMR27 = PINMUX_PIN_32_MIBSPI5NCS_0; - - pinMuxReg->PINMMR29 = 0x01010101U; - - pinMuxReg->PINMMR30 = 0x01010100U; - - pinMuxReg->PINMMR31 = 0x01010101U; - - pinMuxReg->PINMMR32 = 0x00010101U; - - pinMuxReg->PINMMR33 = PINMUX_PIN_36_HET1_04 | PINMUX_PIN_51_MIBSPI3SOMI | PINMUX_PIN_52_MIBSPI3SIMO | PINMUX_PIN_53_MIBSPI3CLK; - - pinMuxReg->PINMMR34 = PINMUX_PIN_139_HET1_16 | PINMUX_PIN_140_HET1_18 | PINMUX_PIN_141_HET1_20; - - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - - PINMUX_GATE_EMIF_CLK_ENABLE(OFF); - PINMUX_GIOB_DISABLE_HET2_ENABLE(OFF); - PINMUX_ALT_ADC_TRIGGER_SELECT(1); - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - PINMUX_SET(0,1,GIOB_3); - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - PINMUX_SET(0,2,GIOA_0); - PINMUX_SET(1,5,GIOA_1); - PINMUX_SET(3,15,HET1_22); - PINMUX_SET(18,125,HET1_14); - PINMUX_SET(18,126,GIOB_0); - PINMUX_SET(21,133,GIOB_1); - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - - PINMUX_ETPWM1_EQEPERR_ENABLE(EQEPERR12); - PINMUX_ETPWM2_EQEPERR_ENABLE(EQEPERR12); - PINMUX_ETPWM3_EQEPERR_ENABLE(EQEPERR12); - PINMUX_ETPWM4_EQEPERR_ENABLE(EQEPERR12); - PINMUX_ETPWM5_EQEPERR_ENABLE(EQEPERR12); - PINMUX_ETPWM6_EQEPERR_ENABLE(EQEPERR12); - PINMUX_ETPWM7_EQEPERR_ENABLE(EQEPERR12); - PINMUX_ETPWM_TIME_BASE_SYNC_ENABLE(OFF); - PINMUX_ETPWM_TZ1_ENABLE(ASYNC); - PINMUX_ETPWM_TZ2_ENABLE(ASYNC); - PINMUX_ETPWM_TZ3_ENABLE(ASYNC); - PINMUX_ETPWM_EPWM1SYNCI_ENABLE(ASYNC); - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - - /* Disable Pin Muxing */ - kickerReg->KICKER0 = 0x00000000U; - kickerReg->KICKER1 = 0x00000000U; - -/* USER CODE BEGIN (7) */ -/* USER CODE END */ -} - -/** @fn void pinmuxGetConfigValue(pinmux_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : PINMUX_SourceId_002 */ -/* DesignId : PINMUX_DesignId_002 */ -/* Requirements : HL_SR328 */ -void pinmuxGetConfigValue(pinmux_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - {/* Do not pass Initial Value as parameter */ - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_PINMMR0 = pinMuxReg->PINMMR0; - config_reg->CONFIG_PINMMR1 = pinMuxReg->PINMMR1; - config_reg->CONFIG_PINMMR2 = pinMuxReg->PINMMR2; - config_reg->CONFIG_PINMMR3 = pinMuxReg->PINMMR3; - config_reg->CONFIG_PINMMR4 = pinMuxReg->PINMMR4; - config_reg->CONFIG_PINMMR5 = pinMuxReg->PINMMR5; - config_reg->CONFIG_PINMMR6 = pinMuxReg->PINMMR6; - config_reg->CONFIG_PINMMR7 = pinMuxReg->PINMMR7; - config_reg->CONFIG_PINMMR8 = pinMuxReg->PINMMR8; - config_reg->CONFIG_PINMMR9 = pinMuxReg->PINMMR9; - config_reg->CONFIG_PINMMR10 = pinMuxReg->PINMMR10; - config_reg->CONFIG_PINMMR11 = pinMuxReg->PINMMR11; - config_reg->CONFIG_PINMMR12 = pinMuxReg->PINMMR12; - config_reg->CONFIG_PINMMR13 = pinMuxReg->PINMMR13; - config_reg->CONFIG_PINMMR14 = pinMuxReg->PINMMR14; - config_reg->CONFIG_PINMMR15 = pinMuxReg->PINMMR15; - config_reg->CONFIG_PINMMR16 = pinMuxReg->PINMMR16; - config_reg->CONFIG_PINMMR17 = pinMuxReg->PINMMR17; - config_reg->CONFIG_PINMMR18 = pinMuxReg->PINMMR18; - config_reg->CONFIG_PINMMR19 = pinMuxReg->PINMMR19; - config_reg->CONFIG_PINMMR20 = pinMuxReg->PINMMR20; - config_reg->CONFIG_PINMMR21 = pinMuxReg->PINMMR21; - config_reg->CONFIG_PINMMR22 = pinMuxReg->PINMMR22; - config_reg->CONFIG_PINMMR23 = pinMuxReg->PINMMR23; - config_reg->CONFIG_PINMMR24 = pinMuxReg->PINMMR24; - config_reg->CONFIG_PINMMR25 = pinMuxReg->PINMMR25; - config_reg->CONFIG_PINMMR26 = pinMuxReg->PINMMR26; - config_reg->CONFIG_PINMMR27 = pinMuxReg->PINMMR27; - config_reg->CONFIG_PINMMR28 = pinMuxReg->PINMMR28; - config_reg->CONFIG_PINMMR29 = pinMuxReg->PINMMR29; - config_reg->CONFIG_PINMMR30 = pinMuxReg->PINMMR30; - config_reg->CONFIG_PINMMR31 = pinMuxReg->PINMMR31; - config_reg->CONFIG_PINMMR32 = pinMuxReg->PINMMR32; - config_reg->CONFIG_PINMMR33 = pinMuxReg->PINMMR33; - config_reg->CONFIG_PINMMR34 = pinMuxReg->PINMMR34; - config_reg->CONFIG_PINMMR35 = pinMuxReg->PINMMR35; - config_reg->CONFIG_PINMMR36 = pinMuxReg->PINMMR36; - config_reg->CONFIG_PINMMR37 = pinMuxReg->PINMMR37; - config_reg->CONFIG_PINMMR38 = pinMuxReg->PINMMR38; - config_reg->CONFIG_PINMMR39 = pinMuxReg->PINMMR39; - config_reg->CONFIG_PINMMR40 = pinMuxReg->PINMMR40; - config_reg->CONFIG_PINMMR41 = pinMuxReg->PINMMR41; - config_reg->CONFIG_PINMMR42 = pinMuxReg->PINMMR42; - config_reg->CONFIG_PINMMR43 = pinMuxReg->PINMMR43; - config_reg->CONFIG_PINMMR44 = pinMuxReg->PINMMR44; - config_reg->CONFIG_PINMMR45 = pinMuxReg->PINMMR45; - config_reg->CONFIG_PINMMR46 = pinMuxReg->PINMMR46; - config_reg->CONFIG_PINMMR47 = pinMuxReg->PINMMR47; - } -} - -/* USER CODE BEGIN (8) */ -/* USER CODE END */ +/** @file pinmux.c +* @brief PINMUX Driver Implementation File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* Include Files */ + +#include "pinmux.h" + +/*LDRA_INSPECTWINDOW 50 */ +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ +/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ +/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ +/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ +/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ +/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ +/*SAFETYMCUSW 76 S MR: 19.12 REVIEWED " Needs usage of multiple ## in the macro " */ +#define PINMUX_SET(REG, PINNUM, MUX) \ + (pinMuxReg->PINMMR##REG = (pinMuxReg->PINMMR##REG & PINMUX_PIN_##PINNUM##_MASK) | (PINMUX_PIN_##PINNUM##_##MUX)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_GATE_EMIF_CLK_ENABLE(state) \ + (pinMuxReg->PINMMR29 = (pinMuxReg->PINMMR29 & PINMUX_GATE_EMIF_CLK_MASK) | (PINMUX_GATE_EMIF_CLK_##state)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_GIOB_DISABLE_HET2_ENABLE(state) \ + (pinMuxReg->PINMMR29 = (pinMuxReg->PINMMR29 & PINMUX_GIOB_DISABLE_HET2_MASK) | (PINMUX_GIOB_DISABLE_HET2_##state)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ALT_ADC_TRIGGER_SELECT(num) \ + (pinMuxReg->PINMMR30 = (pinMuxReg->PINMMR30 & PINMUX_ALT_ADC_TRIGGER_MASK) | (PINMUX_ALT_ADC_TRIGGER_##num)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETHERNET_SELECT(interface) \ + (pinMuxReg->PINMMR29 = (pinMuxReg->PINMMR29 & PINMUX_ETHERNET_MASK) | (PINMUX_ETHERNET_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM1_EQEPERR_ENABLE(interface) \ + (pinMuxReg->PINMMR41 = (pinMuxReg->PINMMR41 & PINMUX_ETPWM1_MASK) | (PINMUX_ETPWM1_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM2_EQEPERR_ENABLE(interface) \ + (pinMuxReg->PINMMR41 = (pinMuxReg->PINMMR41 & PINMUX_ETPWM2_MASK) | (PINMUX_ETPWM2_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM3_EQEPERR_ENABLE(interface) \ + (pinMuxReg->PINMMR41 = (pinMuxReg->PINMMR41 & PINMUX_ETPWM3_MASK) | (PINMUX_ETPWM3_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM4_EQEPERR_ENABLE(interface) \ + (pinMuxReg->PINMMR41 = (pinMuxReg->PINMMR41 & PINMUX_ETPWM4_MASK) | (PINMUX_ETPWM4_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM5_EQEPERR_ENABLE(interface) \ + (pinMuxReg->PINMMR42 = (pinMuxReg->PINMMR42 & PINMUX_ETPWM5_MASK) | (PINMUX_ETPWM5_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM6_EQEPERR_ENABLE(interface) \ + (pinMuxReg->PINMMR42 = (pinMuxReg->PINMMR42 & PINMUX_ETPWM6_MASK) | (PINMUX_ETPWM6_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM7_EQEPERR_ENABLE(interface) \ + (pinMuxReg->PINMMR42 = (pinMuxReg->PINMMR42 & PINMUX_ETPWM7_MASK) | (PINMUX_ETPWM7_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM_TZ1_ENABLE(interface) \ + (pinMuxReg->PINMMR46 = (pinMuxReg->PINMMR46 & PINMUX_TZ1_SHIFT) | (PINMUX_TZ1_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM_TZ2_ENABLE(interface) \ + (pinMuxReg->PINMMR46 = (pinMuxReg->PINMMR46 & PINMUX_TZ2_SHIFT) | (PINMUX_TZ2_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM_TZ3_ENABLE(interface) \ + (pinMuxReg->PINMMR47 = (pinMuxReg->PINMMR47 & PINMUX_TZ3_SHIFT) | (PINMUX_TZ3_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM_EPWM1SYNCI_ENABLE(interface) \ + (pinMuxReg->PINMMR47 = (pinMuxReg->PINMMR47 & PINMUX_EPWM1SYNCI_SHIFT) | (PINMUX_EPWM1SYNCI_##interface)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM_TIME_BASE_SYNC_ENABLE(state) \ + (pinMuxReg->PINMMR36 = (pinMuxReg->PINMMR36 & PINMUX_ETPWM_TIME_BASE_SYNC_MASK) | (PINMUX_ETPWM_TIME_BASE_SYNC_##state)) + +/*SAFETYMCUSW 125 S MR: 19.13 REVIEWED " Needs usage of ## in the macro " */ +/*SAFETYMCUSW 78 S MR: 19.10 REVIEWED " Macro parameter used for concatenation " */ +#define PINMUX_ETPWM_TBCLK_SYNC_ENABLE(state) \ + (pinMuxReg->PINMMR37 = (pinMuxReg->PINMMR37 & PINMUX_ETPWM_TBCLK_SYNC_MASK) | (PINMUX_ETPWM_TBCLK_SYNC_##state)) + + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* SourceId : PINMUX_SourceId_001 */ +/* DesignId : PINMUX_DesignId_001 */ +/* Requirements : HL_SR325 */ +void muxInit(void){ + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + /* Enable Pin Muxing */ + kickerReg->KICKER0 = 0x83E70B13U; + kickerReg->KICKER1 = 0x95A4F1E0U; + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + + pinMuxReg->PINMMR0 = PINMUX_PIN_1_GIOB_3 | PINMUX_PIN_2_GIOA_0 | PINMUX_PIN_3_I2C_SCL | PINMUX_PIN_4_MIBSPI3NCS_2; + + pinMuxReg->PINMMR1 = PINMUX_PIN_5_GIOA_1 | PINMUX_PIN_6_MIBSPI3NCS_4; + + pinMuxReg->PINMMR2 = PINMUX_PIN_9_GIOA_2 | PINMUX_PIN_14_GIOA_5; + + pinMuxReg->PINMMR3 = PINMUX_PIN_15_HET1_22 | PINMUX_PIN_16_GIOA_6; + + pinMuxReg->PINMMR4 = PINMUX_PIN_22_GIOA_7 | PINMUX_PIN_23_HET1_01 | PINMUX_PIN_24_HET1_03; + + pinMuxReg->PINMMR5 = PINMUX_PIN_25_HET1_0 | PINMUX_PIN_30_HET1_02 | PINMUX_PIN_31_HET1_05; + + pinMuxReg->PINMMR6 = PINMUX_PIN_33_HET1_07 | PINMUX_PIN_35_HET1_09; + + pinMuxReg->PINMMR7 = PINMUX_PIN_37_MIBSPI3NCS_1 | PINMUX_PIN_38_SCIRX; + + pinMuxReg->PINMMR8 = PINMUX_PIN_39_SCITX | PINMUX_PIN_40_MIBSPI1NCS_2 | PINMUX_PIN_41_HET1_15; + + pinMuxReg->PINMMR9 = ((~(pinMuxReg->PINMMR9 >> 18U) & 0x00000001U ) << 18U) | PINMUX_PIN_54_MIBSPI3NCS_5 | PINMUX_PIN_55_MIBSPI3NCS_0; + + pinMuxReg->PINMMR10 = PINMUX_PIN_86_AD1EVT; + + pinMuxReg->PINMMR11 = PINMUX_PIN_91_HET1_24; + + pinMuxReg->PINMMR12 = PINMUX_PIN_92_HET1_26 | PINMUX_PIN_96_MIBSPI1NENA | PINMUX_PIN_97_MIBSPI5NENA; + + pinMuxReg->PINMMR13 = PINMUX_PIN_98_MIBSPI5SOMI_0 | PINMUX_PIN_99_MIBSPI5SIMO_0 | PINMUX_PIN_100_MIBSPI5CLK | PINMUX_PIN_105_MIBSPI1SOMI_1; + + pinMuxReg->PINMMR14 = PINMUX_PIN_106_HET1_08 | PINMUX_PIN_107_HET1_28; + + pinMuxReg->PINMMR15 = 0x01010101U; + + pinMuxReg->PINMMR16 = 0x01010101U; + + pinMuxReg->PINMMR17 = PINMUX_PIN_118_HET1_10 | PINMUX_PIN_124_HET1_12; + + pinMuxReg->PINMMR18 = PINMUX_PIN_125_HET1_14 | PINMUX_PIN_126_GIOB_0; + + pinMuxReg->PINMMR19 = PINMUX_PIN_127_HET1_30; + + pinMuxReg->PINMMR20 = PINMUX_PIN_130_MIBSPI1NCS_1; + + pinMuxReg->PINMMR21 = PINMUX_PIN_133_GIOB_1; + + pinMuxReg->PINMMR22 = 0x01010101U; + + pinMuxReg->PINMMR23 = ((~(pinMuxReg->PINMMR5 >> 1U) & 0x00000001U ) << 8U) | ((~(pinMuxReg->PINMMR5 >> 9U) & 0x00000001U ) << 16U) | ((~(pinMuxReg->PINMMR5 >> 17U) & 0x00000001U ) << 24U); + + pinMuxReg->PINMMR24 = ((~(pinMuxReg->PINMMR20 >> 17U) & 0x00000001U ) << 16U) | ((~(pinMuxReg->PINMMR8 >> 9U) & 0x00000001U ) << 24U); + + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + pinMuxReg->PINMMR25 = ((~(pinMuxReg->PINMMR12 >> 17U) & 0x00000001U ) << 8U) | ((~(pinMuxReg->PINMMR7 >> 9U) & 0x00000001U ) << 16U) | ((~(pinMuxReg->PINMMR0 >> 26U) & 0x00000001U ) << 24U); + + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + pinMuxReg->PINMMR26 = ((~(pinMuxReg->PINMMR0 >> 18U) & 0x00000001U ) << 0U) | ((~(pinMuxReg->PINMMR9 >> 10U) & 0x00000001U ) << 8U); + + pinMuxReg->PINMMR27 = PINMUX_PIN_32_MIBSPI5NCS_0; + + pinMuxReg->PINMMR29 = 0x01010101U; + + pinMuxReg->PINMMR30 = 0x01010100U; + + pinMuxReg->PINMMR31 = 0x01010101U; + + pinMuxReg->PINMMR32 = 0x00010101U; + + pinMuxReg->PINMMR33 = PINMUX_PIN_36_HET1_04 | PINMUX_PIN_51_MIBSPI3SOMI | PINMUX_PIN_52_MIBSPI3SIMO | PINMUX_PIN_53_MIBSPI3CLK; + + pinMuxReg->PINMMR34 = PINMUX_PIN_139_HET1_16 | PINMUX_PIN_140_HET1_18 | PINMUX_PIN_141_HET1_20; + + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + + PINMUX_GATE_EMIF_CLK_ENABLE(OFF); + PINMUX_GIOB_DISABLE_HET2_ENABLE(OFF); + PINMUX_ALT_ADC_TRIGGER_SELECT(1); + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + PINMUX_SET(0,1,GIOB_3); + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + PINMUX_SET(0,2,GIOA_0); + PINMUX_SET(1,5,GIOA_1); + PINMUX_SET(3,15,HET1_22); + PINMUX_SET(18,125,HET1_14); + PINMUX_SET(18,126,GIOB_0); + PINMUX_SET(21,133,GIOB_1); + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + + PINMUX_ETPWM1_EQEPERR_ENABLE(EQEPERR12); + PINMUX_ETPWM2_EQEPERR_ENABLE(EQEPERR12); + PINMUX_ETPWM3_EQEPERR_ENABLE(EQEPERR12); + PINMUX_ETPWM4_EQEPERR_ENABLE(EQEPERR12); + PINMUX_ETPWM5_EQEPERR_ENABLE(EQEPERR12); + PINMUX_ETPWM6_EQEPERR_ENABLE(EQEPERR12); + PINMUX_ETPWM7_EQEPERR_ENABLE(EQEPERR12); + PINMUX_ETPWM_TIME_BASE_SYNC_ENABLE(OFF); + PINMUX_ETPWM_TZ1_ENABLE(ASYNC); + PINMUX_ETPWM_TZ2_ENABLE(ASYNC); + PINMUX_ETPWM_TZ3_ENABLE(ASYNC); + PINMUX_ETPWM_EPWM1SYNCI_ENABLE(ASYNC); + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + + /* Disable Pin Muxing */ + kickerReg->KICKER0 = 0x00000000U; + kickerReg->KICKER1 = 0x00000000U; + +/* USER CODE BEGIN (7) */ +/* USER CODE END */ +} + +/** @fn void pinmuxGetConfigValue(pinmux_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : PINMUX_SourceId_002 */ +/* DesignId : PINMUX_DesignId_002 */ +/* Requirements : HL_SR328 */ +void pinmuxGetConfigValue(pinmux_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + {/* Do not pass Initial Value as parameter */ + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_PINMMR0 = pinMuxReg->PINMMR0; + config_reg->CONFIG_PINMMR1 = pinMuxReg->PINMMR1; + config_reg->CONFIG_PINMMR2 = pinMuxReg->PINMMR2; + config_reg->CONFIG_PINMMR3 = pinMuxReg->PINMMR3; + config_reg->CONFIG_PINMMR4 = pinMuxReg->PINMMR4; + config_reg->CONFIG_PINMMR5 = pinMuxReg->PINMMR5; + config_reg->CONFIG_PINMMR6 = pinMuxReg->PINMMR6; + config_reg->CONFIG_PINMMR7 = pinMuxReg->PINMMR7; + config_reg->CONFIG_PINMMR8 = pinMuxReg->PINMMR8; + config_reg->CONFIG_PINMMR9 = pinMuxReg->PINMMR9; + config_reg->CONFIG_PINMMR10 = pinMuxReg->PINMMR10; + config_reg->CONFIG_PINMMR11 = pinMuxReg->PINMMR11; + config_reg->CONFIG_PINMMR12 = pinMuxReg->PINMMR12; + config_reg->CONFIG_PINMMR13 = pinMuxReg->PINMMR13; + config_reg->CONFIG_PINMMR14 = pinMuxReg->PINMMR14; + config_reg->CONFIG_PINMMR15 = pinMuxReg->PINMMR15; + config_reg->CONFIG_PINMMR16 = pinMuxReg->PINMMR16; + config_reg->CONFIG_PINMMR17 = pinMuxReg->PINMMR17; + config_reg->CONFIG_PINMMR18 = pinMuxReg->PINMMR18; + config_reg->CONFIG_PINMMR19 = pinMuxReg->PINMMR19; + config_reg->CONFIG_PINMMR20 = pinMuxReg->PINMMR20; + config_reg->CONFIG_PINMMR21 = pinMuxReg->PINMMR21; + config_reg->CONFIG_PINMMR22 = pinMuxReg->PINMMR22; + config_reg->CONFIG_PINMMR23 = pinMuxReg->PINMMR23; + config_reg->CONFIG_PINMMR24 = pinMuxReg->PINMMR24; + config_reg->CONFIG_PINMMR25 = pinMuxReg->PINMMR25; + config_reg->CONFIG_PINMMR26 = pinMuxReg->PINMMR26; + config_reg->CONFIG_PINMMR27 = pinMuxReg->PINMMR27; + config_reg->CONFIG_PINMMR28 = pinMuxReg->PINMMR28; + config_reg->CONFIG_PINMMR29 = pinMuxReg->PINMMR29; + config_reg->CONFIG_PINMMR30 = pinMuxReg->PINMMR30; + config_reg->CONFIG_PINMMR31 = pinMuxReg->PINMMR31; + config_reg->CONFIG_PINMMR32 = pinMuxReg->PINMMR32; + config_reg->CONFIG_PINMMR33 = pinMuxReg->PINMMR33; + config_reg->CONFIG_PINMMR34 = pinMuxReg->PINMMR34; + config_reg->CONFIG_PINMMR35 = pinMuxReg->PINMMR35; + config_reg->CONFIG_PINMMR36 = pinMuxReg->PINMMR36; + config_reg->CONFIG_PINMMR37 = pinMuxReg->PINMMR37; + config_reg->CONFIG_PINMMR38 = pinMuxReg->PINMMR38; + config_reg->CONFIG_PINMMR39 = pinMuxReg->PINMMR39; + config_reg->CONFIG_PINMMR40 = pinMuxReg->PINMMR40; + config_reg->CONFIG_PINMMR41 = pinMuxReg->PINMMR41; + config_reg->CONFIG_PINMMR42 = pinMuxReg->PINMMR42; + config_reg->CONFIG_PINMMR43 = pinMuxReg->PINMMR43; + config_reg->CONFIG_PINMMR44 = pinMuxReg->PINMMR44; + config_reg->CONFIG_PINMMR45 = pinMuxReg->PINMMR45; + config_reg->CONFIG_PINMMR46 = pinMuxReg->PINMMR46; + config_reg->CONFIG_PINMMR47 = pinMuxReg->PINMMR47; + } +} + +/* USER CODE BEGIN (8) */ +/* USER CODE END */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/rti.c b/TestBoardFirmware/Testboard_HAL_drivers/source/rti.c index c8d1abfe..fa0bf135 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/rti.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/rti.c @@ -1,878 +1,878 @@ -/** @file rti.c -* @brief RTI Driver Source File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - API Functions -* - Interrupt Handlers -* . -* which are relevant for the RTI driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Include Files */ - -#include "rti.h" -#include "sys_vim.h" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -/** @fn void rtiInit(void) -* @brief Initializes RTI Driver -* -* This function initializes the RTI driver. -* -*/ - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/* SourceId : RTI_SourceId_001 */ -/* DesignId : RTI_DesignId_001 */ -/* Requirements : HL_SR76 */ -void rtiInit(void) -{ -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - /** @b Initialize @b RTI1: */ - - /** - Setup NTU source, debug options and disable both counter blocks */ - rtiREG1->GCTRL = (uint32)((uint32)0x0U << 16U) | 0x00000000U; - - /** - Setup timebase for free running counter 0 */ - rtiREG1->TBCTRL = 0x00000000U; - - /** - Enable/Disable capture event sources for both counter blocks */ - rtiREG1->CAPCTRL = 0U | 0U; - - /** - Setup input source compare 0-3 */ - rtiREG1->COMPCTRL = 0x00001000U | 0x00000100U | 0x00000000U | 0x00000000U; - - /** - Reset up counter 0 */ - rtiREG1->CNT[0U].UCx = 0x00000000U; - - /** - Reset free running counter 0 */ - rtiREG1->CNT[0U].FRCx = 0x00000000U; - - /** - Setup up counter 0 compare value - * - 0x00000000: Divide by 2^32 - * - 0x00000001-0xFFFFFFFF: Divide by (CPUC0 + 1) - */ - rtiREG1->CNT[0U].CPUCx = 7U; - - /** - Reset up counter 1 */ - rtiREG1->CNT[1U].UCx = 0x00000000U; - - /** - Reset free running counter 1 */ - rtiREG1->CNT[1U].FRCx = 0x00000000U; - - /** - Setup up counter 1 compare value - * - 0x00000000: Divide by 2^32 - * - 0x00000001-0xFFFFFFFF: Divide by (CPUC1 + 1) - */ - rtiREG1->CNT[1U].CPUCx = 7U; - - /** - Setup compare 0 value. This value is compared with selected free running counter. */ - rtiREG1->CMP[0U].COMPx = 10000U; - - /** - Setup update compare 0 value. This value is added to the compare 0 value on each compare match. */ - rtiREG1->CMP[0U].UDCPx = 10000U; - - /** - Setup compare 1 value. This value is compared with selected free running counter. */ - rtiREG1->CMP[1U].COMPx = 50000U; - - /** - Setup update compare 1 value. This value is added to the compare 1 value on each compare match. */ - rtiREG1->CMP[1U].UDCPx = 50000U; - - /** - Setup compare 2 value. This value is compared with selected free running counter. */ - rtiREG1->CMP[2U].COMPx = 80000U; - - /** - Setup update compare 2 value. This value is added to the compare 2 value on each compare match. */ - rtiREG1->CMP[2U].UDCPx = 80000U; - - /** - Setup compare 3 value. This value is compared with selected free running counter. */ - rtiREG1->CMP[3U].COMPx = 100000U; - - /** - Setup update compare 3 value. This value is added to the compare 3 value on each compare match. */ - rtiREG1->CMP[3U].UDCPx = 100000U; - - /** - Clear all pending interrupts */ - rtiREG1->INTFLAG = 0x0007000FU; - - /** - Disable all interrupts */ - rtiREG1->CLEARINTENA = 0x00070F0FU; - - /** @note This function has to be called before the driver can be used.\n - * This function has to be executed in privileged mode.\n - * This function does not start the counters. - */ - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - - -/** @fn void rtiStartCounter(uint32 counter) -* @brief Starts RTI Counter block -* @param[in] counter Select counter block to be started: -* - rtiCOUNTER_BLOCK0: RTI counter block 0 will be started -* - rtiCOUNTER_BLOCK1: RTI counter block 1 will be started -* -* This function starts selected counter block of the selected RTI module. -*/ - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ -/* SourceId : RTI_SourceId_002 */ -/* DesignId : RTI_DesignId_002 */ -/* Requirements : HL_SR77 */ -void rtiStartCounter(uint32 counter) -{ -/* USER CODE BEGIN (7) */ -/* USER CODE END */ - - rtiREG1->GCTRL |= ((uint32)1U << (counter & 3U)); - - /** @note The function rtiInit has to be called before this function can be used.\n - * This function has to be executed in privileged mode. - */ - -/* USER CODE BEGIN (8) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (9) */ -/* USER CODE END */ - - -/** @fn void rtiStopCounter(uint32 counter) -* @brief Stops RTI Counter block -* @param[in] counter Select counter to be stopped: -* - rtiCOUNTER_BLOCK0: RTI counter block 0 will be stopped -* - rtiCOUNTER_BLOCK1: RTI counter block 1 will be stopped -* -* This function stops selected counter block of the selected RTI module. -*/ - -/* USER CODE BEGIN (10) */ -/* USER CODE END */ -/* SourceId : RTI_SourceId_003 */ -/* DesignId : RTI_DesignId_003 */ -/* Requirements : HL_SR78 */ -void rtiStopCounter(uint32 counter) -{ -/* USER CODE BEGIN (11) */ -/* USER CODE END */ - - rtiREG1->GCTRL &= ~(uint32)((uint32)1U << (counter & 3U)); - - /** @note The function rtiInit has to be called before this function can be used.\n - * This function has to be executed in privileged mode. - */ - -/* USER CODE BEGIN (12) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (13) */ -/* USER CODE END */ - - -/** @fn uint32 rtiResetCounter(uint32 counter) -* @brief Reset RTI Counter block -* @param[in] counter Select counter block to be reset: -* - rtiCOUNTER_BLOCK0: RTI counter block 0 will be reset -* - rtiCOUNTER_BLOCK1: RTI counter block 1 will be reset -* @return The function will return: -* - 0: When the counter reset wasn't successful -* - 1: When the counter reset was successful -* -* This function resets selected counter block of the selected RTI module. -*/ - -/* USER CODE BEGIN (14) */ -/* USER CODE END */ -/* SourceId : RTI_SourceId_004 */ -/* DesignId : RTI_DesignId_004 */ -/* Requirements : HL_SR79 */ -uint32 rtiResetCounter(uint32 counter) -{ - uint32 success = 0U; - -/* USER CODE BEGIN (15) */ -/* USER CODE END */ - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - if ((rtiREG1->GCTRL & (uint32)((uint32)1U << (counter & 3U))) == 0U) - { - rtiREG1->CNT[counter].UCx = 0x00000000U; - rtiREG1->CNT[counter].FRCx = 0x00000000U; - - success = 1U; - } - - /** @note The function rtiInit has to be called before this function can be used.\n - * This function has to be executed in privileged mode.\n - * The selected counter block has to be stopped before it can reset. - */ - -/* USER CODE BEGIN (16) */ -/* USER CODE END */ - - return success; -} - -/* USER CODE BEGIN (17) */ -/* USER CODE END */ - - -/** @fn void rtiSetPeriod(uint32 compare, uint32 period) -* @brief Set new period of RTI compare -* @param[in] compare Select compare to change period: -* - rtiCOMPARE0: RTI compare 0 will change the period -* - rtiCOMPARE1: RTI compare 1 will change the period -* - rtiCOMPARE2: RTI compare 2 will change the period -* - rtiCOMPARE3: RTI compare 3 will change the period -* @param[in] period new period in [ticks - 1]: -* - 0x00000000: Divide by 1 -* - n: Divide by n + 1 -* -* This function will change the period of the selected compare. -*/ - -/* USER CODE BEGIN (18) */ -/* USER CODE END */ -/* SourceId : RTI_SourceId_005 */ -/* DesignId : RTI_DesignId_005 */ -/* Requirements : HL_SR80 */ -void rtiSetPeriod(uint32 compare, uint32 period) -{ -/* USER CODE BEGIN (19) */ -/* USER CODE END */ - - rtiREG1->CMP[compare].UDCPx = period; - - /** @note The function rtiInit has to be called before this function can be used.\n - * This function has to be executed in privileged mode.\n - * When the corresponding counter block is not stopped,\n - * the period will change on the next compare match of the old period. - */ - -/* USER CODE BEGIN (20) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (21) */ -/* USER CODE END */ - - -/** @fn uint32 rtiGetPeriod(uint32 compare) -* @brief Get current period of RTI compare -* @param[in] compare Select compare to return the current period: -* - rtiCOMPARE0: RTI compare 0 will return the current period -* - rtiCOMPARE1: RTI compare 1 will return the current period -* - rtiCOMPARE2: RTI compare 2 will return the current period -* - rtiCOMPARE3: RTI compare 3 will return the current period -* @return Current period of selected compare in [ticks - 1]: -* - 0x00000000: Divide by 1 -* - n: Divide by n + 1 -* -* This function will return the period of the selected compare. -*/ - -/* USER CODE BEGIN (22) */ -/* USER CODE END */ -/* SourceId : RTI_SourceId_006 */ -/* DesignId : RTI_DesignId_006 */ -/* Requirements : HL_SR81 */ -uint32 rtiGetPeriod(uint32 compare) -{ - uint32 period; - -/* USER CODE BEGIN (23) */ -/* USER CODE END */ - - period = rtiREG1->CMP[compare].UDCPx; - - /** @note The function rtiInit has to be called before this function can be used. - */ - -/* USER CODE BEGIN (24) */ -/* USER CODE END */ - - return period; -} - -/* USER CODE BEGIN (25) */ -/* USER CODE END */ - - -/** @fn uint32 rtiGetCurrentTick(uint32 compare) -* @brief Get current tick of RTI compare -* @param[in] compare Select compare to return the current tick: -* - rtiCOMPARE0: RTI compare 0 will return the current tick -* - rtiCOMPARE1: RTI compare 1 will return the current tick -* - rtiCOMPARE2: RTI compare 2 will return the current tick -* - rtiCOMPARE3: RTI compare 3 will return the current tick -* @return Current tick of selected compare -* -* This function will return the current tick of the selected compare. -*/ - -/* USER CODE BEGIN (26) */ -/* USER CODE END */ -/* SourceId : RTI_SourceId_007 */ -/* DesignId : RTI_DesignId_007 */ -/* Requirements : HL_SR82 */ -uint32 rtiGetCurrentTick(uint32 compare) -{ - uint32 tick; - uint32 counter = ((rtiREG1->COMPCTRL & (uint32)((uint32)1U << (compare << 2U))) != 0U ) ? 1U : 0U; - uint32 RTI_CNT_FRCx = rtiREG1->CNT[counter].FRCx; - uint32 RTI_CMP_COMPx = rtiREG1->CMP[compare].COMPx; - uint32 RTI_CMP_UDCPx = rtiREG1->CMP[compare].UDCPx; - -/* USER CODE BEGIN (27) */ -/* USER CODE END */ - - tick = RTI_CNT_FRCx - (RTI_CMP_COMPx - RTI_CMP_UDCPx); - - /** @note The function rtiInit has to be called before this function can be used. - */ - -/* USER CODE BEGIN (28) */ -/* USER CODE END */ - - return tick; -} - -/* USER CODE BEGIN (29) */ -/* USER CODE END */ - -/** @fn void dwdInit(uint16 dwdPreload) -* @brief Initialize DWD Expiration Period -* @param[in] dwdPreload DWD Preload value for expiration time. -* - Texp = (dwdPreload +1) / RTICLK -* - n: Divide by n + 1 -* -* This function can be called to set the DWD expiration -* -*/ -/* SourceId : RTI_SourceId_008 */ -/* DesignId : RTI_DesignId_010 */ -/* Requirements : HL_SR85 */ -void dwdInit(uint16 dwdPreload) -{ -/* USER CODE BEGIN (30) */ -/* USER CODE END */ - - /* Clear the violations if already present */ - rtiREG1->WDSTATUS = 0xFFU; - - rtiREG1->DWDPRLD = dwdPreload; - -/* USER CODE BEGIN (31) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (32) */ -/* USER CODE END */ - -/** @fn void dwwdInit(dwwdReaction_t Reaction, uint16 dwdPreload, dwwdWindowSize_t Window_Size) -* @brief Initialize DWD Expiration Period -* @param[in] Reaction DWWD reaction if the watchdog is serviced outside the time window. -* - Generate_Reset -* - Generate_NMI -* @param[in] dwdPreload DWWD Preload value for the watchdog expiration time. -* - Texp = (dwdPreload +1) / RTICLK -* - n: Divide by n + 1 -* @param[in] Window_Size DWWD time window size -* - Size_100_Percent -* - Size_50_Percent -* - Size_25_Percent -* - Size_12_5_Percent -* - Size_6_25_Percent -* - Size_3_125_Percent -* -* This function can be called to set the DWD expiration -* -*/ -/* SourceId : RTI_SourceId_009 */ -/* DesignId : RTI_DesignId_011 */ -/* Requirements : HL_SR86 */ -void dwwdInit(dwwdReaction_t Reaction, uint16 dwdPreload, dwwdWindowSize_t Window_Size) -{ -/* USER CODE BEGIN (33) */ -/* USER CODE END */ - - /* Clear the violations if already present */ - rtiREG1->WDSTATUS = 0xFFU; - - rtiREG1->WWDSIZECTRL = (uint32) Window_Size; - rtiREG1->DWDPRLD = (uint32) dwdPreload; - rtiREG1->WWDRXNCTRL = (uint32) Reaction; - -/* USER CODE BEGIN (34) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (35) */ -/* USER CODE END */ - -/** @fn uint32 dwwdGetCurrentDownCounter(void) -* @brief Get the current DWWD Down Counter -* @return Current tick of selected compare -* -* This function will get the current DWWD down counter value. -* -*/ -/* SourceId : RTI_SourceId_010 */ -/* DesignId : RTI_DesignId_012 */ -/* Requirements : HL_SR87 */ -uint32 dwwdGetCurrentDownCounter(void) -{ -/* USER CODE BEGIN (36) */ -/* USER CODE END */ - - return (rtiREG1->DWDCNTR); - -/* USER CODE BEGIN (37) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (38) */ -/* USER CODE END */ - -/** @fn void dwdCounterEnable(void) -* @brief Enable DWD -* -* This function will Enable the DWD counter. -* -*/ -/* SourceId : RTI_SourceId_011 */ -/* DesignId : RTI_DesignId_013 */ -/* Requirements : HL_SR88 */ -void dwdCounterEnable(void) -{ -/* USER CODE BEGIN (39) */ -/* USER CODE END */ - - rtiREG1->DWDCTRL = 0xA98559DAU; - -/* USER CODE BEGIN (40) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (41) */ -/* USER CODE END */ - -/* USER CODE BEGIN (42) */ -/* USER CODE END */ -/* USER CODE BEGIN (43) */ -/* USER CODE END */ -/* USER CODE BEGIN (44) */ -/* USER CODE END */ -/** @fn void dwdSetPreload(uint16 dwdPreload) -* @brief Initialize DWD Expiration Period -* @param[in] dwdPreload DWD Preload value for the watchdog expiration time. -* - Texp = (dwdPreload +1) / RTICLK -* - n: Divide by n + 1 -* -* This function can be called to set the Preload value for the watchdog expiration time. -* -*/ -/* SourceId : RTI_SourceId_012 */ -/* DesignId : RTI_DesignId_014 */ -/* Requirements : HL_SR85 */ -void dwdSetPreload(uint16 dwdPreload) -{ -/* USER CODE BEGIN (45) */ -/* USER CODE END */ - rtiREG1->DWDPRLD = dwdPreload; -/* USER CODE BEGIN (46) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (47) */ -/* USER CODE END */ - -/** @fn void dwdReset(void) -* @brief Reset Digital Watchdog -* -* This function can be called to reset Digital Watchdog. -* -*/ -/* SourceId : RTI_SourceId_013 */ -/* DesignId : RTI_DesignId_015 */ -/* Requirements : HL_SR89 */ -void dwdReset(void) -{ -/* USER CODE BEGIN (48) */ -/* USER CODE END */ - rtiREG1->WDKEY = 0x0000E51AU; - rtiREG1->WDKEY = 0x0000A35CU; -/* USER CODE BEGIN (49) */ -/* USER CODE END */ -} - -/** @fn void dwdGenerateSysReset(void) -* @brief Generate System Reset through DWD -* -* This function can be called to generate system reset using DWD. -* -*/ -/* SourceId : RTI_SourceId_014 */ -/* DesignId : RTI_DesignId_016 */ -/* Requirements : HL_SR90 */ -void dwdGenerateSysReset(void) -{ -/* USER CODE BEGIN (50) */ -/* USER CODE END */ - rtiREG1->WDKEY = 0x0000E51AU; - rtiREG1->WDKEY = 0x00002345U; -/* USER CODE BEGIN (51) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (52) */ -/* USER CODE END */ - -/** @fn boolean IsdwdKeySequenceCorrect(void) -* @brief Check if DWD Key sequence correct. -* @return The function will return: -* - TRUE: When the DWD key sequence is written correctly. -* - FALSE: When the DWD key sequence is written incorrectly / not written. -* -* This function will get status of the DWD Key sequence. -* -*/ -/* SourceId : RTI_SourceId_015 */ -/* DesignId : RTI_DesignId_017 */ -/* Requirements : HL_SR91 */ -boolean IsdwdKeySequenceCorrect(void) -{ - boolean Status; - -/* USER CODE BEGIN (53) */ -/* USER CODE END */ - - if((rtiREG1->WDSTATUS & 0x4U) == 0x4U) - { - Status = FALSE; - } - else - { - Status = TRUE; - } - -/* USER CODE BEGIN (54) */ -/* USER CODE END */ - - return Status; -} - -/* USER CODE BEGIN (55) */ -/* USER CODE END */ - -/** @fn dwdResetStatus_t dwdGetStatus(void) -* @brief Check if Reset is generated due to DWD. -* @return The function will return: -* - Reset_Generated: When the Reset is generated due to DWD. -* - No_Reset_Generated: No Reset is generated due to DWD. -* -* This function will get dwd Reset status. -* -*/ -/* SourceId : RTI_SourceId_016 */ -/* DesignId : RTI_DesignId_018 */ -/* Requirements : HL_SR92 */ -dwdResetStatus_t dwdGetStatus(void) -{ -/* USER CODE BEGIN (56) */ -/* USER CODE END */ - dwdResetStatus_t Reset_Status; - if((rtiREG1->WDSTATUS & 0x2U) == 0x2U) - { - Reset_Status = Reset_Generated; - } - else - { - Reset_Status = No_Reset_Generated; - } - -/* USER CODE BEGIN (57) */ -/* USER CODE END */ - return Reset_Status; -} - -/* USER CODE BEGIN (58) */ -/* USER CODE END */ - -/** @fn void dwdClearFlag(void) -* @brief Clear the DWD violation flag. -* -* This function will clear dwd status register. -* -*/ -/* SourceId : RTI_SourceId_017 */ -/* DesignId : RTI_DesignId_020 */ -/* Requirements : HL_SR94 */ -void dwdClearFlag(void) -{ -/* USER CODE BEGIN (59) */ -/* USER CODE END */ - - rtiREG1->WDSTATUS = 0xFFU; - -/* USER CODE BEGIN (60) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (61) */ -/* USER CODE END */ - -/** @fn dwdViolation_t dwdGetViolationStatus(void) -* @brief Check the status of the DWD or DWWD violation happened. -* @return The function will return one of following violations occured: -* - NoTime_Violation -* - Key_Seq_Violation -* - Time_Window_Violation -* - EndTime_Window_Violation -* - StartTime_Window_Violation -* -* This function will get status of the DWD or DWWD violation status. -* -*/ -/* SourceId : RTI_SourceId_018 */ -/* DesignId : RTI_DesignId_019 */ -/* Requirements : HL_SR93 */ -dwdViolation_t dwdGetViolationStatus(void) -{ -/* USER CODE BEGIN (62) */ -/* USER CODE END */ - dwdViolation_t Violation_Status; - - if ((rtiREG1->WDSTATUS & 0x04U) == 0x04U) - { - Violation_Status = Key_Seq_Violation; - } - else if((rtiREG1->WDSTATUS & 0x8U) == 0x8U) - { - Violation_Status = StartTime_Window_Violation; - } - else if ((rtiREG1->WDSTATUS & 0x10U) == 0x10U) - { - Violation_Status = EndTime_Window_Violation; - } - else if ((rtiREG1->WDSTATUS & 0x20U) == 0x20U) - { - Violation_Status = Time_Window_Violation; - } - else - { - Violation_Status = NoTime_Violation; - } - -/* USER CODE BEGIN (63) */ -/* USER CODE END */ - - return Violation_Status; -} - -/* USER CODE BEGIN (64) */ -/* USER CODE END */ - -/** @fn void rtiEnableNotification(uint32 notification) -* @brief Enable notification of RTI module -* @param[in] notification Select notification of RTI module: -* - rtiNOTIFICATION_COMPARE0: RTI compare 0 notification -* - rtiNOTIFICATION_COMPARE1: RTI compare 1 notification -* - rtiNOTIFICATION_COMPARE2: RTI compare 2 notification -* - rtiNOTIFICATION_COMPARE3: RTI compare 3 notification -* - rtiNOTIFICATION_TIMEBASE: RTI Timebase notification -* - rtiNOTIFICATION_COUNTER0: RTI counter 0 overflow notification -* - rtiNOTIFICATION_COUNTER1: RTI counter 1 overflow notification -* -* This function will enable the selected notification of a RTI module. -* It is possible to enable multiple notifications masked. -*/ - -/* USER CODE BEGIN (65) */ -/* USER CODE END */ -/* SourceId : RTI_SourceId_019 */ -/* DesignId : RTI_DesignId_008 */ -/* Requirements : HL_SR83 */ -void rtiEnableNotification(uint32 notification) -{ -/* USER CODE BEGIN (66) */ -/* USER CODE END */ - - rtiREG1->INTFLAG = notification; - rtiREG1->SETINTENA = notification; - - /** @note The function rtiInit has to be called before this function can be used.\n - * This function has to be executed in privileged mode. - */ - -/* USER CODE BEGIN (67) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (68) */ -/* USER CODE END */ - -/** @fn void rtiDisableNotification(uint32 notification) -* @brief Disable notification of RTI module -* @param[in] notification Select notification of RTI module: -* - rtiNOTIFICATION_COMPARE0: RTI compare 0 notification -* - rtiNOTIFICATION_COMPARE1: RTI compare 1 notification -* - rtiNOTIFICATION_COMPARE2: RTI compare 2 notification -* - rtiNOTIFICATION_COMPARE3: RTI compare 3 notification -* - rtiNOTIFICATION_TIMEBASE: RTI Timebase notification -* - rtiNOTIFICATION_COUNTER0: RTI counter 0 overflow notification -* - rtiNOTIFICATION_COUNTER1: RTI counter 1 overflow notification -* -* This function will disable the selected notification of a RTI module. -* It is possible to disable multiple notifications masked. -*/ - -/* USER CODE BEGIN (69) */ -/* USER CODE END */ -/* SourceId : RTI_SourceId_020 */ -/* DesignId : RTI_DesignId_009 */ -/* Requirements : HL_SR84 */ -void rtiDisableNotification(uint32 notification) -{ -/* USER CODE BEGIN (70) */ -/* USER CODE END */ - - rtiREG1->CLEARINTENA = notification; - - /** @note The function rtiInit has to be called before this function can be used.\n - * This function has to be executed in privileged mode. - */ - -/* USER CODE BEGIN (71) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (72) */ -/* USER CODE END */ - -/** @fn void rtiGetConfigValue(rti_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') of the configuration -* registers to the struct pointed by config_reg -* -*/ -/* SourceId : RTI_SourceId_021 */ -/* DesignId : RTI_DesignId_021 */ -/* Requirements : HL_SR97 */ -void rtiGetConfigValue(rti_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_GCTRL = RTI_GCTRL_CONFIGVALUE; - config_reg->CONFIG_TBCTRL = RTI_TBCTRL_CONFIGVALUE; - config_reg->CONFIG_CAPCTRL = RTI_CAPCTRL_CONFIGVALUE; - config_reg->CONFIG_COMPCTRL = RTI_COMPCTRL_CONFIGVALUE; - config_reg->CONFIG_UDCP0 = RTI_UDCP0_CONFIGVALUE; - config_reg->CONFIG_UDCP1 = RTI_UDCP1_CONFIGVALUE; - config_reg->CONFIG_UDCP2 = RTI_UDCP2_CONFIGVALUE; - config_reg->CONFIG_UDCP3 = RTI_UDCP3_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_GCTRL = rtiREG1->GCTRL; - config_reg->CONFIG_TBCTRL = rtiREG1->TBCTRL; - config_reg->CONFIG_CAPCTRL = rtiREG1->CAPCTRL; - config_reg->CONFIG_COMPCTRL = rtiREG1->COMPCTRL; - config_reg->CONFIG_UDCP0 = rtiREG1->CMP[0U].UDCPx; - config_reg->CONFIG_UDCP1 = rtiREG1->CMP[1U].UDCPx; - config_reg->CONFIG_UDCP2 = rtiREG1->CMP[2U].UDCPx; - config_reg->CONFIG_UDCP3 = rtiREG1->CMP[3U].UDCPx; - } -} - -/* USER CODE BEGIN (73) */ -/* USER CODE END */ - -/** @fn void rtiCompare0Interrupt(void) -* @brief RTI1 Compare 0 Interrupt Handler -* -* RTI1 Compare 0 interrupt handler -* -*/ -#pragma CODE_STATE(rtiCompare0Interrupt, 32) -#pragma INTERRUPT(rtiCompare0Interrupt, IRQ) - -/* SourceId : RTI_SourceId_022 */ -/* DesignId : RTI_DesignId_022 */ -/* Requirements : HL_SR95 */ -void rtiCompare0Interrupt(void) -{ -/* USER CODE BEGIN (74) */ -/* USER CODE END */ - - rtiREG1->INTFLAG = 1U; - rtiNotification(rtiNOTIFICATION_COMPARE0); - -/* USER CODE BEGIN (75) */ -/* USER CODE END */ -} - - - - - - +/** @file rti.c +* @brief RTI Driver Source File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - API Functions +* - Interrupt Handlers +* . +* which are relevant for the RTI driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Include Files */ + +#include "rti.h" +#include "sys_vim.h" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +/** @fn void rtiInit(void) +* @brief Initializes RTI Driver +* +* This function initializes the RTI driver. +* +*/ + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/* SourceId : RTI_SourceId_001 */ +/* DesignId : RTI_DesignId_001 */ +/* Requirements : HL_SR76 */ +void rtiInit(void) +{ +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + /** @b Initialize @b RTI1: */ + + /** - Setup NTU source, debug options and disable both counter blocks */ + rtiREG1->GCTRL = (uint32)((uint32)0x0U << 16U) | 0x00000000U; + + /** - Setup timebase for free running counter 0 */ + rtiREG1->TBCTRL = 0x00000000U; + + /** - Enable/Disable capture event sources for both counter blocks */ + rtiREG1->CAPCTRL = 0U | 0U; + + /** - Setup input source compare 0-3 */ + rtiREG1->COMPCTRL = 0x00001000U | 0x00000100U | 0x00000000U | 0x00000000U; + + /** - Reset up counter 0 */ + rtiREG1->CNT[0U].UCx = 0x00000000U; + + /** - Reset free running counter 0 */ + rtiREG1->CNT[0U].FRCx = 0x00000000U; + + /** - Setup up counter 0 compare value + * - 0x00000000: Divide by 2^32 + * - 0x00000001-0xFFFFFFFF: Divide by (CPUC0 + 1) + */ + rtiREG1->CNT[0U].CPUCx = 7U; + + /** - Reset up counter 1 */ + rtiREG1->CNT[1U].UCx = 0x00000000U; + + /** - Reset free running counter 1 */ + rtiREG1->CNT[1U].FRCx = 0x00000000U; + + /** - Setup up counter 1 compare value + * - 0x00000000: Divide by 2^32 + * - 0x00000001-0xFFFFFFFF: Divide by (CPUC1 + 1) + */ + rtiREG1->CNT[1U].CPUCx = 7U; + + /** - Setup compare 0 value. This value is compared with selected free running counter. */ + rtiREG1->CMP[0U].COMPx = 10000U; + + /** - Setup update compare 0 value. This value is added to the compare 0 value on each compare match. */ + rtiREG1->CMP[0U].UDCPx = 10000U; + + /** - Setup compare 1 value. This value is compared with selected free running counter. */ + rtiREG1->CMP[1U].COMPx = 50000U; + + /** - Setup update compare 1 value. This value is added to the compare 1 value on each compare match. */ + rtiREG1->CMP[1U].UDCPx = 50000U; + + /** - Setup compare 2 value. This value is compared with selected free running counter. */ + rtiREG1->CMP[2U].COMPx = 80000U; + + /** - Setup update compare 2 value. This value is added to the compare 2 value on each compare match. */ + rtiREG1->CMP[2U].UDCPx = 80000U; + + /** - Setup compare 3 value. This value is compared with selected free running counter. */ + rtiREG1->CMP[3U].COMPx = 100000U; + + /** - Setup update compare 3 value. This value is added to the compare 3 value on each compare match. */ + rtiREG1->CMP[3U].UDCPx = 100000U; + + /** - Clear all pending interrupts */ + rtiREG1->INTFLAG = 0x0007000FU; + + /** - Disable all interrupts */ + rtiREG1->CLEARINTENA = 0x00070F0FU; + + /** @note This function has to be called before the driver can be used.\n + * This function has to be executed in privileged mode.\n + * This function does not start the counters. + */ + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + + +/** @fn void rtiStartCounter(uint32 counter) +* @brief Starts RTI Counter block +* @param[in] counter Select counter block to be started: +* - rtiCOUNTER_BLOCK0: RTI counter block 0 will be started +* - rtiCOUNTER_BLOCK1: RTI counter block 1 will be started +* +* This function starts selected counter block of the selected RTI module. +*/ + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ +/* SourceId : RTI_SourceId_002 */ +/* DesignId : RTI_DesignId_002 */ +/* Requirements : HL_SR77 */ +void rtiStartCounter(uint32 counter) +{ +/* USER CODE BEGIN (7) */ +/* USER CODE END */ + + rtiREG1->GCTRL |= ((uint32)1U << (counter & 3U)); + + /** @note The function rtiInit has to be called before this function can be used.\n + * This function has to be executed in privileged mode. + */ + +/* USER CODE BEGIN (8) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (9) */ +/* USER CODE END */ + + +/** @fn void rtiStopCounter(uint32 counter) +* @brief Stops RTI Counter block +* @param[in] counter Select counter to be stopped: +* - rtiCOUNTER_BLOCK0: RTI counter block 0 will be stopped +* - rtiCOUNTER_BLOCK1: RTI counter block 1 will be stopped +* +* This function stops selected counter block of the selected RTI module. +*/ + +/* USER CODE BEGIN (10) */ +/* USER CODE END */ +/* SourceId : RTI_SourceId_003 */ +/* DesignId : RTI_DesignId_003 */ +/* Requirements : HL_SR78 */ +void rtiStopCounter(uint32 counter) +{ +/* USER CODE BEGIN (11) */ +/* USER CODE END */ + + rtiREG1->GCTRL &= ~(uint32)((uint32)1U << (counter & 3U)); + + /** @note The function rtiInit has to be called before this function can be used.\n + * This function has to be executed in privileged mode. + */ + +/* USER CODE BEGIN (12) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (13) */ +/* USER CODE END */ + + +/** @fn uint32 rtiResetCounter(uint32 counter) +* @brief Reset RTI Counter block +* @param[in] counter Select counter block to be reset: +* - rtiCOUNTER_BLOCK0: RTI counter block 0 will be reset +* - rtiCOUNTER_BLOCK1: RTI counter block 1 will be reset +* @return The function will return: +* - 0: When the counter reset wasn't successful +* - 1: When the counter reset was successful +* +* This function resets selected counter block of the selected RTI module. +*/ + +/* USER CODE BEGIN (14) */ +/* USER CODE END */ +/* SourceId : RTI_SourceId_004 */ +/* DesignId : RTI_DesignId_004 */ +/* Requirements : HL_SR79 */ +uint32 rtiResetCounter(uint32 counter) +{ + uint32 success = 0U; + +/* USER CODE BEGIN (15) */ +/* USER CODE END */ + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + if ((rtiREG1->GCTRL & (uint32)((uint32)1U << (counter & 3U))) == 0U) + { + rtiREG1->CNT[counter].UCx = 0x00000000U; + rtiREG1->CNT[counter].FRCx = 0x00000000U; + + success = 1U; + } + + /** @note The function rtiInit has to be called before this function can be used.\n + * This function has to be executed in privileged mode.\n + * The selected counter block has to be stopped before it can reset. + */ + +/* USER CODE BEGIN (16) */ +/* USER CODE END */ + + return success; +} + +/* USER CODE BEGIN (17) */ +/* USER CODE END */ + + +/** @fn void rtiSetPeriod(uint32 compare, uint32 period) +* @brief Set new period of RTI compare +* @param[in] compare Select compare to change period: +* - rtiCOMPARE0: RTI compare 0 will change the period +* - rtiCOMPARE1: RTI compare 1 will change the period +* - rtiCOMPARE2: RTI compare 2 will change the period +* - rtiCOMPARE3: RTI compare 3 will change the period +* @param[in] period new period in [ticks - 1]: +* - 0x00000000: Divide by 1 +* - n: Divide by n + 1 +* +* This function will change the period of the selected compare. +*/ + +/* USER CODE BEGIN (18) */ +/* USER CODE END */ +/* SourceId : RTI_SourceId_005 */ +/* DesignId : RTI_DesignId_005 */ +/* Requirements : HL_SR80 */ +void rtiSetPeriod(uint32 compare, uint32 period) +{ +/* USER CODE BEGIN (19) */ +/* USER CODE END */ + + rtiREG1->CMP[compare].UDCPx = period; + + /** @note The function rtiInit has to be called before this function can be used.\n + * This function has to be executed in privileged mode.\n + * When the corresponding counter block is not stopped,\n + * the period will change on the next compare match of the old period. + */ + +/* USER CODE BEGIN (20) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (21) */ +/* USER CODE END */ + + +/** @fn uint32 rtiGetPeriod(uint32 compare) +* @brief Get current period of RTI compare +* @param[in] compare Select compare to return the current period: +* - rtiCOMPARE0: RTI compare 0 will return the current period +* - rtiCOMPARE1: RTI compare 1 will return the current period +* - rtiCOMPARE2: RTI compare 2 will return the current period +* - rtiCOMPARE3: RTI compare 3 will return the current period +* @return Current period of selected compare in [ticks - 1]: +* - 0x00000000: Divide by 1 +* - n: Divide by n + 1 +* +* This function will return the period of the selected compare. +*/ + +/* USER CODE BEGIN (22) */ +/* USER CODE END */ +/* SourceId : RTI_SourceId_006 */ +/* DesignId : RTI_DesignId_006 */ +/* Requirements : HL_SR81 */ +uint32 rtiGetPeriod(uint32 compare) +{ + uint32 period; + +/* USER CODE BEGIN (23) */ +/* USER CODE END */ + + period = rtiREG1->CMP[compare].UDCPx; + + /** @note The function rtiInit has to be called before this function can be used. + */ + +/* USER CODE BEGIN (24) */ +/* USER CODE END */ + + return period; +} + +/* USER CODE BEGIN (25) */ +/* USER CODE END */ + + +/** @fn uint32 rtiGetCurrentTick(uint32 compare) +* @brief Get current tick of RTI compare +* @param[in] compare Select compare to return the current tick: +* - rtiCOMPARE0: RTI compare 0 will return the current tick +* - rtiCOMPARE1: RTI compare 1 will return the current tick +* - rtiCOMPARE2: RTI compare 2 will return the current tick +* - rtiCOMPARE3: RTI compare 3 will return the current tick +* @return Current tick of selected compare +* +* This function will return the current tick of the selected compare. +*/ + +/* USER CODE BEGIN (26) */ +/* USER CODE END */ +/* SourceId : RTI_SourceId_007 */ +/* DesignId : RTI_DesignId_007 */ +/* Requirements : HL_SR82 */ +uint32 rtiGetCurrentTick(uint32 compare) +{ + uint32 tick; + uint32 counter = ((rtiREG1->COMPCTRL & (uint32)((uint32)1U << (compare << 2U))) != 0U ) ? 1U : 0U; + uint32 RTI_CNT_FRCx = rtiREG1->CNT[counter].FRCx; + uint32 RTI_CMP_COMPx = rtiREG1->CMP[compare].COMPx; + uint32 RTI_CMP_UDCPx = rtiREG1->CMP[compare].UDCPx; + +/* USER CODE BEGIN (27) */ +/* USER CODE END */ + + tick = RTI_CNT_FRCx - (RTI_CMP_COMPx - RTI_CMP_UDCPx); + + /** @note The function rtiInit has to be called before this function can be used. + */ + +/* USER CODE BEGIN (28) */ +/* USER CODE END */ + + return tick; +} + +/* USER CODE BEGIN (29) */ +/* USER CODE END */ + +/** @fn void dwdInit(uint16 dwdPreload) +* @brief Initialize DWD Expiration Period +* @param[in] dwdPreload DWD Preload value for expiration time. +* - Texp = (dwdPreload +1) / RTICLK +* - n: Divide by n + 1 +* +* This function can be called to set the DWD expiration +* +*/ +/* SourceId : RTI_SourceId_008 */ +/* DesignId : RTI_DesignId_010 */ +/* Requirements : HL_SR85 */ +void dwdInit(uint16 dwdPreload) +{ +/* USER CODE BEGIN (30) */ +/* USER CODE END */ + + /* Clear the violations if already present */ + rtiREG1->WDSTATUS = 0xFFU; + + rtiREG1->DWDPRLD = dwdPreload; + +/* USER CODE BEGIN (31) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (32) */ +/* USER CODE END */ + +/** @fn void dwwdInit(dwwdReaction_t Reaction, uint16 dwdPreload, dwwdWindowSize_t Window_Size) +* @brief Initialize DWD Expiration Period +* @param[in] Reaction DWWD reaction if the watchdog is serviced outside the time window. +* - Generate_Reset +* - Generate_NMI +* @param[in] dwdPreload DWWD Preload value for the watchdog expiration time. +* - Texp = (dwdPreload +1) / RTICLK +* - n: Divide by n + 1 +* @param[in] Window_Size DWWD time window size +* - Size_100_Percent +* - Size_50_Percent +* - Size_25_Percent +* - Size_12_5_Percent +* - Size_6_25_Percent +* - Size_3_125_Percent +* +* This function can be called to set the DWD expiration +* +*/ +/* SourceId : RTI_SourceId_009 */ +/* DesignId : RTI_DesignId_011 */ +/* Requirements : HL_SR86 */ +void dwwdInit(dwwdReaction_t Reaction, uint16 dwdPreload, dwwdWindowSize_t Window_Size) +{ +/* USER CODE BEGIN (33) */ +/* USER CODE END */ + + /* Clear the violations if already present */ + rtiREG1->WDSTATUS = 0xFFU; + + rtiREG1->WWDSIZECTRL = (uint32) Window_Size; + rtiREG1->DWDPRLD = (uint32) dwdPreload; + rtiREG1->WWDRXNCTRL = (uint32) Reaction; + +/* USER CODE BEGIN (34) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (35) */ +/* USER CODE END */ + +/** @fn uint32 dwwdGetCurrentDownCounter(void) +* @brief Get the current DWWD Down Counter +* @return Current tick of selected compare +* +* This function will get the current DWWD down counter value. +* +*/ +/* SourceId : RTI_SourceId_010 */ +/* DesignId : RTI_DesignId_012 */ +/* Requirements : HL_SR87 */ +uint32 dwwdGetCurrentDownCounter(void) +{ +/* USER CODE BEGIN (36) */ +/* USER CODE END */ + + return (rtiREG1->DWDCNTR); + +/* USER CODE BEGIN (37) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (38) */ +/* USER CODE END */ + +/** @fn void dwdCounterEnable(void) +* @brief Enable DWD +* +* This function will Enable the DWD counter. +* +*/ +/* SourceId : RTI_SourceId_011 */ +/* DesignId : RTI_DesignId_013 */ +/* Requirements : HL_SR88 */ +void dwdCounterEnable(void) +{ +/* USER CODE BEGIN (39) */ +/* USER CODE END */ + + rtiREG1->DWDCTRL = 0xA98559DAU; + +/* USER CODE BEGIN (40) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (41) */ +/* USER CODE END */ + +/* USER CODE BEGIN (42) */ +/* USER CODE END */ +/* USER CODE BEGIN (43) */ +/* USER CODE END */ +/* USER CODE BEGIN (44) */ +/* USER CODE END */ +/** @fn void dwdSetPreload(uint16 dwdPreload) +* @brief Initialize DWD Expiration Period +* @param[in] dwdPreload DWD Preload value for the watchdog expiration time. +* - Texp = (dwdPreload +1) / RTICLK +* - n: Divide by n + 1 +* +* This function can be called to set the Preload value for the watchdog expiration time. +* +*/ +/* SourceId : RTI_SourceId_012 */ +/* DesignId : RTI_DesignId_014 */ +/* Requirements : HL_SR85 */ +void dwdSetPreload(uint16 dwdPreload) +{ +/* USER CODE BEGIN (45) */ +/* USER CODE END */ + rtiREG1->DWDPRLD = dwdPreload; +/* USER CODE BEGIN (46) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (47) */ +/* USER CODE END */ + +/** @fn void dwdReset(void) +* @brief Reset Digital Watchdog +* +* This function can be called to reset Digital Watchdog. +* +*/ +/* SourceId : RTI_SourceId_013 */ +/* DesignId : RTI_DesignId_015 */ +/* Requirements : HL_SR89 */ +void dwdReset(void) +{ +/* USER CODE BEGIN (48) */ +/* USER CODE END */ + rtiREG1->WDKEY = 0x0000E51AU; + rtiREG1->WDKEY = 0x0000A35CU; +/* USER CODE BEGIN (49) */ +/* USER CODE END */ +} + +/** @fn void dwdGenerateSysReset(void) +* @brief Generate System Reset through DWD +* +* This function can be called to generate system reset using DWD. +* +*/ +/* SourceId : RTI_SourceId_014 */ +/* DesignId : RTI_DesignId_016 */ +/* Requirements : HL_SR90 */ +void dwdGenerateSysReset(void) +{ +/* USER CODE BEGIN (50) */ +/* USER CODE END */ + rtiREG1->WDKEY = 0x0000E51AU; + rtiREG1->WDKEY = 0x00002345U; +/* USER CODE BEGIN (51) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (52) */ +/* USER CODE END */ + +/** @fn boolean IsdwdKeySequenceCorrect(void) +* @brief Check if DWD Key sequence correct. +* @return The function will return: +* - TRUE: When the DWD key sequence is written correctly. +* - FALSE: When the DWD key sequence is written incorrectly / not written. +* +* This function will get status of the DWD Key sequence. +* +*/ +/* SourceId : RTI_SourceId_015 */ +/* DesignId : RTI_DesignId_017 */ +/* Requirements : HL_SR91 */ +boolean IsdwdKeySequenceCorrect(void) +{ + boolean Status; + +/* USER CODE BEGIN (53) */ +/* USER CODE END */ + + if((rtiREG1->WDSTATUS & 0x4U) == 0x4U) + { + Status = FALSE; + } + else + { + Status = TRUE; + } + +/* USER CODE BEGIN (54) */ +/* USER CODE END */ + + return Status; +} + +/* USER CODE BEGIN (55) */ +/* USER CODE END */ + +/** @fn dwdResetStatus_t dwdGetStatus(void) +* @brief Check if Reset is generated due to DWD. +* @return The function will return: +* - Reset_Generated: When the Reset is generated due to DWD. +* - No_Reset_Generated: No Reset is generated due to DWD. +* +* This function will get dwd Reset status. +* +*/ +/* SourceId : RTI_SourceId_016 */ +/* DesignId : RTI_DesignId_018 */ +/* Requirements : HL_SR92 */ +dwdResetStatus_t dwdGetStatus(void) +{ +/* USER CODE BEGIN (56) */ +/* USER CODE END */ + dwdResetStatus_t Reset_Status; + if((rtiREG1->WDSTATUS & 0x2U) == 0x2U) + { + Reset_Status = Reset_Generated; + } + else + { + Reset_Status = No_Reset_Generated; + } + +/* USER CODE BEGIN (57) */ +/* USER CODE END */ + return Reset_Status; +} + +/* USER CODE BEGIN (58) */ +/* USER CODE END */ + +/** @fn void dwdClearFlag(void) +* @brief Clear the DWD violation flag. +* +* This function will clear dwd status register. +* +*/ +/* SourceId : RTI_SourceId_017 */ +/* DesignId : RTI_DesignId_020 */ +/* Requirements : HL_SR94 */ +void dwdClearFlag(void) +{ +/* USER CODE BEGIN (59) */ +/* USER CODE END */ + + rtiREG1->WDSTATUS = 0xFFU; + +/* USER CODE BEGIN (60) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (61) */ +/* USER CODE END */ + +/** @fn dwdViolation_t dwdGetViolationStatus(void) +* @brief Check the status of the DWD or DWWD violation happened. +* @return The function will return one of following violations occured: +* - NoTime_Violation +* - Key_Seq_Violation +* - Time_Window_Violation +* - EndTime_Window_Violation +* - StartTime_Window_Violation +* +* This function will get status of the DWD or DWWD violation status. +* +*/ +/* SourceId : RTI_SourceId_018 */ +/* DesignId : RTI_DesignId_019 */ +/* Requirements : HL_SR93 */ +dwdViolation_t dwdGetViolationStatus(void) +{ +/* USER CODE BEGIN (62) */ +/* USER CODE END */ + dwdViolation_t Violation_Status; + + if ((rtiREG1->WDSTATUS & 0x04U) == 0x04U) + { + Violation_Status = Key_Seq_Violation; + } + else if((rtiREG1->WDSTATUS & 0x8U) == 0x8U) + { + Violation_Status = StartTime_Window_Violation; + } + else if ((rtiREG1->WDSTATUS & 0x10U) == 0x10U) + { + Violation_Status = EndTime_Window_Violation; + } + else if ((rtiREG1->WDSTATUS & 0x20U) == 0x20U) + { + Violation_Status = Time_Window_Violation; + } + else + { + Violation_Status = NoTime_Violation; + } + +/* USER CODE BEGIN (63) */ +/* USER CODE END */ + + return Violation_Status; +} + +/* USER CODE BEGIN (64) */ +/* USER CODE END */ + +/** @fn void rtiEnableNotification(uint32 notification) +* @brief Enable notification of RTI module +* @param[in] notification Select notification of RTI module: +* - rtiNOTIFICATION_COMPARE0: RTI compare 0 notification +* - rtiNOTIFICATION_COMPARE1: RTI compare 1 notification +* - rtiNOTIFICATION_COMPARE2: RTI compare 2 notification +* - rtiNOTIFICATION_COMPARE3: RTI compare 3 notification +* - rtiNOTIFICATION_TIMEBASE: RTI Timebase notification +* - rtiNOTIFICATION_COUNTER0: RTI counter 0 overflow notification +* - rtiNOTIFICATION_COUNTER1: RTI counter 1 overflow notification +* +* This function will enable the selected notification of a RTI module. +* It is possible to enable multiple notifications masked. +*/ + +/* USER CODE BEGIN (65) */ +/* USER CODE END */ +/* SourceId : RTI_SourceId_019 */ +/* DesignId : RTI_DesignId_008 */ +/* Requirements : HL_SR83 */ +void rtiEnableNotification(uint32 notification) +{ +/* USER CODE BEGIN (66) */ +/* USER CODE END */ + + rtiREG1->INTFLAG = notification; + rtiREG1->SETINTENA = notification; + + /** @note The function rtiInit has to be called before this function can be used.\n + * This function has to be executed in privileged mode. + */ + +/* USER CODE BEGIN (67) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (68) */ +/* USER CODE END */ + +/** @fn void rtiDisableNotification(uint32 notification) +* @brief Disable notification of RTI module +* @param[in] notification Select notification of RTI module: +* - rtiNOTIFICATION_COMPARE0: RTI compare 0 notification +* - rtiNOTIFICATION_COMPARE1: RTI compare 1 notification +* - rtiNOTIFICATION_COMPARE2: RTI compare 2 notification +* - rtiNOTIFICATION_COMPARE3: RTI compare 3 notification +* - rtiNOTIFICATION_TIMEBASE: RTI Timebase notification +* - rtiNOTIFICATION_COUNTER0: RTI counter 0 overflow notification +* - rtiNOTIFICATION_COUNTER1: RTI counter 1 overflow notification +* +* This function will disable the selected notification of a RTI module. +* It is possible to disable multiple notifications masked. +*/ + +/* USER CODE BEGIN (69) */ +/* USER CODE END */ +/* SourceId : RTI_SourceId_020 */ +/* DesignId : RTI_DesignId_009 */ +/* Requirements : HL_SR84 */ +void rtiDisableNotification(uint32 notification) +{ +/* USER CODE BEGIN (70) */ +/* USER CODE END */ + + rtiREG1->CLEARINTENA = notification; + + /** @note The function rtiInit has to be called before this function can be used.\n + * This function has to be executed in privileged mode. + */ + +/* USER CODE BEGIN (71) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (72) */ +/* USER CODE END */ + +/** @fn void rtiGetConfigValue(rti_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') of the configuration +* registers to the struct pointed by config_reg +* +*/ +/* SourceId : RTI_SourceId_021 */ +/* DesignId : RTI_DesignId_021 */ +/* Requirements : HL_SR97 */ +void rtiGetConfigValue(rti_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_GCTRL = RTI_GCTRL_CONFIGVALUE; + config_reg->CONFIG_TBCTRL = RTI_TBCTRL_CONFIGVALUE; + config_reg->CONFIG_CAPCTRL = RTI_CAPCTRL_CONFIGVALUE; + config_reg->CONFIG_COMPCTRL = RTI_COMPCTRL_CONFIGVALUE; + config_reg->CONFIG_UDCP0 = RTI_UDCP0_CONFIGVALUE; + config_reg->CONFIG_UDCP1 = RTI_UDCP1_CONFIGVALUE; + config_reg->CONFIG_UDCP2 = RTI_UDCP2_CONFIGVALUE; + config_reg->CONFIG_UDCP3 = RTI_UDCP3_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_GCTRL = rtiREG1->GCTRL; + config_reg->CONFIG_TBCTRL = rtiREG1->TBCTRL; + config_reg->CONFIG_CAPCTRL = rtiREG1->CAPCTRL; + config_reg->CONFIG_COMPCTRL = rtiREG1->COMPCTRL; + config_reg->CONFIG_UDCP0 = rtiREG1->CMP[0U].UDCPx; + config_reg->CONFIG_UDCP1 = rtiREG1->CMP[1U].UDCPx; + config_reg->CONFIG_UDCP2 = rtiREG1->CMP[2U].UDCPx; + config_reg->CONFIG_UDCP3 = rtiREG1->CMP[3U].UDCPx; + } +} + +/* USER CODE BEGIN (73) */ +/* USER CODE END */ + +/** @fn void rtiCompare0Interrupt(void) +* @brief RTI1 Compare 0 Interrupt Handler +* +* RTI1 Compare 0 interrupt handler +* +*/ +#pragma CODE_STATE(rtiCompare0Interrupt, 32) +#pragma INTERRUPT(rtiCompare0Interrupt, IRQ) + +/* SourceId : RTI_SourceId_022 */ +/* DesignId : RTI_DesignId_022 */ +/* Requirements : HL_SR95 */ +void rtiCompare0Interrupt(void) +{ +/* USER CODE BEGIN (74) */ +/* USER CODE END */ + + rtiREG1->INTFLAG = 1U; + rtiNotification(rtiNOTIFICATION_COMPARE0); + +/* USER CODE BEGIN (75) */ +/* USER CODE END */ +} + + + + + + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sci.c b/TestBoardFirmware/Testboard_HAL_drivers/source/sci.c index a4407536..b46a4551 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sci.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sci.c @@ -1,876 +1,876 @@ -/** @file sci.c -* @brief SCI Driver Implementation File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "sci.h" -#include "sys_vim.h" -#include "math.h" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ -/** @struct g_sciTransfer -* @brief Interrupt mode globals -* -*/ -static volatile struct g_sciTransfer -{ - uint32 mode; /* Used to check for TX interrupt Enable */ - uint32 tx_length; /* Transmit data length in number of Bytes */ - uint32 rx_length; /* Receive data length in number of Bytes */ - uint8 * tx_data; /* Transmit data pointer */ - uint8 * rx_data; /* Receive data pointer */ -} g_sciTransfer_t[2U]; - - -/** @fn void sciInit(void) -* @brief Initializes the SCI Driver -* -* This function initializes the SCI module. -*/ -/* SourceId : SCI_SourceId_001 */ -/* DesignId : SCI_DesignId_001 */ -/* Requirements : HL_SR230 */ -void sciInit(void) -{ -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - - /** @b initialize @b SCI */ - - /** - bring SCI out of reset */ - sciREG->GCR0 = 0U; - sciREG->GCR0 = 1U; - - /** - Disable all interrupts */ - sciREG->CLEARINT = 0xFFFFFFFFU; - sciREG->CLEARINTLVL = 0xFFFFFFFFU; - - /** - global control 1 */ - sciREG->GCR1 = (uint32)((uint32)1U << 25U) /* enable transmit */ - | (uint32)((uint32)1U << 24U) /* enable receive */ - | (uint32)((uint32)1U << 5U) /* internal clock (device has no clock pin) */ - | (uint32)((uint32)(2U-1U) << 4U) /* number of stop bits */ - | (uint32)((uint32)0U << 3U) /* even parity, otherwise odd */ - | (uint32)((uint32)0U << 2U) /* enable parity */ - | (uint32)((uint32)1U << 1U); /* asynchronous timing mode */ - - /** - set baudrate */ - sciREG->BRS = 520U; /* baudrate */ - - /** - transmission length */ - sciREG->FORMAT = 8U - 1U; /* length */ - - /** - set SCI pins functional mode */ - sciREG->PIO0 = (uint32)((uint32)1U << 2U) /* tx pin */ - | (uint32)((uint32)1U << 1U); /* rx pin */ - - /** - set SCI pins default output value */ - sciREG->PIO3 = (uint32)((uint32)0U << 2U) /* tx pin */ - | (uint32)((uint32)0U << 1U); /* rx pin */ - - /** - set SCI pins output direction */ - sciREG->PIO1 = (uint32)((uint32)0U << 2U) /* tx pin */ - | (uint32)((uint32)0U << 1U); /* rx pin */ - - /** - set SCI pins open drain enable */ - sciREG->PIO6 = (uint32)((uint32)0U << 2U) /* tx pin */ - | (uint32)((uint32)0U << 1U); /* rx pin */ - - /** - set SCI pins pullup/pulldown enable */ - sciREG->PIO7 = (uint32)((uint32)0U << 2U) /* tx pin */ - | (uint32)((uint32)0U << 1U); /* rx pin */ - - /** - set SCI pins pullup/pulldown select */ - sciREG->PIO8 = (uint32)((uint32)1U << 2U) /* tx pin */ - | (uint32)((uint32)1U << 1U); /* rx pin */ - - /** - set interrupt level */ - sciREG->SETINTLVL = (uint32)((uint32)0U << 26U) /* Framing error */ - | (uint32)((uint32)0U << 25U) /* Overrun error */ - | (uint32)((uint32)0U << 24U) /* Parity error */ - | (uint32)((uint32)0U << 9U) /* Receive */ - | (uint32)((uint32)0U << 8U) /* Transmit */ - | (uint32)((uint32)0U << 1U) /* Wakeup */ - | (uint32)((uint32)0U << 0U); /* Break detect */ - - /** - set interrupt enable */ - sciREG->SETINT = (uint32)((uint32)0U << 26U) /* Framing error */ - | (uint32)((uint32)0U << 25U) /* Overrun error */ - | (uint32)((uint32)0U << 24U) /* Parity error */ - | (uint32)((uint32)0U << 9U) /* Receive */ - | (uint32)((uint32)0U << 1U) /* Wakeup */ - | (uint32)((uint32)0U << 0U); /* Break detect */ - - /** - initialize global transfer variables */ - g_sciTransfer_t[0U].mode = (uint32)0U << 8U; - g_sciTransfer_t[0U].tx_length = 0U; - g_sciTransfer_t[0U].rx_length = 0U; - - /** - Finaly start SCI */ - sciREG->GCR1 |= 0x80U; - - - - /** @b initialize @b SCILIN */ - - /** - bring SCI out of reset */ - scilinREG->GCR0 = 0U; - scilinREG->GCR0 = 1U; - - /** - Disable all interrupts */ - scilinREG->CLEARINT = 0xFFFFFFFFU; - scilinREG->CLEARINTLVL = 0xFFFFFFFFU; - - /** - global control 1 */ - scilinREG->GCR1 = (uint32)((uint32)1U << 25U) /* enable transmit */ - | (uint32)((uint32)1U << 24U) /* enable receive */ - | (uint32)((uint32)1U << 5U) /* internal clock (device has no clock pin) */ - | (uint32)((uint32)(2U-1U) << 4U) /* number of stop bits */ - | (uint32)((uint32)0U << 3U) /* even parity, otherwise odd */ - | (uint32)((uint32)0U << 2U) /* enable parity */ - | (uint32)((uint32)1U << 1U); /* asynchronous timing mode */ - - /** - set baudrate */ - scilinREG->BRS = 520U; /* baudrate */ - - /** - transmission length */ - scilinREG->FORMAT = 8U - 1U; /* length */ - - /** - set SCI pins functional mode */ - scilinREG->PIO0 = (uint32)((uint32)1U << 2U) /* tx pin */ - | (uint32)((uint32)1U << 1U); /* rx pin */ - - - /** - set SCI pins default output value */ - scilinREG->PIO3 = (uint32)((uint32)0U << 2U) /* tx pin */ - | (uint32)((uint32)0U << 1U); /* rx pin */ - - - /** - set SCI pins output direction */ - scilinREG->PIO1 = (uint32)((uint32)0U << 2U) /* tx pin */ - | (uint32)((uint32)0U << 1U); /* rx pin */ - - - /** - set SCI pins open drain enable */ - scilinREG->PIO6 = (uint32)((uint32)0U << 2U) /* tx pin */ - | (uint32)((uint32)0U << 1U); /* rx pin */ - - - /** - set SCI pins pullup/pulldown enable */ - scilinREG->PIO7 = (uint32)((uint32)0U << 2U) /* tx pin */ - | (uint32)((uint32)0U << 1U); /* rx pin */ - - - /** - set SCI pins pullup/pulldown select */ - scilinREG->PIO8 = (uint32)((uint32)1U << 2U) /* tx pin */ - | (uint32)((uint32)1U << 1U); /* rx pin */ - - - /** - set interrupt level */ - scilinREG->SETINTLVL = (uint32)((uint32)0U << 26U) /* Framing error */ - | (uint32)((uint32)0U << 25U) /* Overrun error */ - | (uint32)((uint32)0U << 24U) /* Parity error */ - | (uint32)((uint32)0U << 9U) /* Receive */ - | (uint32)((uint32)0U << 8U) /* Transmit */ - | (uint32)((uint32)0U << 1U) /* Wakeup */ - | (uint32)((uint32)0U); /* Break detect */ - - /** - set interrupt enable */ - scilinREG->SETINT = (uint32)((uint32)0U << 26U) /* Framing error */ - | (uint32)((uint32)0U << 25U) /* Overrun error */ - | (uint32)((uint32)0U << 24U) /* Parity error */ - | (uint32)((uint32)0U << 9U) /* Receive */ - | (uint32)((uint32)0U << 1U) /* Wakeup */ - | (uint32)((uint32)0U); /* Break detect */ - - /** - initialize global transfer variables */ - g_sciTransfer_t[1U].mode = (uint32)0U << 8U; - g_sciTransfer_t[1U].tx_length = 0U; - g_sciTransfer_t[1U].rx_length = 0U; - - /** - Finaly start SCILIN */ - scilinREG->GCR1 |= 0x80U; - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ -} - - -/** @fn void sciSetFunctional(sciBASE_t *sci, uint32 port) -* @brief Change functional behavior of pins at runtime. -* @param[in] sci - sci module base address -* @param[in] port - Value to write to PIO0 register -* -* Change the value of the PCPIO0 register at runtime, this allows to -* dynamically change the functionality of the SCI pins between functional -* and GIO mode. -*/ -/* SourceId : SCI_SourceId_002 */ -/* DesignId : SCI_DesignId_002 */ -/* Requirements : HL_SR231 */ -void sciSetFunctional(sciBASE_t *sci, uint32 port) -{ -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - - sci->PIO0 = port; - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ -} - - -/** @fn void sciSetBaudrate(sciBASE_t *sci, uint32 baud) -* @brief Change baudrate at runtime. -* @param[in] sci - sci module base address -* @param[in] baud - baudrate in Hz -* -* Change the SCI baudrate at runtime. -*/ -/* SourceId : SCI_SourceId_003 */ -/* DesignId : SCI_DesignId_003 */ -/* Requirements : HL_SR232 */ -void sciSetBaudrate(sciBASE_t *sci, uint32 baud) -{ - float64 vclk = 80.000 * 1000000.0; - uint32 f = ((sci->GCR1 & 2U) == 2U) ? 16U : 1U; - uint32 temp; - float64 temp2; -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - - /*SAFETYMCUSW 96 S MR:6.1 "Calculations including int and float cannot be avoided" */ - temp = (f*(baud)); - temp2 = ((vclk)/((float64)temp))-1U; - temp2 = floor(temp2 + 0.5); /* Rounding-off to the closest integer */ - sci->BRS = (uint32)((uint32)temp2 & 0x00FFFFFFU); - -/* USER CODE BEGIN (7) */ -/* USER CODE END */ -} - - -/** @fn uint32 sciIsTxReady(sciBASE_t *sci) -* @brief Check if Tx buffer empty -* @param[in] sci - sci module base address -* -* @return The TX ready flag -* -* Checks to see if the Tx buffer ready flag is set, returns -* 0 is flags not set otherwise will return the Tx flag itself. -*/ -/* SourceId : SCI_SourceId_004 */ -/* DesignId : SCI_DesignId_004 */ -/* Requirements : HL_SR233 */ -uint32 sciIsTxReady(sciBASE_t *sci) -{ -/* USER CODE BEGIN (8) */ -/* USER CODE END */ - - return sci->FLR & (uint32)SCI_TX_INT; -} - - -/** @fn void sciSendByte(sciBASE_t *sci, uint8 byte) -* @brief Send Byte -* @param[in] sci - sci module base address -* @param[in] byte - byte to transfer -* -* Sends a single byte in polling mode, will wait in the -* routine until the transmit buffer is empty before sending -* the byte. Use sciIsTxReady to check for Tx buffer empty -* before calling sciSendByte to avoid waiting. -*/ -/* SourceId : SCI_SourceId_005 */ -/* DesignId : SCI_DesignId_005 */ -/* Requirements : HL_SR234 */ -void sciSendByte(sciBASE_t *sci, uint8 byte) -{ -/* USER CODE BEGIN (9) */ -/* USER CODE END */ - - /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */ - while ((sci->FLR & (uint32)SCI_TX_INT) == 0U) - { - } /* Wait */ - sci->TD = byte; - -/* USER CODE BEGIN (10) */ -/* USER CODE END */ -} - - -/** @fn void sciSend(sciBASE_t *sci, uint32 length, uint8 * data) -* @brief Send Data -* @param[in] sci - sci module base address -* @param[in] length - number of data words to transfer -* @param[in] data - pointer to data to send -* -* Send a block of data pointed to by 'data' and 'length' bytes -* long. If interrupts have been enabled the data is sent using -* interrupt mode, otherwise polling mode is used. In interrupt -* mode transmission of the first byte is started and the routine -* returns immediately, sciSend must not be called again until the -* transfer is complete, when the sciNotification callback will -* be called. In polling mode, sciSend will not return until -* the transfer is complete. -* -* @note if data word is less than 8 bits, then the data must be left -* aligned in the data byte. -*/ -/* SourceId : SCI_SourceId_006 */ -/* DesignId : SCI_DesignId_006 */ -/* Requirements : HL_SR235 */ -void sciSend(sciBASE_t *sci, uint32 length, uint8 * data) -{ - uint32 index = (sci == sciREG) ? 0U : 1U; - uint8 txdata; - -/* USER CODE BEGIN (11) */ -/* USER CODE END */ -/*SAFETYMCUSW 139 S MR:13.7 "Mode variable is configured in sciEnableNotification()" */ - if ((g_sciTransfer_t[index].mode & (uint32)SCI_TX_INT) != 0U) - { - /* we are in interrupt mode */ - - g_sciTransfer_t[index].tx_length = length; - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - g_sciTransfer_t[index].tx_data = data; - - /* start transmit by sending first byte */ - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - txdata = *g_sciTransfer_t[index].tx_data; - sci->TD = (uint32)(txdata); - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ - g_sciTransfer_t[index].tx_data++; - sci->SETINT = (uint32)SCI_TX_INT; - } - else - { - /* send the data */ - while (length > 0U) - { - /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */ - while ((sci->FLR & (uint32)SCI_TX_INT) == 0U) - { - } /* Wait */ - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - txdata = *data; - sci->TD = (uint32)(txdata); - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ - data++; - length--; - } - } - -/* USER CODE BEGIN (12) */ -/* USER CODE END */ -} - - -/** @fn uint32 sciIsRxReady(sciBASE_t *sci) -* @brief Check if Rx buffer full -* @param[in] sci - sci module base address -* -* @return The Rx ready flag -* -* Checks to see if the Rx buffer full flag is set, returns -* 0 is flags not set otherwise will return the Rx flag itself. -*/ -/* SourceId : SCI_SourceId_007 */ -/* DesignId : SCI_DesignId_007 */ -/* Requirements : HL_SR236 */ -uint32 sciIsRxReady(sciBASE_t *sci) -{ -/* USER CODE BEGIN (13) */ -/* USER CODE END */ - - return sci->FLR & (uint32)SCI_RX_INT; -} - -/** @fn uint32 sciIsIdleDetected(sciBASE_t *sci) -* @brief Check if Idle Period is Detected -* @param[in] sci - sci module base address -* -* @return The Idle flag -* -* Checks to see if the SCI Idle flag is set, returns 0 if idle -* period has been detected and SCI is ready to receive, otherwise returns the Idle flag itself. -*/ -/* SourceId : SCI_SourceId_008 */ -/* DesignId : SCI_DesignId_008 */ -/* Requirements : HL_SR237 */ -uint32 sciIsIdleDetected(sciBASE_t *sci) -{ -/* USER CODE BEGIN (14) */ -/* USER CODE END */ - - return sci->FLR & (uint32)SCI_IDLE; -} - - -/** @fn uint32 sciRxError(sciBASE_t *sci) -* @brief Return Rx Error flags -* @param[in] sci - sci module base address -* -* @return The Rx error flags -* -* Returns the Rx framing, overrun and parity errors flags, -* also clears the error flags before returning. -*/ -/* SourceId : SCI_SourceId_009 */ -/* DesignId : SCI_DesignId_009 */ -/* Requirements : HL_SR238 */ -uint32 sciRxError(sciBASE_t *sci) -{ - uint32 status = (sci->FLR & ((uint32)SCI_FE_INT | (uint32)SCI_OE_INT |(uint32)SCI_PE_INT)); - -/* USER CODE BEGIN (15) */ -/* USER CODE END */ - - sci->FLR = ((uint32)SCI_FE_INT | (uint32)SCI_OE_INT | (uint32)SCI_PE_INT); - return status; -} - - -/** @fn uint32 sciReceiveByte(sciBASE_t *sci) -* @brief Receive Byte -* @param[in] sci - sci module base address -* -* @return Received byte -* -* Receives a single byte in polling mode. If there is -* not a byte in the receive buffer the routine will wait -* until one is received. Use sciIsRxReady to check to -* see if the buffer is full to avoid waiting. -*/ -/* SourceId : SCI_SourceId_010 */ -/* DesignId : SCI_DesignId_010 */ -/* Requirements : HL_SR239 */ -uint32 sciReceiveByte(sciBASE_t *sci) -{ -/* USER CODE BEGIN (16) */ -/* USER CODE END */ - - /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */ - while ((sci->FLR & (uint32)SCI_RX_INT) == 0U) - { - } /* Wait */ - - return (sci->RD & (uint32)0x000000FFU); -} - - -/** @fn void sciReceive(sciBASE_t *sci, uint32 length, uint8 * data) -* @brief Receive Data -* @param[in] sci - sci module base address -* @param[in] length - number of data words to transfer -* @param[in] data - pointer to data buffer to receive data -* -* Receive a block of 'length' bytes long and place it into the -* data buffer pointed to by 'data'. If interrupts have been -* enabled the data is received using interrupt mode, otherwise -* polling mode is used. In interrupt mode receive is setup and -* the routine returns immediately, sciReceive must not be called -* again until the transfer is complete, when the sciNotification -* callback will be called. In polling mode, sciReceive will not -* return until the transfer is complete. -*/ -/* SourceId : SCI_SourceId_011 */ -/* DesignId : SCI_DesignId_011 */ -/* Requirements : HL_SR240 */ -void sciReceive(sciBASE_t *sci, uint32 length, uint8 * data) -{ -/* USER CODE BEGIN (17) */ -/* USER CODE END */ - - if ((sci->SETINT & (uint32)SCI_RX_INT) == (uint32)SCI_RX_INT) - { - /* we are in interrupt mode */ - uint32 index = (sci == sciREG) ? 0U : 1U; - - /* clear error flags */ - sci->FLR = ((uint32) SCI_FE_INT | (uint32) SCI_OE_INT | (uint32) SCI_PE_INT); - - g_sciTransfer_t[index].rx_length = length; - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - g_sciTransfer_t[index].rx_data = data; - } - else - { - while (length > 0U) - { - /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */ - while ((sci->FLR & (uint32)SCI_RX_INT) == 0U) - { - } /* Wait */ - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - *data = (uint8)(sci->RD & 0x000000FFU); - /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ - /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ - data++; - length--; - } - } -/* USER CODE BEGIN (18) */ -/* USER CODE END */ -} - -/** @fn void sciEnableLoopback(sciBASE_t *sci, loopBackType_t Loopbacktype) -* @brief Enable Loopback mode for self test -* @param[in] sci - sci module base address -* @param[in] Loopbacktype - Digital or Analog -* -* This function enables the Loopback mode for self test. -*/ -/* SourceId : SCI_SourceId_012 */ -/* DesignId : SCI_DesignId_014 */ -/* Requirements : HL_SR243 */ -void sciEnableLoopback(sciBASE_t *sci, loopBackType_t Loopbacktype) -{ -/* USER CODE BEGIN (19) */ -/* USER CODE END */ - - /* Clear Loopback incase enabled already */ - sci->IODFTCTRL = 0U; - - /* Enable Loopback either in Analog or Digital Mode */ - sci->IODFTCTRL = (uint32)0x00000A00U - | (uint32)((uint32)Loopbacktype << 1U); - -/* USER CODE BEGIN (20) */ -/* USER CODE END */ -} - -/** @fn void sciDisableLoopback(sciBASE_t *sci) -* @brief Enable Loopback mode for self test -* @param[in] sci - sci module base address -* -* This function disable the Loopback mode. -*/ -/* SourceId : SCI_SourceId_013 */ -/* DesignId : SCI_DesignId_015 */ -/* Requirements : HL_SR244 */ -void sciDisableLoopback(sciBASE_t *sci) -{ -/* USER CODE BEGIN (21) */ -/* USER CODE END */ - - /* Disable Loopback Mode */ - sci->IODFTCTRL = 0x00000500U; - -/* USER CODE BEGIN (22) */ -/* USER CODE END */ -} - -/** @fn sciEnableNotification(sciBASE_t *sci, uint32 flags) -* @brief Enable interrupts -* @param[in] sci - sci module base address -* @param[in] flags - Interrupts to be enabled, can be ored value of: -* SCI_FE_INT - framing error, -* SCI_OE_INT - overrun error, -* SCI_PE_INT - parity error, -* SCI_RX_INT - receive buffer ready, -* SCI_TX_INT - transmit buffer ready, -* SCI_WAKE_INT - wakeup, -* SCI_BREAK_INT - break detect -*/ -/* SourceId : SCI_SourceId_014 */ -/* DesignId : SCI_DesignId_012 */ -/* Requirements : HL_SR241 */ -void sciEnableNotification(sciBASE_t *sci, uint32 flags) -{ - uint32 index = (sci == sciREG) ? 0U : 1U; - -/* USER CODE BEGIN (23) */ -/* USER CODE END */ - - g_sciTransfer_t[index].mode |= (flags & (uint32)SCI_TX_INT); - sci->SETINT = (flags & (uint32)(~(uint32)(SCI_TX_INT))); - -/* USER CODE BEGIN (24) */ -/* USER CODE END */ -} - - -/** @fn sciDisableNotification(sciBASE_t *sci, uint32 flags) -* @brief Disable interrupts -* @param[in] sci - sci module base address -* @param[in] flags - Interrupts to be disabled, can be ored value of: -* SCI_FE_INT - framing error, -* SCI_OE_INT - overrun error, -* SCI_PE_INT - parity error, -* SCI_RX_INT - receive buffer ready, -* SCI_TX_INT - transmit buffer ready, -* SCI_WAKE_INT - wakeup, -* SCI_BREAK_INT - break detect -*/ -/* SourceId : SCI_SourceId_015 */ -/* DesignId : SCI_DesignId_013 */ -/* Requirements : HL_SR242 */ -void sciDisableNotification(sciBASE_t *sci, uint32 flags) -{ - uint32 index = (sci == sciREG) ? 0U : 1U; - -/* USER CODE BEGIN (25) */ -/* USER CODE END */ - - g_sciTransfer_t[index].mode &= (uint32)(~(flags & (uint32)SCI_TX_INT)); - sci->CLEARINT = (flags & (uint32)(~(uint32)(SCI_TX_INT))); - -/* USER CODE BEGIN (26) */ -/* USER CODE END */ -} - -/** @fn sciEnterResetState(sciBASE_t *sci) -* @brief Enter reset state -* @param[in] sci - sci module base address -* @note The SCI should only be configured while in reset state -*/ -/* SourceId : SCI_SourceId_022 */ -/* DesignId : SCI_DesignId_018 */ -/* Requirements : HL_SR548 */ -void sciEnterResetState(sciBASE_t *sci) -{ - sci->GCR1 &= 0xFFFFFF7FU; -} - -/** @fn scixitResetState(sciBASE_t *sci) -* @brief Exit reset state -* @param[in] sci - sci module base address -* @note The SCI should only be configured while in reset state -*/ -/* SourceId : SCI_SourceId_023 */ -/* DesignId : SCI_DesignId_018 */ -/* Requirements : HL_SR548 */ -void sciExitResetState(sciBASE_t *sci) -{ - sci->GCR1 |= 0x00000080U; -} - -/** @fn void sciGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the SCI configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : SCI_SourceId_016 */ -/* DesignId : SCI_DesignId_016 */ -/* Requirements : HL_SR247 */ -void sciGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_GCR0 = SCI_GCR0_CONFIGVALUE; - config_reg->CONFIG_GCR1 = SCI_GCR1_CONFIGVALUE; - config_reg->CONFIG_SETINT = SCI_SETINT_CONFIGVALUE; - config_reg->CONFIG_SETINTLVL = SCI_SETINTLVL_CONFIGVALUE; - config_reg->CONFIG_FORMAT = SCI_FORMAT_CONFIGVALUE; - config_reg->CONFIG_BRS = SCI_BRS_CONFIGVALUE; - config_reg->CONFIG_PIO0 = SCI_PIO0_CONFIGVALUE; - config_reg->CONFIG_PIO1 = SCI_PIO1_CONFIGVALUE; - config_reg->CONFIG_PIO6 = SCI_PIO6_CONFIGVALUE; - config_reg->CONFIG_PIO7 = SCI_PIO7_CONFIGVALUE; - config_reg->CONFIG_PIO8 = SCI_PIO8_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_GCR0 = sciREG->GCR0; - config_reg->CONFIG_GCR1 = sciREG->GCR1; - config_reg->CONFIG_SETINT = sciREG->SETINT; - config_reg->CONFIG_SETINTLVL = sciREG->SETINTLVL; - config_reg->CONFIG_FORMAT = sciREG->FORMAT; - config_reg->CONFIG_BRS = sciREG->BRS; - config_reg->CONFIG_PIO0 = sciREG->PIO0; - config_reg->CONFIG_PIO1 = sciREG->PIO1; - config_reg->CONFIG_PIO6 = sciREG->PIO6; - config_reg->CONFIG_PIO7 = sciREG->PIO7; - config_reg->CONFIG_PIO8 = sciREG->PIO8; - } -} - -/** @fn void scilinGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the SCILIN ( SCI2) configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : SCI_SourceId_017 */ -/* DesignId : SCI_DesignId_016 */ -/* Requirements : HL_SR247 */ -void scilinGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_GCR0 = SCILIN_GCR0_CONFIGVALUE; - config_reg->CONFIG_GCR1 = SCILIN_GCR1_CONFIGVALUE; - config_reg->CONFIG_SETINT = SCILIN_SETINT_CONFIGVALUE; - config_reg->CONFIG_SETINTLVL = SCILIN_SETINTLVL_CONFIGVALUE; - config_reg->CONFIG_FORMAT = SCILIN_FORMAT_CONFIGVALUE; - config_reg->CONFIG_BRS = SCILIN_BRS_CONFIGVALUE; - config_reg->CONFIG_PIO0 = SCILIN_PIO0_CONFIGVALUE; - config_reg->CONFIG_PIO1 = SCILIN_PIO1_CONFIGVALUE; - config_reg->CONFIG_PIO6 = SCILIN_PIO6_CONFIGVALUE; - config_reg->CONFIG_PIO7 = SCILIN_PIO7_CONFIGVALUE; - config_reg->CONFIG_PIO8 = SCILIN_PIO8_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_GCR0 = scilinREG->GCR0; - config_reg->CONFIG_GCR1 = scilinREG->GCR1; - config_reg->CONFIG_SETINT = scilinREG->SETINT; - config_reg->CONFIG_SETINTLVL = scilinREG->SETINTLVL; - config_reg->CONFIG_FORMAT = scilinREG->FORMAT; - config_reg->CONFIG_BRS = scilinREG->BRS; - config_reg->CONFIG_PIO0 = scilinREG->PIO0; - config_reg->CONFIG_PIO1 = scilinREG->PIO1; - config_reg->CONFIG_PIO6 = scilinREG->PIO6; - config_reg->CONFIG_PIO7 = scilinREG->PIO7; - config_reg->CONFIG_PIO8 = scilinREG->PIO8; - } -} - - -/** @fn void linHighLevelInterrupt(void) -* @brief Level 0 Interrupt for SCILIN -*/ -#pragma CODE_STATE(linHighLevelInterrupt, 32) -#pragma INTERRUPT(linHighLevelInterrupt, IRQ) - -/* SourceId : SCI_SourceId_021 */ -/* DesignId : SCI_DesignId_017 */ -/* Requirements : HL_SR245, HL_SR246 */ -void linHighLevelInterrupt(void) -{ - uint32 vec = scilinREG->INTVECT0; - uint8 byte; -/* USER CODE BEGIN (35) */ -/* USER CODE END */ - - switch (vec) - { - case 1U: - sciNotification(scilinREG, (uint32)SCI_WAKE_INT); - break; - case 3U: - sciNotification(scilinREG, (uint32)SCI_PE_INT); - break; - case 6U: - sciNotification(scilinREG, (uint32)SCI_FE_INT); - break; - case 7U: - sciNotification(scilinREG, (uint32)SCI_BREAK_INT); - break; - case 9U: - sciNotification(scilinREG, (uint32)SCI_OE_INT); - break; - - case 11U: - /* receive */ - byte = (uint8)(scilinREG->RD & 0x000000FFU); - - if (g_sciTransfer_t[1U].rx_length > 0U) - { - *g_sciTransfer_t[1U].rx_data = byte; - /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ - g_sciTransfer_t[1U].rx_data++; - g_sciTransfer_t[1U].rx_length--; - if (g_sciTransfer_t[1U].rx_length == 0U) - { - sciNotification(scilinREG, (uint32)SCI_RX_INT); - } - } - break; - - case 12U: - /* transmit */ - /*SAFETYMCUSW 30 S MR:12.2,12.3 "Used for data count in Transmit/Receive polling and Interrupt mode" */ - --g_sciTransfer_t[1U].tx_length; - if (g_sciTransfer_t[1U].tx_length > 0U) - { - uint8 txdata = *g_sciTransfer_t[1U].tx_data; - scilinREG->TD = (uint32)(txdata); - /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ - g_sciTransfer_t[1U].tx_data++; - } - else - { - scilinREG->CLEARINT = (uint32)SCI_TX_INT; - sciNotification(scilinREG, (uint32)SCI_TX_INT); - } - break; - - default: - /* phantom interrupt, clear flags and return */ - scilinREG->FLR = ~scilinREG->SETINTLVL & 0x07000303U; - break; - } -/* USER CODE BEGIN (36) */ -/* USER CODE END */ -} -/* USER CODE BEGIN (37) */ -/* USER CODE END */ - +/** @file sci.c +* @brief SCI Driver Implementation File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +#include "sci.h" +#include "sys_vim.h" +#include "math.h" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ +/** @struct g_sciTransfer +* @brief Interrupt mode globals +* +*/ +static volatile struct g_sciTransfer +{ + uint32 mode; /* Used to check for TX interrupt Enable */ + uint32 tx_length; /* Transmit data length in number of Bytes */ + uint32 rx_length; /* Receive data length in number of Bytes */ + uint8 * tx_data; /* Transmit data pointer */ + uint8 * rx_data; /* Receive data pointer */ +} g_sciTransfer_t[2U]; + + +/** @fn void sciInit(void) +* @brief Initializes the SCI Driver +* +* This function initializes the SCI module. +*/ +/* SourceId : SCI_SourceId_001 */ +/* DesignId : SCI_DesignId_001 */ +/* Requirements : HL_SR230 */ +void sciInit(void) +{ +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + + /** @b initialize @b SCI */ + + /** - bring SCI out of reset */ + sciREG->GCR0 = 0U; + sciREG->GCR0 = 1U; + + /** - Disable all interrupts */ + sciREG->CLEARINT = 0xFFFFFFFFU; + sciREG->CLEARINTLVL = 0xFFFFFFFFU; + + /** - global control 1 */ + sciREG->GCR1 = (uint32)((uint32)1U << 25U) /* enable transmit */ + | (uint32)((uint32)1U << 24U) /* enable receive */ + | (uint32)((uint32)1U << 5U) /* internal clock (device has no clock pin) */ + | (uint32)((uint32)(2U-1U) << 4U) /* number of stop bits */ + | (uint32)((uint32)0U << 3U) /* even parity, otherwise odd */ + | (uint32)((uint32)0U << 2U) /* enable parity */ + | (uint32)((uint32)1U << 1U); /* asynchronous timing mode */ + + /** - set baudrate */ + sciREG->BRS = 520U; /* baudrate */ + + /** - transmission length */ + sciREG->FORMAT = 8U - 1U; /* length */ + + /** - set SCI pins functional mode */ + sciREG->PIO0 = (uint32)((uint32)1U << 2U) /* tx pin */ + | (uint32)((uint32)1U << 1U); /* rx pin */ + + /** - set SCI pins default output value */ + sciREG->PIO3 = (uint32)((uint32)0U << 2U) /* tx pin */ + | (uint32)((uint32)0U << 1U); /* rx pin */ + + /** - set SCI pins output direction */ + sciREG->PIO1 = (uint32)((uint32)0U << 2U) /* tx pin */ + | (uint32)((uint32)0U << 1U); /* rx pin */ + + /** - set SCI pins open drain enable */ + sciREG->PIO6 = (uint32)((uint32)0U << 2U) /* tx pin */ + | (uint32)((uint32)0U << 1U); /* rx pin */ + + /** - set SCI pins pullup/pulldown enable */ + sciREG->PIO7 = (uint32)((uint32)0U << 2U) /* tx pin */ + | (uint32)((uint32)0U << 1U); /* rx pin */ + + /** - set SCI pins pullup/pulldown select */ + sciREG->PIO8 = (uint32)((uint32)1U << 2U) /* tx pin */ + | (uint32)((uint32)1U << 1U); /* rx pin */ + + /** - set interrupt level */ + sciREG->SETINTLVL = (uint32)((uint32)0U << 26U) /* Framing error */ + | (uint32)((uint32)0U << 25U) /* Overrun error */ + | (uint32)((uint32)0U << 24U) /* Parity error */ + | (uint32)((uint32)0U << 9U) /* Receive */ + | (uint32)((uint32)0U << 8U) /* Transmit */ + | (uint32)((uint32)0U << 1U) /* Wakeup */ + | (uint32)((uint32)0U << 0U); /* Break detect */ + + /** - set interrupt enable */ + sciREG->SETINT = (uint32)((uint32)0U << 26U) /* Framing error */ + | (uint32)((uint32)0U << 25U) /* Overrun error */ + | (uint32)((uint32)0U << 24U) /* Parity error */ + | (uint32)((uint32)0U << 9U) /* Receive */ + | (uint32)((uint32)0U << 1U) /* Wakeup */ + | (uint32)((uint32)0U << 0U); /* Break detect */ + + /** - initialize global transfer variables */ + g_sciTransfer_t[0U].mode = (uint32)0U << 8U; + g_sciTransfer_t[0U].tx_length = 0U; + g_sciTransfer_t[0U].rx_length = 0U; + + /** - Finaly start SCI */ + sciREG->GCR1 |= 0x80U; + + + + /** @b initialize @b SCILIN */ + + /** - bring SCI out of reset */ + scilinREG->GCR0 = 0U; + scilinREG->GCR0 = 1U; + + /** - Disable all interrupts */ + scilinREG->CLEARINT = 0xFFFFFFFFU; + scilinREG->CLEARINTLVL = 0xFFFFFFFFU; + + /** - global control 1 */ + scilinREG->GCR1 = (uint32)((uint32)1U << 25U) /* enable transmit */ + | (uint32)((uint32)1U << 24U) /* enable receive */ + | (uint32)((uint32)1U << 5U) /* internal clock (device has no clock pin) */ + | (uint32)((uint32)(2U-1U) << 4U) /* number of stop bits */ + | (uint32)((uint32)0U << 3U) /* even parity, otherwise odd */ + | (uint32)((uint32)0U << 2U) /* enable parity */ + | (uint32)((uint32)1U << 1U); /* asynchronous timing mode */ + + /** - set baudrate */ + scilinREG->BRS = 520U; /* baudrate */ + + /** - transmission length */ + scilinREG->FORMAT = 8U - 1U; /* length */ + + /** - set SCI pins functional mode */ + scilinREG->PIO0 = (uint32)((uint32)1U << 2U) /* tx pin */ + | (uint32)((uint32)1U << 1U); /* rx pin */ + + + /** - set SCI pins default output value */ + scilinREG->PIO3 = (uint32)((uint32)0U << 2U) /* tx pin */ + | (uint32)((uint32)0U << 1U); /* rx pin */ + + + /** - set SCI pins output direction */ + scilinREG->PIO1 = (uint32)((uint32)0U << 2U) /* tx pin */ + | (uint32)((uint32)0U << 1U); /* rx pin */ + + + /** - set SCI pins open drain enable */ + scilinREG->PIO6 = (uint32)((uint32)0U << 2U) /* tx pin */ + | (uint32)((uint32)0U << 1U); /* rx pin */ + + + /** - set SCI pins pullup/pulldown enable */ + scilinREG->PIO7 = (uint32)((uint32)0U << 2U) /* tx pin */ + | (uint32)((uint32)0U << 1U); /* rx pin */ + + + /** - set SCI pins pullup/pulldown select */ + scilinREG->PIO8 = (uint32)((uint32)1U << 2U) /* tx pin */ + | (uint32)((uint32)1U << 1U); /* rx pin */ + + + /** - set interrupt level */ + scilinREG->SETINTLVL = (uint32)((uint32)0U << 26U) /* Framing error */ + | (uint32)((uint32)0U << 25U) /* Overrun error */ + | (uint32)((uint32)0U << 24U) /* Parity error */ + | (uint32)((uint32)0U << 9U) /* Receive */ + | (uint32)((uint32)0U << 8U) /* Transmit */ + | (uint32)((uint32)0U << 1U) /* Wakeup */ + | (uint32)((uint32)0U); /* Break detect */ + + /** - set interrupt enable */ + scilinREG->SETINT = (uint32)((uint32)0U << 26U) /* Framing error */ + | (uint32)((uint32)0U << 25U) /* Overrun error */ + | (uint32)((uint32)0U << 24U) /* Parity error */ + | (uint32)((uint32)0U << 9U) /* Receive */ + | (uint32)((uint32)0U << 1U) /* Wakeup */ + | (uint32)((uint32)0U); /* Break detect */ + + /** - initialize global transfer variables */ + g_sciTransfer_t[1U].mode = (uint32)0U << 8U; + g_sciTransfer_t[1U].tx_length = 0U; + g_sciTransfer_t[1U].rx_length = 0U; + + /** - Finaly start SCILIN */ + scilinREG->GCR1 |= 0x80U; + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ +} + + +/** @fn void sciSetFunctional(sciBASE_t *sci, uint32 port) +* @brief Change functional behavior of pins at runtime. +* @param[in] sci - sci module base address +* @param[in] port - Value to write to PIO0 register +* +* Change the value of the PCPIO0 register at runtime, this allows to +* dynamically change the functionality of the SCI pins between functional +* and GIO mode. +*/ +/* SourceId : SCI_SourceId_002 */ +/* DesignId : SCI_DesignId_002 */ +/* Requirements : HL_SR231 */ +void sciSetFunctional(sciBASE_t *sci, uint32 port) +{ +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + + sci->PIO0 = port; + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ +} + + +/** @fn void sciSetBaudrate(sciBASE_t *sci, uint32 baud) +* @brief Change baudrate at runtime. +* @param[in] sci - sci module base address +* @param[in] baud - baudrate in Hz +* +* Change the SCI baudrate at runtime. +*/ +/* SourceId : SCI_SourceId_003 */ +/* DesignId : SCI_DesignId_003 */ +/* Requirements : HL_SR232 */ +void sciSetBaudrate(sciBASE_t *sci, uint32 baud) +{ + float64 vclk = 80.000 * 1000000.0; + uint32 f = ((sci->GCR1 & 2U) == 2U) ? 16U : 1U; + uint32 temp; + float64 temp2; +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + + /*SAFETYMCUSW 96 S MR:6.1 "Calculations including int and float cannot be avoided" */ + temp = (f*(baud)); + temp2 = ((vclk)/((float64)temp))-1U; + temp2 = floor(temp2 + 0.5); /* Rounding-off to the closest integer */ + sci->BRS = (uint32)((uint32)temp2 & 0x00FFFFFFU); + +/* USER CODE BEGIN (7) */ +/* USER CODE END */ +} + + +/** @fn uint32 sciIsTxReady(sciBASE_t *sci) +* @brief Check if Tx buffer empty +* @param[in] sci - sci module base address +* +* @return The TX ready flag +* +* Checks to see if the Tx buffer ready flag is set, returns +* 0 is flags not set otherwise will return the Tx flag itself. +*/ +/* SourceId : SCI_SourceId_004 */ +/* DesignId : SCI_DesignId_004 */ +/* Requirements : HL_SR233 */ +uint32 sciIsTxReady(sciBASE_t *sci) +{ +/* USER CODE BEGIN (8) */ +/* USER CODE END */ + + return sci->FLR & (uint32)SCI_TX_INT; +} + + +/** @fn void sciSendByte(sciBASE_t *sci, uint8 byte) +* @brief Send Byte +* @param[in] sci - sci module base address +* @param[in] byte - byte to transfer +* +* Sends a single byte in polling mode, will wait in the +* routine until the transmit buffer is empty before sending +* the byte. Use sciIsTxReady to check for Tx buffer empty +* before calling sciSendByte to avoid waiting. +*/ +/* SourceId : SCI_SourceId_005 */ +/* DesignId : SCI_DesignId_005 */ +/* Requirements : HL_SR234 */ +void sciSendByte(sciBASE_t *sci, uint8 byte) +{ +/* USER CODE BEGIN (9) */ +/* USER CODE END */ + + /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */ + while ((sci->FLR & (uint32)SCI_TX_INT) == 0U) + { + } /* Wait */ + sci->TD = byte; + +/* USER CODE BEGIN (10) */ +/* USER CODE END */ +} + + +/** @fn void sciSend(sciBASE_t *sci, uint32 length, uint8 * data) +* @brief Send Data +* @param[in] sci - sci module base address +* @param[in] length - number of data words to transfer +* @param[in] data - pointer to data to send +* +* Send a block of data pointed to by 'data' and 'length' bytes +* long. If interrupts have been enabled the data is sent using +* interrupt mode, otherwise polling mode is used. In interrupt +* mode transmission of the first byte is started and the routine +* returns immediately, sciSend must not be called again until the +* transfer is complete, when the sciNotification callback will +* be called. In polling mode, sciSend will not return until +* the transfer is complete. +* +* @note if data word is less than 8 bits, then the data must be left +* aligned in the data byte. +*/ +/* SourceId : SCI_SourceId_006 */ +/* DesignId : SCI_DesignId_006 */ +/* Requirements : HL_SR235 */ +void sciSend(sciBASE_t *sci, uint32 length, uint8 * data) +{ + uint32 index = (sci == sciREG) ? 0U : 1U; + uint8 txdata; + +/* USER CODE BEGIN (11) */ +/* USER CODE END */ +/*SAFETYMCUSW 139 S MR:13.7 "Mode variable is configured in sciEnableNotification()" */ + if ((g_sciTransfer_t[index].mode & (uint32)SCI_TX_INT) != 0U) + { + /* we are in interrupt mode */ + + g_sciTransfer_t[index].tx_length = length; + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + g_sciTransfer_t[index].tx_data = data; + + /* start transmit by sending first byte */ + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + txdata = *g_sciTransfer_t[index].tx_data; + sci->TD = (uint32)(txdata); + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ + g_sciTransfer_t[index].tx_data++; + sci->SETINT = (uint32)SCI_TX_INT; + } + else + { + /* send the data */ + while (length > 0U) + { + /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */ + while ((sci->FLR & (uint32)SCI_TX_INT) == 0U) + { + } /* Wait */ + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + txdata = *data; + sci->TD = (uint32)(txdata); + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ + data++; + length--; + } + } + +/* USER CODE BEGIN (12) */ +/* USER CODE END */ +} + + +/** @fn uint32 sciIsRxReady(sciBASE_t *sci) +* @brief Check if Rx buffer full +* @param[in] sci - sci module base address +* +* @return The Rx ready flag +* +* Checks to see if the Rx buffer full flag is set, returns +* 0 is flags not set otherwise will return the Rx flag itself. +*/ +/* SourceId : SCI_SourceId_007 */ +/* DesignId : SCI_DesignId_007 */ +/* Requirements : HL_SR236 */ +uint32 sciIsRxReady(sciBASE_t *sci) +{ +/* USER CODE BEGIN (13) */ +/* USER CODE END */ + + return sci->FLR & (uint32)SCI_RX_INT; +} + +/** @fn uint32 sciIsIdleDetected(sciBASE_t *sci) +* @brief Check if Idle Period is Detected +* @param[in] sci - sci module base address +* +* @return The Idle flag +* +* Checks to see if the SCI Idle flag is set, returns 0 if idle +* period has been detected and SCI is ready to receive, otherwise returns the Idle flag itself. +*/ +/* SourceId : SCI_SourceId_008 */ +/* DesignId : SCI_DesignId_008 */ +/* Requirements : HL_SR237 */ +uint32 sciIsIdleDetected(sciBASE_t *sci) +{ +/* USER CODE BEGIN (14) */ +/* USER CODE END */ + + return sci->FLR & (uint32)SCI_IDLE; +} + + +/** @fn uint32 sciRxError(sciBASE_t *sci) +* @brief Return Rx Error flags +* @param[in] sci - sci module base address +* +* @return The Rx error flags +* +* Returns the Rx framing, overrun and parity errors flags, +* also clears the error flags before returning. +*/ +/* SourceId : SCI_SourceId_009 */ +/* DesignId : SCI_DesignId_009 */ +/* Requirements : HL_SR238 */ +uint32 sciRxError(sciBASE_t *sci) +{ + uint32 status = (sci->FLR & ((uint32)SCI_FE_INT | (uint32)SCI_OE_INT |(uint32)SCI_PE_INT)); + +/* USER CODE BEGIN (15) */ +/* USER CODE END */ + + sci->FLR = ((uint32)SCI_FE_INT | (uint32)SCI_OE_INT | (uint32)SCI_PE_INT); + return status; +} + + +/** @fn uint32 sciReceiveByte(sciBASE_t *sci) +* @brief Receive Byte +* @param[in] sci - sci module base address +* +* @return Received byte +* +* Receives a single byte in polling mode. If there is +* not a byte in the receive buffer the routine will wait +* until one is received. Use sciIsRxReady to check to +* see if the buffer is full to avoid waiting. +*/ +/* SourceId : SCI_SourceId_010 */ +/* DesignId : SCI_DesignId_010 */ +/* Requirements : HL_SR239 */ +uint32 sciReceiveByte(sciBASE_t *sci) +{ +/* USER CODE BEGIN (16) */ +/* USER CODE END */ + + /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */ + while ((sci->FLR & (uint32)SCI_RX_INT) == 0U) + { + } /* Wait */ + + return (sci->RD & (uint32)0x000000FFU); +} + + +/** @fn void sciReceive(sciBASE_t *sci, uint32 length, uint8 * data) +* @brief Receive Data +* @param[in] sci - sci module base address +* @param[in] length - number of data words to transfer +* @param[in] data - pointer to data buffer to receive data +* +* Receive a block of 'length' bytes long and place it into the +* data buffer pointed to by 'data'. If interrupts have been +* enabled the data is received using interrupt mode, otherwise +* polling mode is used. In interrupt mode receive is setup and +* the routine returns immediately, sciReceive must not be called +* again until the transfer is complete, when the sciNotification +* callback will be called. In polling mode, sciReceive will not +* return until the transfer is complete. +*/ +/* SourceId : SCI_SourceId_011 */ +/* DesignId : SCI_DesignId_011 */ +/* Requirements : HL_SR240 */ +void sciReceive(sciBASE_t *sci, uint32 length, uint8 * data) +{ +/* USER CODE BEGIN (17) */ +/* USER CODE END */ + + if ((sci->SETINT & (uint32)SCI_RX_INT) == (uint32)SCI_RX_INT) + { + /* we are in interrupt mode */ + uint32 index = (sci == sciREG) ? 0U : 1U; + + /* clear error flags */ + sci->FLR = ((uint32) SCI_FE_INT | (uint32) SCI_OE_INT | (uint32) SCI_PE_INT); + + g_sciTransfer_t[index].rx_length = length; + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + g_sciTransfer_t[index].rx_data = data; + } + else + { + while (length > 0U) + { + /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */ + while ((sci->FLR & (uint32)SCI_RX_INT) == 0U) + { + } /* Wait */ + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + *data = (uint8)(sci->RD & 0x000000FFU); + /*SAFETYMCUSW 45 D MR:21.1 "Valid non NULL input parameters are only allowed in this driver" */ + /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ + data++; + length--; + } + } +/* USER CODE BEGIN (18) */ +/* USER CODE END */ +} + +/** @fn void sciEnableLoopback(sciBASE_t *sci, loopBackType_t Loopbacktype) +* @brief Enable Loopback mode for self test +* @param[in] sci - sci module base address +* @param[in] Loopbacktype - Digital or Analog +* +* This function enables the Loopback mode for self test. +*/ +/* SourceId : SCI_SourceId_012 */ +/* DesignId : SCI_DesignId_014 */ +/* Requirements : HL_SR243 */ +void sciEnableLoopback(sciBASE_t *sci, loopBackType_t Loopbacktype) +{ +/* USER CODE BEGIN (19) */ +/* USER CODE END */ + + /* Clear Loopback incase enabled already */ + sci->IODFTCTRL = 0U; + + /* Enable Loopback either in Analog or Digital Mode */ + sci->IODFTCTRL = (uint32)0x00000A00U + | (uint32)((uint32)Loopbacktype << 1U); + +/* USER CODE BEGIN (20) */ +/* USER CODE END */ +} + +/** @fn void sciDisableLoopback(sciBASE_t *sci) +* @brief Enable Loopback mode for self test +* @param[in] sci - sci module base address +* +* This function disable the Loopback mode. +*/ +/* SourceId : SCI_SourceId_013 */ +/* DesignId : SCI_DesignId_015 */ +/* Requirements : HL_SR244 */ +void sciDisableLoopback(sciBASE_t *sci) +{ +/* USER CODE BEGIN (21) */ +/* USER CODE END */ + + /* Disable Loopback Mode */ + sci->IODFTCTRL = 0x00000500U; + +/* USER CODE BEGIN (22) */ +/* USER CODE END */ +} + +/** @fn sciEnableNotification(sciBASE_t *sci, uint32 flags) +* @brief Enable interrupts +* @param[in] sci - sci module base address +* @param[in] flags - Interrupts to be enabled, can be ored value of: +* SCI_FE_INT - framing error, +* SCI_OE_INT - overrun error, +* SCI_PE_INT - parity error, +* SCI_RX_INT - receive buffer ready, +* SCI_TX_INT - transmit buffer ready, +* SCI_WAKE_INT - wakeup, +* SCI_BREAK_INT - break detect +*/ +/* SourceId : SCI_SourceId_014 */ +/* DesignId : SCI_DesignId_012 */ +/* Requirements : HL_SR241 */ +void sciEnableNotification(sciBASE_t *sci, uint32 flags) +{ + uint32 index = (sci == sciREG) ? 0U : 1U; + +/* USER CODE BEGIN (23) */ +/* USER CODE END */ + + g_sciTransfer_t[index].mode |= (flags & (uint32)SCI_TX_INT); + sci->SETINT = (flags & (uint32)(~(uint32)(SCI_TX_INT))); + +/* USER CODE BEGIN (24) */ +/* USER CODE END */ +} + + +/** @fn sciDisableNotification(sciBASE_t *sci, uint32 flags) +* @brief Disable interrupts +* @param[in] sci - sci module base address +* @param[in] flags - Interrupts to be disabled, can be ored value of: +* SCI_FE_INT - framing error, +* SCI_OE_INT - overrun error, +* SCI_PE_INT - parity error, +* SCI_RX_INT - receive buffer ready, +* SCI_TX_INT - transmit buffer ready, +* SCI_WAKE_INT - wakeup, +* SCI_BREAK_INT - break detect +*/ +/* SourceId : SCI_SourceId_015 */ +/* DesignId : SCI_DesignId_013 */ +/* Requirements : HL_SR242 */ +void sciDisableNotification(sciBASE_t *sci, uint32 flags) +{ + uint32 index = (sci == sciREG) ? 0U : 1U; + +/* USER CODE BEGIN (25) */ +/* USER CODE END */ + + g_sciTransfer_t[index].mode &= (uint32)(~(flags & (uint32)SCI_TX_INT)); + sci->CLEARINT = (flags & (uint32)(~(uint32)(SCI_TX_INT))); + +/* USER CODE BEGIN (26) */ +/* USER CODE END */ +} + +/** @fn sciEnterResetState(sciBASE_t *sci) +* @brief Enter reset state +* @param[in] sci - sci module base address +* @note The SCI should only be configured while in reset state +*/ +/* SourceId : SCI_SourceId_022 */ +/* DesignId : SCI_DesignId_018 */ +/* Requirements : HL_SR548 */ +void sciEnterResetState(sciBASE_t *sci) +{ + sci->GCR1 &= 0xFFFFFF7FU; +} + +/** @fn scixitResetState(sciBASE_t *sci) +* @brief Exit reset state +* @param[in] sci - sci module base address +* @note The SCI should only be configured while in reset state +*/ +/* SourceId : SCI_SourceId_023 */ +/* DesignId : SCI_DesignId_018 */ +/* Requirements : HL_SR548 */ +void sciExitResetState(sciBASE_t *sci) +{ + sci->GCR1 |= 0x00000080U; +} + +/** @fn void sciGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the SCI configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : SCI_SourceId_016 */ +/* DesignId : SCI_DesignId_016 */ +/* Requirements : HL_SR247 */ +void sciGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_GCR0 = SCI_GCR0_CONFIGVALUE; + config_reg->CONFIG_GCR1 = SCI_GCR1_CONFIGVALUE; + config_reg->CONFIG_SETINT = SCI_SETINT_CONFIGVALUE; + config_reg->CONFIG_SETINTLVL = SCI_SETINTLVL_CONFIGVALUE; + config_reg->CONFIG_FORMAT = SCI_FORMAT_CONFIGVALUE; + config_reg->CONFIG_BRS = SCI_BRS_CONFIGVALUE; + config_reg->CONFIG_PIO0 = SCI_PIO0_CONFIGVALUE; + config_reg->CONFIG_PIO1 = SCI_PIO1_CONFIGVALUE; + config_reg->CONFIG_PIO6 = SCI_PIO6_CONFIGVALUE; + config_reg->CONFIG_PIO7 = SCI_PIO7_CONFIGVALUE; + config_reg->CONFIG_PIO8 = SCI_PIO8_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_GCR0 = sciREG->GCR0; + config_reg->CONFIG_GCR1 = sciREG->GCR1; + config_reg->CONFIG_SETINT = sciREG->SETINT; + config_reg->CONFIG_SETINTLVL = sciREG->SETINTLVL; + config_reg->CONFIG_FORMAT = sciREG->FORMAT; + config_reg->CONFIG_BRS = sciREG->BRS; + config_reg->CONFIG_PIO0 = sciREG->PIO0; + config_reg->CONFIG_PIO1 = sciREG->PIO1; + config_reg->CONFIG_PIO6 = sciREG->PIO6; + config_reg->CONFIG_PIO7 = sciREG->PIO7; + config_reg->CONFIG_PIO8 = sciREG->PIO8; + } +} + +/** @fn void scilinGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the SCILIN ( SCI2) configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : SCI_SourceId_017 */ +/* DesignId : SCI_DesignId_016 */ +/* Requirements : HL_SR247 */ +void scilinGetConfigValue(sci_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_GCR0 = SCILIN_GCR0_CONFIGVALUE; + config_reg->CONFIG_GCR1 = SCILIN_GCR1_CONFIGVALUE; + config_reg->CONFIG_SETINT = SCILIN_SETINT_CONFIGVALUE; + config_reg->CONFIG_SETINTLVL = SCILIN_SETINTLVL_CONFIGVALUE; + config_reg->CONFIG_FORMAT = SCILIN_FORMAT_CONFIGVALUE; + config_reg->CONFIG_BRS = SCILIN_BRS_CONFIGVALUE; + config_reg->CONFIG_PIO0 = SCILIN_PIO0_CONFIGVALUE; + config_reg->CONFIG_PIO1 = SCILIN_PIO1_CONFIGVALUE; + config_reg->CONFIG_PIO6 = SCILIN_PIO6_CONFIGVALUE; + config_reg->CONFIG_PIO7 = SCILIN_PIO7_CONFIGVALUE; + config_reg->CONFIG_PIO8 = SCILIN_PIO8_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_GCR0 = scilinREG->GCR0; + config_reg->CONFIG_GCR1 = scilinREG->GCR1; + config_reg->CONFIG_SETINT = scilinREG->SETINT; + config_reg->CONFIG_SETINTLVL = scilinREG->SETINTLVL; + config_reg->CONFIG_FORMAT = scilinREG->FORMAT; + config_reg->CONFIG_BRS = scilinREG->BRS; + config_reg->CONFIG_PIO0 = scilinREG->PIO0; + config_reg->CONFIG_PIO1 = scilinREG->PIO1; + config_reg->CONFIG_PIO6 = scilinREG->PIO6; + config_reg->CONFIG_PIO7 = scilinREG->PIO7; + config_reg->CONFIG_PIO8 = scilinREG->PIO8; + } +} + + +/** @fn void linHighLevelInterrupt(void) +* @brief Level 0 Interrupt for SCILIN +*/ +#pragma CODE_STATE(linHighLevelInterrupt, 32) +#pragma INTERRUPT(linHighLevelInterrupt, IRQ) + +/* SourceId : SCI_SourceId_021 */ +/* DesignId : SCI_DesignId_017 */ +/* Requirements : HL_SR245, HL_SR246 */ +void linHighLevelInterrupt(void) +{ + uint32 vec = scilinREG->INTVECT0; + uint8 byte; +/* USER CODE BEGIN (35) */ +/* USER CODE END */ + + switch (vec) + { + case 1U: + sciNotification(scilinREG, (uint32)SCI_WAKE_INT); + break; + case 3U: + sciNotification(scilinREG, (uint32)SCI_PE_INT); + break; + case 6U: + sciNotification(scilinREG, (uint32)SCI_FE_INT); + break; + case 7U: + sciNotification(scilinREG, (uint32)SCI_BREAK_INT); + break; + case 9U: + sciNotification(scilinREG, (uint32)SCI_OE_INT); + break; + + case 11U: + /* receive */ + byte = (uint8)(scilinREG->RD & 0x000000FFU); + + if (g_sciTransfer_t[1U].rx_length > 0U) + { + *g_sciTransfer_t[1U].rx_data = byte; + /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ + g_sciTransfer_t[1U].rx_data++; + g_sciTransfer_t[1U].rx_length--; + if (g_sciTransfer_t[1U].rx_length == 0U) + { + sciNotification(scilinREG, (uint32)SCI_RX_INT); + } + } + break; + + case 12U: + /* transmit */ + /*SAFETYMCUSW 30 S MR:12.2,12.3 "Used for data count in Transmit/Receive polling and Interrupt mode" */ + --g_sciTransfer_t[1U].tx_length; + if (g_sciTransfer_t[1U].tx_length > 0U) + { + uint8 txdata = *g_sciTransfer_t[1U].tx_data; + scilinREG->TD = (uint32)(txdata); + /*SAFETYMCUSW 567 S MR:17.1,17.4 "Pointer increment needed" */ + g_sciTransfer_t[1U].tx_data++; + } + else + { + scilinREG->CLEARINT = (uint32)SCI_TX_INT; + sciNotification(scilinREG, (uint32)SCI_TX_INT); + } + break; + + default: + /* phantom interrupt, clear flags and return */ + scilinREG->FLR = ~scilinREG->SETINTLVL & 0x07000303U; + break; + } +/* USER CODE BEGIN (36) */ +/* USER CODE END */ +} +/* USER CODE BEGIN (37) */ +/* USER CODE END */ + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_core.asm b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_core.asm index 05463f2e..dc0ebe7a 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_core.asm +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_core.asm @@ -1,734 +1,734 @@ -;------------------------------------------------------------------------------- -; sys_core.asm -; -; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -; -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; -; Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; -; Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the -; distribution. -; -; Neither the name of Texas Instruments Incorporated nor the names of -; its contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -; -; -; - - .text - .arm - -;------------------------------------------------------------------------------- -; Initialize CPU Registers -; SourceId : CORE_SourceId_001 -; DesignId : CORE_DesignId_001 -; Requirements: HL_SR477, HL_SR476, HL_SR492 - - .def _coreInitRegisters_ - .asmfunc - - -_coreInitRegisters_ - - - ; After reset, the CPU is in the Supervisor mode (M = 10011) - mov r0, lr - mov r1, #0x0000 - mov r2, #0x0000 - mov r3, #0x0000 - mov r4, #0x0000 - mov r5, #0x0000 - mov r6, #0x0000 - mov r7, #0x0000 - mov r8, #0x0000 - mov r9, #0x0000 - mov r10, #0x0000 - mov r11, #0x0000 - mov r12, #0x0000 - mov r13, #0x0000 - mrs r1, cpsr - msr spsr_cxsf, r1 - ; Switch to FIQ mode (M = 10001) - cps #17 - mov lr, r0 - mov r8, #0x0000 - mov r9, #0x0000 - mov r10, #0x0000 - mov r11, #0x0000 - mov r12, #0x0000 - mrs r1, cpsr - msr spsr_cxsf, r1 - ; Switch to IRQ mode (M = 10010) - cps #18 - mov lr, r0 - mrs r1,cpsr - msr spsr_cxsf, r1 - ; Switch to Abort mode (M = 10111) - cps #23 - mov lr, r0 - mrs r1,cpsr - msr spsr_cxsf, r1 - ; Switch to Undefined Instruction Mode (M = 11011) - cps #27 - mov lr, r0 - mrs r1,cpsr - msr spsr_cxsf, r1 - ; Switch to System Mode ( Shares User Mode registers ) (M = 11111) - cps #31 - mov lr, r0 - mrs r1,cpsr - msr spsr_cxsf, r1 - - - mrc p15, #0x00, r2, c1, c0, #0x02 - orr r2, r2, #0xF00000 - mcr p15, #0x00, r2, c1, c0, #0x02 - mov r2, #0x40000000 - fmxr fpexc, r2 - - fmdrr d0, r1, r1 - fmdrr d1, r1, r1 - fmdrr d2, r1, r1 - fmdrr d3, r1, r1 - fmdrr d4, r1, r1 - fmdrr d5, r1, r1 - fmdrr d6, r1, r1 - fmdrr d7, r1, r1 - fmdrr d8, r1, r1 - fmdrr d9, r1, r1 - fmdrr d10, r1, r1 - fmdrr d11, r1, r1 - fmdrr d12, r1, r1 - fmdrr d13, r1, r1 - fmdrr d14, r1, r1 - fmdrr d15, r1, r1 - bl next1 -next1 - bl next2 -next2 - bl next3 -next3 - bl next4 -next4 - bx r0 - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Initialize Stack Pointers -; SourceId : CORE_SourceId_002 -; DesignId : CORE_DesignId_002 -; Requirements: HL_SR478 - - .def _coreInitStackPointer_ - .asmfunc - -_coreInitStackPointer_ - - cps #17 - ldr sp, fiqSp - cps #18 - ldr sp, irqSp - cps #19 - ldr sp, svcSp - cps #23 - ldr sp, abortSp - cps #27 - ldr sp, undefSp - cps #31 - ldr sp, userSp - bx lr - -userSp .word 0x08000000+0x00001000 -svcSp .word 0x08000000+0x00001000+0x00000100 -fiqSp .word 0x08000000+0x00001000+0x00000100+0x00000100 -irqSp .word 0x08000000+0x00001000+0x00000100+0x00000100+0x00000100 -abortSp .word 0x08000000+0x00001000+0x00000100+0x00000100+0x00000100+0x00000100 -undefSp .word 0x08000000+0x00001000+0x00000100+0x00000100+0x00000100+0x00000100+0x00000100 - - .endasmfunc - -;------------------------------------------------------------------------------- -; Get CPSR Value -; SourceId : CORE_SourceId_003 -; DesignId : CORE_DesignId_003 -; Requirements: - - .def _getCPSRValue_ - .asmfunc - -_getCPSRValue_ - - mrs r0, CPSR - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Take CPU to IDLE state -; SourceId : CORE_SourceId_004 -; DesignId : CORE_DesignId_004 -; Requirements: HL_SR493 - - .def _gotoCPUIdle_ - .asmfunc - -_gotoCPUIdle_ - - WFI - nop - nop - nop - nop - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Enable VFP Unit -; SourceId : CORE_SourceId_005 -; DesignId : CORE_DesignId_006 -; Requirements: HL_SR492, HL_SR476 - - .def _coreEnableVfp_ - .asmfunc - -_coreEnableVfp_ - - mrc p15, #0x00, r0, c1, c0, #0x02 - orr r0, r0, #0xF00000 - mcr p15, #0x00, r0, c1, c0, #0x02 - mov r0, #0x40000000 - fmxr fpexc, r0 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Enable Event Bus Export -; SourceId : CORE_SourceId_006 -; DesignId : CORE_DesignId_007 -; Requirements: HL_SR479 - - .def _coreEnableEventBusExport_ - .asmfunc - -_coreEnableEventBusExport_ - - mrc p15, #0x00, r0, c9, c12, #0x00 - orr r0, r0, #0x10 - mcr p15, #0x00, r0, c9, c12, #0x00 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Disable Event Bus Export -; SourceId : CORE_SourceId_007 -; DesignId : CORE_DesignId_008 -; Requirements: HL_SR481 - - - .def _coreDisableEventBusExport_ - .asmfunc - -_coreDisableEventBusExport_ - - mrc p15, #0x00, r0, c9, c12, #0x00 - bic r0, r0, #0x10 - mcr p15, #0x00, r0, c9, c12, #0x00 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Enable RAM ECC Support -; SourceId : CORE_SourceId_008 -; DesignId : CORE_DesignId_009 -; Requirements: HL_SR480 - - .def _coreEnableRamEcc_ - .asmfunc - -_coreEnableRamEcc_ - - mrc p15, #0x00, r0, c1, c0, #0x01 - orr r0, r0, #0x0C000000 - mcr p15, #0x00, r0, c1, c0, #0x01 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Disable RAM ECC Support -; SourceId : CORE_SourceId_009 -; DesignId : CORE_DesignId_010 -; Requirements: HL_SR482 - - .def _coreDisableRamEcc_ - .asmfunc - -_coreDisableRamEcc_ - - mrc p15, #0x00, r0, c1, c0, #0x01 - bic r0, r0, #0x0C000000 - mcr p15, #0x00, r0, c1, c0, #0x01 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Enable Flash ECC Support -; SourceId : CORE_SourceId_010 -; DesignId : CORE_DesignId_011 -; Requirements: HL_SR480, HL_SR458 - - .def _coreEnableFlashEcc_ - .asmfunc - -_coreEnableFlashEcc_ - - mrc p15, #0x00, r0, c1, c0, #0x01 - orr r0, r0, #0x02000000 - dmb - mcr p15, #0x00, r0, c1, c0, #0x01 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Disable Flash ECC Support -; SourceId : CORE_SourceId_011 -; DesignId : CORE_DesignId_012 -; Requirements: HL_SR482 - - .def _coreDisableFlashEcc_ - .asmfunc - -_coreDisableFlashEcc_ - - mrc p15, #0x00, r0, c1, c0, #0x01 - bic r0, r0, #0x02000000 - mcr p15, #0x00, r0, c1, c0, #0x01 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Enable Offset via Vic controller -; SourceId : CORE_SourceId_012 -; DesignId : CORE_DesignId_005 -; Requirements: HL_SR483, HL_SR491 - - .def _coreEnableIrqVicOffset_ - .asmfunc - -_coreEnableIrqVicOffset_ - - mrc p15, #0, r0, c1, c0, #0 - orr r0, r0, #0x01000000 - mcr p15, #0, r0, c1, c0, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get data fault status register -; SourceId : CORE_SourceId_013 -; DesignId : CORE_DesignId_013 -; Requirements: HL_SR495 - - .def _coreGetDataFault_ - .asmfunc - -_coreGetDataFault_ - - mrc p15, #0, r0, c5, c0, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Clear data fault status register -; SourceId : CORE_SourceId_014 -; DesignId : CORE_DesignId_014 -; Requirements: HL_SR495 - - .def _coreClearDataFault_ - .asmfunc - -_coreClearDataFault_ - - mov r0, #0 - mcr p15, #0, r0, c5, c0, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get instruction fault status register -; SourceId : CORE_SourceId_015 -; DesignId : CORE_DesignId_015 -; Requirements: HL_SR495 - - .def _coreGetInstructionFault_ - .asmfunc - -_coreGetInstructionFault_ - - mrc p15, #0, r0, c5, c0, #1 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Clear instruction fault status register -; SourceId : CORE_SourceId_016 -; DesignId : CORE_DesignId_016 -; Requirements: HL_SR495 - - .def _coreClearInstructionFault_ - .asmfunc - -_coreClearInstructionFault_ - - mov r0, #0 - mcr p15, #0, r0, c5, c0, #1 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get data fault address register -; SourceId : CORE_SourceId_017 -; DesignId : CORE_DesignId_017 -; Requirements: HL_SR495 - - .def _coreGetDataFaultAddress_ - .asmfunc - -_coreGetDataFaultAddress_ - - mrc p15, #0, r0, c6, c0, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Clear data fault address register -; SourceId : CORE_SourceId_018 -; DesignId : CORE_DesignId_018 -; Requirements: HL_SR495 - - .def _coreClearDataFaultAddress_ - .asmfunc - -_coreClearDataFaultAddress_ - - mov r0, #0 - mcr p15, #0, r0, c6, c0, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get instruction fault address register -; SourceId : CORE_SourceId_019 -; DesignId : CORE_DesignId_019 -; Requirements: HL_SR495 - - .def _coreGetInstructionFaultAddress_ - .asmfunc - -_coreGetInstructionFaultAddress_ - - mrc p15, #0, r0, c6, c0, #2 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Clear instruction fault address register -; SourceId : CORE_SourceId_020 -; DesignId : CORE_DesignId_020 -; Requirements: HL_SR495 - - .def _coreClearInstructionFaultAddress_ - .asmfunc - -_coreClearInstructionFaultAddress_ - - mov r0, #0 - mcr p15, #0, r0, c6, c0, #2 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get auxiliary data fault status register -; SourceId : CORE_SourceId_021 -; DesignId : CORE_DesignId_021 -; Requirements: HL_SR496 - - .def _coreGetAuxiliaryDataFault_ - .asmfunc - -_coreGetAuxiliaryDataFault_ - - mrc p15, #0, r0, c5, c1, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Clear auxiliary data fault status register -; SourceId : CORE_SourceId_022 -; DesignId : CORE_DesignId_022 -; Requirements: HL_SR496 - - .def _coreClearAuxiliaryDataFault_ - .asmfunc - -_coreClearAuxiliaryDataFault_ - - mov r0, #0 - mcr p15, #0, r0, c5, c1, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get auxiliary instruction fault status register -; SourceId : CORE_SourceId_023 -; DesignId : CORE_DesignId_023 -; Requirements: HL_SR496 - - .def _coreGetAuxiliaryInstructionFault_ - .asmfunc - -_coreGetAuxiliaryInstructionFault_ - - mrc p15, #0, r0, c5, c1, #1 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Clear auxiliary instruction fault status register -; SourceId : CORE_SourceId_024 -; DesignId : CORE_DesignId_024 -; Requirements: HL_SR496 - - .def _coreClearAuxiliaryInstructionFault_ - .asmfunc - -_coreClearAuxiliaryInstructionFault_ - - mov r0, #0 - mrc p15, #0, r0, c5, c1, #1 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Disable interrupts - R4 IRQ & FIQ -; SourceId : CORE_SourceId_025 -; DesignId : CORE_DesignId_025 -; Requirements: HL_SR494 - - .def _disable_interrupt_ - .asmfunc - -_disable_interrupt_ - - cpsid if - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Disable FIQ interrupt -; SourceId : CORE_SourceId_026 -; DesignId : CORE_DesignId_026 -; Requirements: HL_SR494 - - .def _disable_FIQ_interrupt_ - .asmfunc - -_disable_FIQ_interrupt_ - - cpsid f - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Disable FIQ interrupt - - .def _disable_IRQ_interrupt_ - .asmfunc - -_disable_IRQ_interrupt_ - - cpsid i - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Enable interrupts - R4 IRQ & FIQ - - .def _enable_interrupt_ - .asmfunc - -_enable_interrupt_ - - cpsie if - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Clear ESM CCM errorss - - .def _esmCcmErrorsClear_ - .asmfunc - -_esmCcmErrorsClear_ - - stmfd sp!, {r0-r2} - ldr r0, ESMSR1_REG ; load the ESMSR1 status register address - ldr r2, ESMSR1_ERR_CLR - str r2, [r0] ; clear the ESMSR1 register - - ldr r0, ESMSR2_REG ; load the ESMSR2 status register address - ldr r2, ESMSR2_ERR_CLR - str r2, [r0] ; clear the ESMSR2 register - - ldr r0, ESMSSR2_REG ; load the ESMSSR2 status register address - ldr r2, ESMSSR2_ERR_CLR - str r2, [r0] ; clear the ESMSSR2 register - - ldr r0, ESMKEY_REG ; load the ESMKEY register address - mov r2, #0x5 ; load R2 with 0x5 - str r2, [r0] ; clear the ESMKEY register - - ldr r0, VIM_INTREQ ; load the INTREQ register address - ldr r2, VIM_INT_CLR - str r2, [r0] ; clear the INTREQ register - ldr r0, CCMR4_STAT_REG ; load the CCMR4 status register address - ldr r2, CCMR4_ERR_CLR - str r2, [r0] ; clear the CCMR4 status register - ldmfd sp!, {r0-r2} - bx lr - -ESMSR1_REG .word 0xFFFFF518 -ESMSR2_REG .word 0xFFFFF51C -ESMSR3_REG .word 0xFFFFF520 -ESMKEY_REG .word 0xFFFFF538 -ESMSSR2_REG .word 0xFFFFF53C -CCMR4_STAT_REG .word 0xFFFFF600 -ERR_CLR_WRD .word 0xFFFFFFFF -CCMR4_ERR_CLR .word 0x00010000 -ESMSR1_ERR_CLR .word 0x80000000 -ESMSR2_ERR_CLR .word 0x00000004 -ESMSSR2_ERR_CLR .word 0x00000004 -VIM_INT_CLR .word 0x00000001 -VIM_INTREQ .word 0xFFFFFE20 - - .endasmfunc - -;------------------------------------------------------------------------------- -; Work Around for Errata CORTEX-R4#57: -; -; Errata Description: -; Conditional VMRS APSR_Nzcv, FPSCR May Evaluate With Incorrect Flags -; Workaround: -; Disable out-of-order single-precision floating point -; multiply-accumulate instruction completion - - .def _errata_CORTEXR4_57_ - .asmfunc - -_errata_CORTEXR4_57_ - - mrc p15, #0, r0, c15, c0, #0 ; Read Secondary Auxiliary Control Register - orr r0, r0, #0x10000 ; Set BIT 16 (Set DOOFMACS) - mcr p15, #0, r0, c15, c0, #0 ; Write Secondary Auxiliary Control Register - bx lr - .endasmfunc - -;------------------------------------------------------------------------------- -; Work Around for Errata CORTEX-R4#66: -; -; Errata Description: -; Register Corruption During A Load-Multiple Instruction At -; an Exception Vector -; Workaround: -; Disable out-of-order completion for divide instructions in -; Auxiliary Control register - - .def _errata_CORTEXR4_66_ - .asmfunc - -_errata_CORTEXR4_66_ - - mrc p15, #0, r0, c1, c0, #1 ; Read Auxiliary Control register - orr r0, r0, #0x80 ; Set BIT 7 (Disable out-of-order completion - ; for divide instructions.) - mcr p15, #0, r0, c1, c0, #1 ; Write Auxiliary Control register - bx lr - .endasmfunc -;------------------------------------------------------------------------------- -; C++ construct table pointers - - .def __TI_PINIT_Base, __TI_PINIT_Limit - .weak SHT$$INIT_ARRAY$$Base, SHT$$INIT_ARRAY$$Limit - -__TI_PINIT_Base .long SHT$$INIT_ARRAY$$Base -__TI_PINIT_Limit .long SHT$$INIT_ARRAY$$Limit - - - -;------------------------------------------------------------------------------- - +;------------------------------------------------------------------------------- +; sys_core.asm +; +; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +; +; +; Redistribution and use in source and binary forms, with or without +; modification, are permitted provided that the following conditions +; are met: +; +; Redistributions of source code must retain the above copyright +; notice, this list of conditions and the following disclaimer. +; +; Redistributions in binary form must reproduce the above copyright +; notice, this list of conditions and the following disclaimer in the +; documentation and/or other materials provided with the +; distribution. +; +; Neither the name of Texas Instruments Incorporated nor the names of +; its contributors may be used to endorse or promote products derived +; from this software without specific prior written permission. +; +; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +; +; +; + + .text + .arm + +;------------------------------------------------------------------------------- +; Initialize CPU Registers +; SourceId : CORE_SourceId_001 +; DesignId : CORE_DesignId_001 +; Requirements: HL_SR477, HL_SR476, HL_SR492 + + .def _coreInitRegisters_ + .asmfunc + + +_coreInitRegisters_ + + + ; After reset, the CPU is in the Supervisor mode (M = 10011) + mov r0, lr + mov r1, #0x0000 + mov r2, #0x0000 + mov r3, #0x0000 + mov r4, #0x0000 + mov r5, #0x0000 + mov r6, #0x0000 + mov r7, #0x0000 + mov r8, #0x0000 + mov r9, #0x0000 + mov r10, #0x0000 + mov r11, #0x0000 + mov r12, #0x0000 + mov r13, #0x0000 + mrs r1, cpsr + msr spsr_cxsf, r1 + ; Switch to FIQ mode (M = 10001) + cps #17 + mov lr, r0 + mov r8, #0x0000 + mov r9, #0x0000 + mov r10, #0x0000 + mov r11, #0x0000 + mov r12, #0x0000 + mrs r1, cpsr + msr spsr_cxsf, r1 + ; Switch to IRQ mode (M = 10010) + cps #18 + mov lr, r0 + mrs r1,cpsr + msr spsr_cxsf, r1 + ; Switch to Abort mode (M = 10111) + cps #23 + mov lr, r0 + mrs r1,cpsr + msr spsr_cxsf, r1 + ; Switch to Undefined Instruction Mode (M = 11011) + cps #27 + mov lr, r0 + mrs r1,cpsr + msr spsr_cxsf, r1 + ; Switch to System Mode ( Shares User Mode registers ) (M = 11111) + cps #31 + mov lr, r0 + mrs r1,cpsr + msr spsr_cxsf, r1 + + + mrc p15, #0x00, r2, c1, c0, #0x02 + orr r2, r2, #0xF00000 + mcr p15, #0x00, r2, c1, c0, #0x02 + mov r2, #0x40000000 + fmxr fpexc, r2 + + fmdrr d0, r1, r1 + fmdrr d1, r1, r1 + fmdrr d2, r1, r1 + fmdrr d3, r1, r1 + fmdrr d4, r1, r1 + fmdrr d5, r1, r1 + fmdrr d6, r1, r1 + fmdrr d7, r1, r1 + fmdrr d8, r1, r1 + fmdrr d9, r1, r1 + fmdrr d10, r1, r1 + fmdrr d11, r1, r1 + fmdrr d12, r1, r1 + fmdrr d13, r1, r1 + fmdrr d14, r1, r1 + fmdrr d15, r1, r1 + bl next1 +next1 + bl next2 +next2 + bl next3 +next3 + bl next4 +next4 + bx r0 + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Initialize Stack Pointers +; SourceId : CORE_SourceId_002 +; DesignId : CORE_DesignId_002 +; Requirements: HL_SR478 + + .def _coreInitStackPointer_ + .asmfunc + +_coreInitStackPointer_ + + cps #17 + ldr sp, fiqSp + cps #18 + ldr sp, irqSp + cps #19 + ldr sp, svcSp + cps #23 + ldr sp, abortSp + cps #27 + ldr sp, undefSp + cps #31 + ldr sp, userSp + bx lr + +userSp .word 0x08000000+0x00001000 +svcSp .word 0x08000000+0x00001000+0x00000100 +fiqSp .word 0x08000000+0x00001000+0x00000100+0x00000100 +irqSp .word 0x08000000+0x00001000+0x00000100+0x00000100+0x00000100 +abortSp .word 0x08000000+0x00001000+0x00000100+0x00000100+0x00000100+0x00000100 +undefSp .word 0x08000000+0x00001000+0x00000100+0x00000100+0x00000100+0x00000100+0x00000100 + + .endasmfunc + +;------------------------------------------------------------------------------- +; Get CPSR Value +; SourceId : CORE_SourceId_003 +; DesignId : CORE_DesignId_003 +; Requirements: + + .def _getCPSRValue_ + .asmfunc + +_getCPSRValue_ + + mrs r0, CPSR + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Take CPU to IDLE state +; SourceId : CORE_SourceId_004 +; DesignId : CORE_DesignId_004 +; Requirements: HL_SR493 + + .def _gotoCPUIdle_ + .asmfunc + +_gotoCPUIdle_ + + WFI + nop + nop + nop + nop + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Enable VFP Unit +; SourceId : CORE_SourceId_005 +; DesignId : CORE_DesignId_006 +; Requirements: HL_SR492, HL_SR476 + + .def _coreEnableVfp_ + .asmfunc + +_coreEnableVfp_ + + mrc p15, #0x00, r0, c1, c0, #0x02 + orr r0, r0, #0xF00000 + mcr p15, #0x00, r0, c1, c0, #0x02 + mov r0, #0x40000000 + fmxr fpexc, r0 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Enable Event Bus Export +; SourceId : CORE_SourceId_006 +; DesignId : CORE_DesignId_007 +; Requirements: HL_SR479 + + .def _coreEnableEventBusExport_ + .asmfunc + +_coreEnableEventBusExport_ + + mrc p15, #0x00, r0, c9, c12, #0x00 + orr r0, r0, #0x10 + mcr p15, #0x00, r0, c9, c12, #0x00 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Disable Event Bus Export +; SourceId : CORE_SourceId_007 +; DesignId : CORE_DesignId_008 +; Requirements: HL_SR481 + + + .def _coreDisableEventBusExport_ + .asmfunc + +_coreDisableEventBusExport_ + + mrc p15, #0x00, r0, c9, c12, #0x00 + bic r0, r0, #0x10 + mcr p15, #0x00, r0, c9, c12, #0x00 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Enable RAM ECC Support +; SourceId : CORE_SourceId_008 +; DesignId : CORE_DesignId_009 +; Requirements: HL_SR480 + + .def _coreEnableRamEcc_ + .asmfunc + +_coreEnableRamEcc_ + + mrc p15, #0x00, r0, c1, c0, #0x01 + orr r0, r0, #0x0C000000 + mcr p15, #0x00, r0, c1, c0, #0x01 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Disable RAM ECC Support +; SourceId : CORE_SourceId_009 +; DesignId : CORE_DesignId_010 +; Requirements: HL_SR482 + + .def _coreDisableRamEcc_ + .asmfunc + +_coreDisableRamEcc_ + + mrc p15, #0x00, r0, c1, c0, #0x01 + bic r0, r0, #0x0C000000 + mcr p15, #0x00, r0, c1, c0, #0x01 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Enable Flash ECC Support +; SourceId : CORE_SourceId_010 +; DesignId : CORE_DesignId_011 +; Requirements: HL_SR480, HL_SR458 + + .def _coreEnableFlashEcc_ + .asmfunc + +_coreEnableFlashEcc_ + + mrc p15, #0x00, r0, c1, c0, #0x01 + orr r0, r0, #0x02000000 + dmb + mcr p15, #0x00, r0, c1, c0, #0x01 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Disable Flash ECC Support +; SourceId : CORE_SourceId_011 +; DesignId : CORE_DesignId_012 +; Requirements: HL_SR482 + + .def _coreDisableFlashEcc_ + .asmfunc + +_coreDisableFlashEcc_ + + mrc p15, #0x00, r0, c1, c0, #0x01 + bic r0, r0, #0x02000000 + mcr p15, #0x00, r0, c1, c0, #0x01 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Enable Offset via Vic controller +; SourceId : CORE_SourceId_012 +; DesignId : CORE_DesignId_005 +; Requirements: HL_SR483, HL_SR491 + + .def _coreEnableIrqVicOffset_ + .asmfunc + +_coreEnableIrqVicOffset_ + + mrc p15, #0, r0, c1, c0, #0 + orr r0, r0, #0x01000000 + mcr p15, #0, r0, c1, c0, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get data fault status register +; SourceId : CORE_SourceId_013 +; DesignId : CORE_DesignId_013 +; Requirements: HL_SR495 + + .def _coreGetDataFault_ + .asmfunc + +_coreGetDataFault_ + + mrc p15, #0, r0, c5, c0, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Clear data fault status register +; SourceId : CORE_SourceId_014 +; DesignId : CORE_DesignId_014 +; Requirements: HL_SR495 + + .def _coreClearDataFault_ + .asmfunc + +_coreClearDataFault_ + + mov r0, #0 + mcr p15, #0, r0, c5, c0, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get instruction fault status register +; SourceId : CORE_SourceId_015 +; DesignId : CORE_DesignId_015 +; Requirements: HL_SR495 + + .def _coreGetInstructionFault_ + .asmfunc + +_coreGetInstructionFault_ + + mrc p15, #0, r0, c5, c0, #1 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Clear instruction fault status register +; SourceId : CORE_SourceId_016 +; DesignId : CORE_DesignId_016 +; Requirements: HL_SR495 + + .def _coreClearInstructionFault_ + .asmfunc + +_coreClearInstructionFault_ + + mov r0, #0 + mcr p15, #0, r0, c5, c0, #1 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get data fault address register +; SourceId : CORE_SourceId_017 +; DesignId : CORE_DesignId_017 +; Requirements: HL_SR495 + + .def _coreGetDataFaultAddress_ + .asmfunc + +_coreGetDataFaultAddress_ + + mrc p15, #0, r0, c6, c0, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Clear data fault address register +; SourceId : CORE_SourceId_018 +; DesignId : CORE_DesignId_018 +; Requirements: HL_SR495 + + .def _coreClearDataFaultAddress_ + .asmfunc + +_coreClearDataFaultAddress_ + + mov r0, #0 + mcr p15, #0, r0, c6, c0, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get instruction fault address register +; SourceId : CORE_SourceId_019 +; DesignId : CORE_DesignId_019 +; Requirements: HL_SR495 + + .def _coreGetInstructionFaultAddress_ + .asmfunc + +_coreGetInstructionFaultAddress_ + + mrc p15, #0, r0, c6, c0, #2 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Clear instruction fault address register +; SourceId : CORE_SourceId_020 +; DesignId : CORE_DesignId_020 +; Requirements: HL_SR495 + + .def _coreClearInstructionFaultAddress_ + .asmfunc + +_coreClearInstructionFaultAddress_ + + mov r0, #0 + mcr p15, #0, r0, c6, c0, #2 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get auxiliary data fault status register +; SourceId : CORE_SourceId_021 +; DesignId : CORE_DesignId_021 +; Requirements: HL_SR496 + + .def _coreGetAuxiliaryDataFault_ + .asmfunc + +_coreGetAuxiliaryDataFault_ + + mrc p15, #0, r0, c5, c1, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Clear auxiliary data fault status register +; SourceId : CORE_SourceId_022 +; DesignId : CORE_DesignId_022 +; Requirements: HL_SR496 + + .def _coreClearAuxiliaryDataFault_ + .asmfunc + +_coreClearAuxiliaryDataFault_ + + mov r0, #0 + mcr p15, #0, r0, c5, c1, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get auxiliary instruction fault status register +; SourceId : CORE_SourceId_023 +; DesignId : CORE_DesignId_023 +; Requirements: HL_SR496 + + .def _coreGetAuxiliaryInstructionFault_ + .asmfunc + +_coreGetAuxiliaryInstructionFault_ + + mrc p15, #0, r0, c5, c1, #1 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Clear auxiliary instruction fault status register +; SourceId : CORE_SourceId_024 +; DesignId : CORE_DesignId_024 +; Requirements: HL_SR496 + + .def _coreClearAuxiliaryInstructionFault_ + .asmfunc + +_coreClearAuxiliaryInstructionFault_ + + mov r0, #0 + mrc p15, #0, r0, c5, c1, #1 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Disable interrupts - R4 IRQ & FIQ +; SourceId : CORE_SourceId_025 +; DesignId : CORE_DesignId_025 +; Requirements: HL_SR494 + + .def _disable_interrupt_ + .asmfunc + +_disable_interrupt_ + + cpsid if + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Disable FIQ interrupt +; SourceId : CORE_SourceId_026 +; DesignId : CORE_DesignId_026 +; Requirements: HL_SR494 + + .def _disable_FIQ_interrupt_ + .asmfunc + +_disable_FIQ_interrupt_ + + cpsid f + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Disable FIQ interrupt + + .def _disable_IRQ_interrupt_ + .asmfunc + +_disable_IRQ_interrupt_ + + cpsid i + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Enable interrupts - R4 IRQ & FIQ + + .def _enable_interrupt_ + .asmfunc + +_enable_interrupt_ + + cpsie if + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Clear ESM CCM errorss + + .def _esmCcmErrorsClear_ + .asmfunc + +_esmCcmErrorsClear_ + + stmfd sp!, {r0-r2} + ldr r0, ESMSR1_REG ; load the ESMSR1 status register address + ldr r2, ESMSR1_ERR_CLR + str r2, [r0] ; clear the ESMSR1 register + + ldr r0, ESMSR2_REG ; load the ESMSR2 status register address + ldr r2, ESMSR2_ERR_CLR + str r2, [r0] ; clear the ESMSR2 register + + ldr r0, ESMSSR2_REG ; load the ESMSSR2 status register address + ldr r2, ESMSSR2_ERR_CLR + str r2, [r0] ; clear the ESMSSR2 register + + ldr r0, ESMKEY_REG ; load the ESMKEY register address + mov r2, #0x5 ; load R2 with 0x5 + str r2, [r0] ; clear the ESMKEY register + + ldr r0, VIM_INTREQ ; load the INTREQ register address + ldr r2, VIM_INT_CLR + str r2, [r0] ; clear the INTREQ register + ldr r0, CCMR4_STAT_REG ; load the CCMR4 status register address + ldr r2, CCMR4_ERR_CLR + str r2, [r0] ; clear the CCMR4 status register + ldmfd sp!, {r0-r2} + bx lr + +ESMSR1_REG .word 0xFFFFF518 +ESMSR2_REG .word 0xFFFFF51C +ESMSR3_REG .word 0xFFFFF520 +ESMKEY_REG .word 0xFFFFF538 +ESMSSR2_REG .word 0xFFFFF53C +CCMR4_STAT_REG .word 0xFFFFF600 +ERR_CLR_WRD .word 0xFFFFFFFF +CCMR4_ERR_CLR .word 0x00010000 +ESMSR1_ERR_CLR .word 0x80000000 +ESMSR2_ERR_CLR .word 0x00000004 +ESMSSR2_ERR_CLR .word 0x00000004 +VIM_INT_CLR .word 0x00000001 +VIM_INTREQ .word 0xFFFFFE20 + + .endasmfunc + +;------------------------------------------------------------------------------- +; Work Around for Errata CORTEX-R4#57: +; +; Errata Description: +; Conditional VMRS APSR_Nzcv, FPSCR May Evaluate With Incorrect Flags +; Workaround: +; Disable out-of-order single-precision floating point +; multiply-accumulate instruction completion + + .def _errata_CORTEXR4_57_ + .asmfunc + +_errata_CORTEXR4_57_ + + mrc p15, #0, r0, c15, c0, #0 ; Read Secondary Auxiliary Control Register + orr r0, r0, #0x10000 ; Set BIT 16 (Set DOOFMACS) + mcr p15, #0, r0, c15, c0, #0 ; Write Secondary Auxiliary Control Register + bx lr + .endasmfunc + +;------------------------------------------------------------------------------- +; Work Around for Errata CORTEX-R4#66: +; +; Errata Description: +; Register Corruption During A Load-Multiple Instruction At +; an Exception Vector +; Workaround: +; Disable out-of-order completion for divide instructions in +; Auxiliary Control register + + .def _errata_CORTEXR4_66_ + .asmfunc + +_errata_CORTEXR4_66_ + + mrc p15, #0, r0, c1, c0, #1 ; Read Auxiliary Control register + orr r0, r0, #0x80 ; Set BIT 7 (Disable out-of-order completion + ; for divide instructions.) + mcr p15, #0, r0, c1, c0, #1 ; Write Auxiliary Control register + bx lr + .endasmfunc +;------------------------------------------------------------------------------- +; C++ construct table pointers + + .def __TI_PINIT_Base, __TI_PINIT_Limit + .weak SHT$$INIT_ARRAY$$Base, SHT$$INIT_ARRAY$$Limit + +__TI_PINIT_Base .long SHT$$INIT_ARRAY$$Base +__TI_PINIT_Limit .long SHT$$INIT_ARRAY$$Limit + + + +;------------------------------------------------------------------------------- + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_dma.c b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_dma.c index 3bbed4f9..cfca0f5a 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_dma.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_dma.c @@ -1,449 +1,449 @@ -/** @file dma.c -* @brief DMA Driver Implementation File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - - -#include "sys_dma.h" -#include "sys_vim.h" - -/** @fn void dmaEnable(void) -* @brief enables DMA module -* -* This function brings DMA out of reset -*/ -/* SourceId : DMA_SourceId_001 */ -/* DesignId : DMA_DesignId_001 */ -/* Requirements: HL_SR167 */ -void dmaEnable(void) -{ - dmaREG->GCTRL = 0x00010000U; /* enable dma */ - dmaREG->GCTRL |= 0x00000300U; /* stop at suspend */ -} - -/** @fn void dmaDisable(void) -* @brief disables DMA module -* -* This function disables DMA module -*/ -/* SourceId : DMA_SourceId_002 */ -/* DesignId : DMA_DesignId_002 */ -/* Requirements: HL_SR168 */ -void dmaDisable(void) -{ - /* Wait until DMA's external bus has completed data transfer */ - /*SAFETYMCUSW 134 S MR: 12.2 "Tool issue" */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((dmaREG->GCTRL & DMA_GCTRL_BUSBUSY) != 0U) - { - } /* Wait */ - /* Disable DMA module */ - dmaREG->GCTRL = 0U; -} - - -/** @fn void dmaReqAssign(uint32 channel,uint32 reqline) -* @brief Assign DMA request lines to channels -* @param[in] channel DMA channel -* @param[in] reqline DMA request line -* -* This function assigns DMA request lines to channels -*/ -/* SourceId : DMA_SourceId_003 */ -/* DesignId : DMA_DesignId_005 */ -/* Requirements: HL_SR169 */ -void dmaReqAssign(uint32 channel,uint32 reqline) -{ - register uint32 i=0U,j=0U; - - i = channel >> 2U; /* Find the register to configure */ - j = channel - (i << 2U); /* Find the offset of the type */ - j = 3U - j; /* reverse the byte order */ - j = j << 3U; /* find the bit location */ - - /* mapping channel 'i' to request line 'j' */ - dmaREG->DREQASI[i] &= ~(uint32)((uint32)0xFFU << j); - dmaREG->DREQASI[i] |= (reqline << j); -} - - -/** @fn uint32 dmaGetReq(uint32 channel) -* @brief Gets the request line number mapped to the selected channel -* @param[in] channel DMA channel -* -* This function returns the request line number mapped to the selected channel -*/ -/* SourceId : DMA_SourceId_004 */ -/* DesignId : DMA_DesignId_006 */ -/* Requirements: HL_SR170 */ -uint32 dmaGetReq(uint32 channel) -{ - register uint32 i=0U,j=0U; - - i = channel >> 2U; /* Find the register to configure */ - j = channel - (i << 2U); /* Find the offset of the type */ - j = 3U - j; /* reverse the byte order */ - j = j << 3U; /* find the bit location */ - return ((dmaREG->DREQASI[i] >> j) & 0xFFU); -} - - -/** @fn void dmaSetCtrlPacket(uint32 channel) -* @brief Set control packet -* -* This function sets control packet -*/ -/* SourceId : DMA_SourceId_005 */ -/* DesignId : DMA_DesignId_003 */ -/* Requirements: HL_SR171 */ -void dmaSetCtrlPacket(uint32 channel, g_dmaCTRL g_dmaCTRLPKT) -{ - register uint32 i=0U,j=0U; - - dmaRAMREG->PCP[channel].ISADDR = g_dmaCTRLPKT.SADD; - - dmaRAMREG->PCP[channel].IDADDR = g_dmaCTRLPKT.DADD; - - dmaRAMREG->PCP[channel].ITCOUNT = (g_dmaCTRLPKT.FRCNT << 16U) | g_dmaCTRLPKT.ELCNT; - - dmaRAMREG->PCP[channel].CHCTRL = (g_dmaCTRLPKT.RDSIZE << 14U) | (g_dmaCTRLPKT.WRSIZE << 12U) | (g_dmaCTRLPKT.TTYPE << 8U)| \ - (g_dmaCTRLPKT.ADDMODERD << 3U ) | (g_dmaCTRLPKT.ADDMODEWR << 1U ) | (g_dmaCTRLPKT.AUTOINIT); - - dmaRAMREG->PCP[channel].CHCTRL |= (g_dmaCTRLPKT.CHCTRL << 16U); - - dmaRAMREG->PCP[channel].EIOFF = (g_dmaCTRLPKT.ELDOFFSET << 16U) | (g_dmaCTRLPKT.ELSOFFSET); - - dmaRAMREG->PCP[channel].FIOFF = (g_dmaCTRLPKT.FRDOFFSET << 16U) | (g_dmaCTRLPKT.FRSOFFSET); - - i = channel >> 3U; /* Find the register to write */ - j = channel - (i << 3U); /* Find the offset of the 4th bit */ - j = 7U - j; /* Reverse the order of the 4th bit offset */ - j = j << 2U; /* Find the bit location of the 4th bit to write */ - - dmaREG->PAR[i] &= ~(uint32)((uint32)0xFU << j); - dmaREG->PAR[i] |= (g_dmaCTRLPKT.PORTASGN << j); -} - - - -/** @fn void dmaSetChEnable(uint32 channel,uint32 type) -* @brief Enable channel -* @param[in] channel DMA channel -* @param[in] type Type of triggering -* - DMA_HW: Enables the selected DMA channel for hardware triggering -* - DMA_SW: Enables the selected DMA channel for software triggering -* -* This function enables the DMA channel for hardware or software triggering -*/ -/* SourceId : DMA_SourceId_006 */ -/* DesignId : DMA_DesignId_004 */ -/* Requirements: HL_SR172 */ -void dmaSetChEnable(uint32 channel,uint32 type) -{ - if(type == (uint32)DMA_HW) - { - dmaREG->HWCHENAS = (uint32)1U << channel; - } - else if(type == (uint32)DMA_SW) - { - dmaREG->SWCHENAS = (uint32)1U << channel; - } - else - { - /* Empty */ - } -} - - - -/** @fn void dmaSetPriority(uint32 channel, dmaPRIORITY_t priority) -* @brief Assign Priority to the channel -* @param[in] channel DMA channel -* @param[in] priority Priority queue to which channel needs to be assigned -* - LOWPRIORITY : The selected channel will be assigned to low priority queue -* - HIGHPRIORITY: The selected channel will be assigned to high priority queue -* -* This function assigns the selected priority to the selected channel -*/ -/* SourceId : DMA_SourceId_007 */ -/* DesignId : DMA_DesignId_007 */ -/* Requirements: HL_SR173 */ -void dmaSetPriority(uint32 channel, dmaPRIORITY_t priority) -{ - if (priority == LOWPRIORITY) - { - dmaREG->CHPRIOR = (uint32)1U << channel; - } - else - { - dmaREG->CHPRIOS = (uint32)1U << channel; - } -} - - -/** @fn void dmaEnableInterrupt(uint32 channel, dmaInterrupt_t inttype) -* @brief Enable selected interrupt -* @param[in] channel DMA channel -* @param[in] inttype Interrupt to be enabled -* - FTC: Frame Transfer Complete Interrupt will be disabled for the selected channel -* - LFS: Last Frame Transfer Started Interrupt will be disabled for the selected channel -* - HBC: First Half Of Block Complete Interrupt will be disabled for the selected channel -* - BTC: Block transfer complete Interrupt will be disabled for the selected channel -* - BER: Bus Error Interrupt will be disabled for the selected channel -* -* This function enables the selected interrupt for the selected channel -*/ -/* SourceId : DMA_SourceId_008 */ -/* DesignId : DMA_DesignId_008 */ -/* Requirements: HL_SR174 */ -void dmaEnableInterrupt(uint32 channel, dmaInterrupt_t inttype) -{ - dmaREG->GCHIENAS = (uint32)1U << channel; - - switch (inttype) - { - case FTC: dmaREG->FTCINTENAS = (uint32)1U << channel; - break; - case LFS: dmaREG->LFSINTENAS = (uint32)1U << channel; - break; - case HBC: dmaREG->HBCINTENAS = (uint32)1U << channel; - break; - case BTC: dmaREG->BTCINTENAS = (uint32)1U << channel; - break; - default : - break; - } -} - - - -/** @fn void dmaDisableInterrupt(uint32 channel, dmaInterrupt_t inttype) -* @brief Disable selected interrupt -* @param[in] channel DMA channel -* @param[in] inttype Interrupt to be disabled -* - FTC: Frame Transfer Complete Interrupt will be disabled for the selected channel -* - LFS: Last Frame Transfer Started Interrupt will be disabled for the selected channel -* - HBC: First Half Of Block Complete Interrupt will be disabled for the selected channel -* - BTC: Block transfer complete Interrupt will be disabled for the selected channel -* - BER: Bus Error Interrupt will be disabled for the selected channel -* -* This function disables the selected interrupt for the selected channel -*/ -/* SourceId : DMA_SourceId_009 */ -/* DesignId : DMA_DesignId_009 */ -/* Requirements: HL_SR175 */ -void dmaDisableInterrupt(uint32 channel, dmaInterrupt_t inttype) -{ - switch (inttype) - { - case FTC: dmaREG->FTCINTENAR = (uint32)1U << channel; - break; - case LFS: dmaREG->LFSINTENAR = (uint32)1U << channel; - break; - case HBC: dmaREG->HBCINTENAR = (uint32)1U << channel; - break; - case BTC: dmaREG->BTCINTENAR = (uint32)1U << channel; - break; - default : - break; - } -} - - - -/** @fn void dmaDefineRegion(dmaREGION_t region, uint32 start_add, uint32 end_add) -* @brief Configure start and end address of the region -* @param[in] region Memory Region -* - DMA_REGION0 -* - DMA_REGION1 -* - DMA_REGION2 -* - DMA_REGION3 -* @param[in] start_add Start address of the the region -* @param[in] end_add End address of the region -* -* This function configure start and end address of the selected region -*/ -/* SourceId : DMA_SourceId_010 */ -/* DesignId : DMA_DesignId_010 */ -/* Requirements: HL_SR176 */ -void dmaDefineRegion(dmaREGION_t region, uint32 start_add, uint32 end_add) -{ - dmaREG->DMAMPR[region].STARTADD = start_add; - dmaREG->DMAMPR[region].ENDADD = end_add; -} - - - -/** @fn void dmaEnableRegion(dmaREGION_t region, dmaRegionAccess_t access, boolean intenable) -* @brief Enable the selected region -* @param[in] region Memory Region -* - DMA_REGION0 -* - DMA_REGION1 -* - DMA_REGION2 -* - DMA_REGION3 -* @param[in] access Access permission of the selected region -* - FULLACCESS -* - READONLY -* - WRITEONLY -* - NOACCESS -* @param[in] intenable Interrupt to be enabled or not -* - INTERRUPT_ENABLE : Enable interrupt for the selected region -* - INTERRUPT_DISABLE: Disable interrupt for the selected region -* -* This function enables the selected region with selected access permission with or without interrupt enable -*/ -/* SourceId : DMA_SourceId_011 */ -/* DesignId : DMA_DesignId_011 */ -/* Requirements: HL_SR177 */ -void dmaEnableRegion(dmaREGION_t region, dmaRegionAccess_t access, boolean intenable) -{ - dmaREG->DMAMPCTRL &= ~(uint32)((uint32)0xFFU << (region*8U)); - - /* Enable the region */ - dmaREG->DMAMPCTRL |= (uint32)1U << (region*8U); - - /* Set access permission for the region */ - dmaREG->DMAMPCTRL |= (uint32)access << ((region*8U) + 1U); - - if(intenable) - { - /* Enable interrupt */ - dmaREG->DMAMPCTRL |= (uint32)1U << ((region*8U) + 3U); - } -} - - - -/** @fn void dmaDisableRegion(dmaREGION_t region) -* @brief Disable the selected region -* @param[in] region Memory Region -* - DMA_REGION0 -* - DMA_REGION1 -* - DMA_REGION2 -* - DMA_REGION3 -* -* This function disables the selected region(no address checking done). -*/ -/* SourceId : DMA_SourceId_012 */ -/* DesignId : DMA_DesignId_012 */ -/* Requirements: HL_SR178 */ -void dmaDisableRegion(dmaREGION_t region) -{ - dmaREG->DMAMPCTRL &= ~(uint32)((uint32)1U << ((uint32)region*8U)); -} - - - -/** @fn void dmaEnableParityCheck(void) -* @brief Enable Parity Check -* -* This function enables parity check -*/ -/* SourceId : DMA_SourceId_013 */ -/* DesignId : DMA_DesignId_013 */ -/* Requirements: HL_SR179 */ -void dmaEnableParityCheck(void) -{ - dmaREG->DMAPCR = 0xAU; -} - - - -/** @fn void dmaDisableParityCheck(void) -* @brief Disable Parity Check -* -* This function disables parity check -*/ -/* SourceId : DMA_SourceId_014 */ -/* DesignId : DMA_DesignId_014 */ -/* Requirements: HL_SR180 */ -void dmaDisableParityCheck(void) -{ - dmaREG->DMAPCR = 0x5U; -} - -/** @fn void dmaGetConfigValue(dma_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : DMA_SourceId_015 */ -/* DesignId : DMA_DesignId_015 */ -/* Requirements: HL_SR183 */ -void dmaGetConfigValue(dma_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - {/* Do not pass Initial value as parameter as there is no DMA initialization API */ - } - else - { - config_reg->CONFIG_CHPRIOS = dmaREG->CHPRIOS; - config_reg->CONFIG_GCHIENAS = dmaREG->GCHIENAS; - config_reg->CONFIG_DREQASI[0U] = dmaREG->DREQASI[0U]; - config_reg->CONFIG_DREQASI[1U] = dmaREG->DREQASI[1U]; - config_reg->CONFIG_DREQASI[2U] = dmaREG->DREQASI[2U]; - config_reg->CONFIG_DREQASI[3U] = dmaREG->DREQASI[3U]; - config_reg->CONFIG_DREQASI[4U] = dmaREG->DREQASI[4U]; - config_reg->CONFIG_DREQASI[5U] = dmaREG->DREQASI[5U]; - config_reg->CONFIG_DREQASI[6U] = dmaREG->DREQASI[6U]; - config_reg->CONFIG_DREQASI[7U] = dmaREG->DREQASI[7U]; - config_reg->CONFIG_FTCINTENAS = dmaREG->FTCINTENAS; - config_reg->CONFIG_LFSINTENAS = dmaREG->LFSINTENAS; - config_reg->CONFIG_HBCINTENAS = dmaREG->HBCINTENAS; - config_reg->CONFIG_BTCINTENAS = dmaREG->BTCINTENAS; - config_reg->CONFIG_DMAPCR = dmaREG->DMAPCR; - config_reg->CONFIG_DMAMPCTRL = dmaREG->DMAMPCTRL; - } -} - - - - - +/** @file dma.c +* @brief DMA Driver Implementation File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + + +#include "sys_dma.h" +#include "sys_vim.h" + +/** @fn void dmaEnable(void) +* @brief enables DMA module +* +* This function brings DMA out of reset +*/ +/* SourceId : DMA_SourceId_001 */ +/* DesignId : DMA_DesignId_001 */ +/* Requirements: HL_SR167 */ +void dmaEnable(void) +{ + dmaREG->GCTRL = 0x00010000U; /* enable dma */ + dmaREG->GCTRL |= 0x00000300U; /* stop at suspend */ +} + +/** @fn void dmaDisable(void) +* @brief disables DMA module +* +* This function disables DMA module +*/ +/* SourceId : DMA_SourceId_002 */ +/* DesignId : DMA_DesignId_002 */ +/* Requirements: HL_SR168 */ +void dmaDisable(void) +{ + /* Wait until DMA's external bus has completed data transfer */ + /*SAFETYMCUSW 134 S MR: 12.2 "Tool issue" */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((dmaREG->GCTRL & DMA_GCTRL_BUSBUSY) != 0U) + { + } /* Wait */ + /* Disable DMA module */ + dmaREG->GCTRL = 0U; +} + + +/** @fn void dmaReqAssign(uint32 channel,uint32 reqline) +* @brief Assign DMA request lines to channels +* @param[in] channel DMA channel +* @param[in] reqline DMA request line +* +* This function assigns DMA request lines to channels +*/ +/* SourceId : DMA_SourceId_003 */ +/* DesignId : DMA_DesignId_005 */ +/* Requirements: HL_SR169 */ +void dmaReqAssign(uint32 channel,uint32 reqline) +{ + register uint32 i=0U,j=0U; + + i = channel >> 2U; /* Find the register to configure */ + j = channel - (i << 2U); /* Find the offset of the type */ + j = 3U - j; /* reverse the byte order */ + j = j << 3U; /* find the bit location */ + + /* mapping channel 'i' to request line 'j' */ + dmaREG->DREQASI[i] &= ~(uint32)((uint32)0xFFU << j); + dmaREG->DREQASI[i] |= (reqline << j); +} + + +/** @fn uint32 dmaGetReq(uint32 channel) +* @brief Gets the request line number mapped to the selected channel +* @param[in] channel DMA channel +* +* This function returns the request line number mapped to the selected channel +*/ +/* SourceId : DMA_SourceId_004 */ +/* DesignId : DMA_DesignId_006 */ +/* Requirements: HL_SR170 */ +uint32 dmaGetReq(uint32 channel) +{ + register uint32 i=0U,j=0U; + + i = channel >> 2U; /* Find the register to configure */ + j = channel - (i << 2U); /* Find the offset of the type */ + j = 3U - j; /* reverse the byte order */ + j = j << 3U; /* find the bit location */ + return ((dmaREG->DREQASI[i] >> j) & 0xFFU); +} + + +/** @fn void dmaSetCtrlPacket(uint32 channel) +* @brief Set control packet +* +* This function sets control packet +*/ +/* SourceId : DMA_SourceId_005 */ +/* DesignId : DMA_DesignId_003 */ +/* Requirements: HL_SR171 */ +void dmaSetCtrlPacket(uint32 channel, g_dmaCTRL g_dmaCTRLPKT) +{ + register uint32 i=0U,j=0U; + + dmaRAMREG->PCP[channel].ISADDR = g_dmaCTRLPKT.SADD; + + dmaRAMREG->PCP[channel].IDADDR = g_dmaCTRLPKT.DADD; + + dmaRAMREG->PCP[channel].ITCOUNT = (g_dmaCTRLPKT.FRCNT << 16U) | g_dmaCTRLPKT.ELCNT; + + dmaRAMREG->PCP[channel].CHCTRL = (g_dmaCTRLPKT.RDSIZE << 14U) | (g_dmaCTRLPKT.WRSIZE << 12U) | (g_dmaCTRLPKT.TTYPE << 8U)| \ + (g_dmaCTRLPKT.ADDMODERD << 3U ) | (g_dmaCTRLPKT.ADDMODEWR << 1U ) | (g_dmaCTRLPKT.AUTOINIT); + + dmaRAMREG->PCP[channel].CHCTRL |= (g_dmaCTRLPKT.CHCTRL << 16U); + + dmaRAMREG->PCP[channel].EIOFF = (g_dmaCTRLPKT.ELDOFFSET << 16U) | (g_dmaCTRLPKT.ELSOFFSET); + + dmaRAMREG->PCP[channel].FIOFF = (g_dmaCTRLPKT.FRDOFFSET << 16U) | (g_dmaCTRLPKT.FRSOFFSET); + + i = channel >> 3U; /* Find the register to write */ + j = channel - (i << 3U); /* Find the offset of the 4th bit */ + j = 7U - j; /* Reverse the order of the 4th bit offset */ + j = j << 2U; /* Find the bit location of the 4th bit to write */ + + dmaREG->PAR[i] &= ~(uint32)((uint32)0xFU << j); + dmaREG->PAR[i] |= (g_dmaCTRLPKT.PORTASGN << j); +} + + + +/** @fn void dmaSetChEnable(uint32 channel,uint32 type) +* @brief Enable channel +* @param[in] channel DMA channel +* @param[in] type Type of triggering +* - DMA_HW: Enables the selected DMA channel for hardware triggering +* - DMA_SW: Enables the selected DMA channel for software triggering +* +* This function enables the DMA channel for hardware or software triggering +*/ +/* SourceId : DMA_SourceId_006 */ +/* DesignId : DMA_DesignId_004 */ +/* Requirements: HL_SR172 */ +void dmaSetChEnable(uint32 channel,uint32 type) +{ + if(type == (uint32)DMA_HW) + { + dmaREG->HWCHENAS = (uint32)1U << channel; + } + else if(type == (uint32)DMA_SW) + { + dmaREG->SWCHENAS = (uint32)1U << channel; + } + else + { + /* Empty */ + } +} + + + +/** @fn void dmaSetPriority(uint32 channel, dmaPRIORITY_t priority) +* @brief Assign Priority to the channel +* @param[in] channel DMA channel +* @param[in] priority Priority queue to which channel needs to be assigned +* - LOWPRIORITY : The selected channel will be assigned to low priority queue +* - HIGHPRIORITY: The selected channel will be assigned to high priority queue +* +* This function assigns the selected priority to the selected channel +*/ +/* SourceId : DMA_SourceId_007 */ +/* DesignId : DMA_DesignId_007 */ +/* Requirements: HL_SR173 */ +void dmaSetPriority(uint32 channel, dmaPRIORITY_t priority) +{ + if (priority == LOWPRIORITY) + { + dmaREG->CHPRIOR = (uint32)1U << channel; + } + else + { + dmaREG->CHPRIOS = (uint32)1U << channel; + } +} + + +/** @fn void dmaEnableInterrupt(uint32 channel, dmaInterrupt_t inttype) +* @brief Enable selected interrupt +* @param[in] channel DMA channel +* @param[in] inttype Interrupt to be enabled +* - FTC: Frame Transfer Complete Interrupt will be disabled for the selected channel +* - LFS: Last Frame Transfer Started Interrupt will be disabled for the selected channel +* - HBC: First Half Of Block Complete Interrupt will be disabled for the selected channel +* - BTC: Block transfer complete Interrupt will be disabled for the selected channel +* - BER: Bus Error Interrupt will be disabled for the selected channel +* +* This function enables the selected interrupt for the selected channel +*/ +/* SourceId : DMA_SourceId_008 */ +/* DesignId : DMA_DesignId_008 */ +/* Requirements: HL_SR174 */ +void dmaEnableInterrupt(uint32 channel, dmaInterrupt_t inttype) +{ + dmaREG->GCHIENAS = (uint32)1U << channel; + + switch (inttype) + { + case FTC: dmaREG->FTCINTENAS = (uint32)1U << channel; + break; + case LFS: dmaREG->LFSINTENAS = (uint32)1U << channel; + break; + case HBC: dmaREG->HBCINTENAS = (uint32)1U << channel; + break; + case BTC: dmaREG->BTCINTENAS = (uint32)1U << channel; + break; + default : + break; + } +} + + + +/** @fn void dmaDisableInterrupt(uint32 channel, dmaInterrupt_t inttype) +* @brief Disable selected interrupt +* @param[in] channel DMA channel +* @param[in] inttype Interrupt to be disabled +* - FTC: Frame Transfer Complete Interrupt will be disabled for the selected channel +* - LFS: Last Frame Transfer Started Interrupt will be disabled for the selected channel +* - HBC: First Half Of Block Complete Interrupt will be disabled for the selected channel +* - BTC: Block transfer complete Interrupt will be disabled for the selected channel +* - BER: Bus Error Interrupt will be disabled for the selected channel +* +* This function disables the selected interrupt for the selected channel +*/ +/* SourceId : DMA_SourceId_009 */ +/* DesignId : DMA_DesignId_009 */ +/* Requirements: HL_SR175 */ +void dmaDisableInterrupt(uint32 channel, dmaInterrupt_t inttype) +{ + switch (inttype) + { + case FTC: dmaREG->FTCINTENAR = (uint32)1U << channel; + break; + case LFS: dmaREG->LFSINTENAR = (uint32)1U << channel; + break; + case HBC: dmaREG->HBCINTENAR = (uint32)1U << channel; + break; + case BTC: dmaREG->BTCINTENAR = (uint32)1U << channel; + break; + default : + break; + } +} + + + +/** @fn void dmaDefineRegion(dmaREGION_t region, uint32 start_add, uint32 end_add) +* @brief Configure start and end address of the region +* @param[in] region Memory Region +* - DMA_REGION0 +* - DMA_REGION1 +* - DMA_REGION2 +* - DMA_REGION3 +* @param[in] start_add Start address of the the region +* @param[in] end_add End address of the region +* +* This function configure start and end address of the selected region +*/ +/* SourceId : DMA_SourceId_010 */ +/* DesignId : DMA_DesignId_010 */ +/* Requirements: HL_SR176 */ +void dmaDefineRegion(dmaREGION_t region, uint32 start_add, uint32 end_add) +{ + dmaREG->DMAMPR[region].STARTADD = start_add; + dmaREG->DMAMPR[region].ENDADD = end_add; +} + + + +/** @fn void dmaEnableRegion(dmaREGION_t region, dmaRegionAccess_t access, boolean intenable) +* @brief Enable the selected region +* @param[in] region Memory Region +* - DMA_REGION0 +* - DMA_REGION1 +* - DMA_REGION2 +* - DMA_REGION3 +* @param[in] access Access permission of the selected region +* - FULLACCESS +* - READONLY +* - WRITEONLY +* - NOACCESS +* @param[in] intenable Interrupt to be enabled or not +* - INTERRUPT_ENABLE : Enable interrupt for the selected region +* - INTERRUPT_DISABLE: Disable interrupt for the selected region +* +* This function enables the selected region with selected access permission with or without interrupt enable +*/ +/* SourceId : DMA_SourceId_011 */ +/* DesignId : DMA_DesignId_011 */ +/* Requirements: HL_SR177 */ +void dmaEnableRegion(dmaREGION_t region, dmaRegionAccess_t access, boolean intenable) +{ + dmaREG->DMAMPCTRL &= ~(uint32)((uint32)0xFFU << (region*8U)); + + /* Enable the region */ + dmaREG->DMAMPCTRL |= (uint32)1U << (region*8U); + + /* Set access permission for the region */ + dmaREG->DMAMPCTRL |= (uint32)access << ((region*8U) + 1U); + + if(intenable) + { + /* Enable interrupt */ + dmaREG->DMAMPCTRL |= (uint32)1U << ((region*8U) + 3U); + } +} + + + +/** @fn void dmaDisableRegion(dmaREGION_t region) +* @brief Disable the selected region +* @param[in] region Memory Region +* - DMA_REGION0 +* - DMA_REGION1 +* - DMA_REGION2 +* - DMA_REGION3 +* +* This function disables the selected region(no address checking done). +*/ +/* SourceId : DMA_SourceId_012 */ +/* DesignId : DMA_DesignId_012 */ +/* Requirements: HL_SR178 */ +void dmaDisableRegion(dmaREGION_t region) +{ + dmaREG->DMAMPCTRL &= ~(uint32)((uint32)1U << ((uint32)region*8U)); +} + + + +/** @fn void dmaEnableParityCheck(void) +* @brief Enable Parity Check +* +* This function enables parity check +*/ +/* SourceId : DMA_SourceId_013 */ +/* DesignId : DMA_DesignId_013 */ +/* Requirements: HL_SR179 */ +void dmaEnableParityCheck(void) +{ + dmaREG->DMAPCR = 0xAU; +} + + + +/** @fn void dmaDisableParityCheck(void) +* @brief Disable Parity Check +* +* This function disables parity check +*/ +/* SourceId : DMA_SourceId_014 */ +/* DesignId : DMA_DesignId_014 */ +/* Requirements: HL_SR180 */ +void dmaDisableParityCheck(void) +{ + dmaREG->DMAPCR = 0x5U; +} + +/** @fn void dmaGetConfigValue(dma_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : DMA_SourceId_015 */ +/* DesignId : DMA_DesignId_015 */ +/* Requirements: HL_SR183 */ +void dmaGetConfigValue(dma_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + {/* Do not pass Initial value as parameter as there is no DMA initialization API */ + } + else + { + config_reg->CONFIG_CHPRIOS = dmaREG->CHPRIOS; + config_reg->CONFIG_GCHIENAS = dmaREG->GCHIENAS; + config_reg->CONFIG_DREQASI[0U] = dmaREG->DREQASI[0U]; + config_reg->CONFIG_DREQASI[1U] = dmaREG->DREQASI[1U]; + config_reg->CONFIG_DREQASI[2U] = dmaREG->DREQASI[2U]; + config_reg->CONFIG_DREQASI[3U] = dmaREG->DREQASI[3U]; + config_reg->CONFIG_DREQASI[4U] = dmaREG->DREQASI[4U]; + config_reg->CONFIG_DREQASI[5U] = dmaREG->DREQASI[5U]; + config_reg->CONFIG_DREQASI[6U] = dmaREG->DREQASI[6U]; + config_reg->CONFIG_DREQASI[7U] = dmaREG->DREQASI[7U]; + config_reg->CONFIG_FTCINTENAS = dmaREG->FTCINTENAS; + config_reg->CONFIG_LFSINTENAS = dmaREG->LFSINTENAS; + config_reg->CONFIG_HBCINTENAS = dmaREG->HBCINTENAS; + config_reg->CONFIG_BTCINTENAS = dmaREG->BTCINTENAS; + config_reg->CONFIG_DMAPCR = dmaREG->DMAPCR; + config_reg->CONFIG_DMAMPCTRL = dmaREG->DMAMPCTRL; + } +} + + + + + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_intvecs.asm b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_intvecs.asm index e0833fca..ee598068 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_intvecs.asm +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_intvecs.asm @@ -1,66 +1,66 @@ -;------------------------------------------------------------------------------- -; sys_intvecs.asm -; -; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -; -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; -; Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; -; Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the -; distribution. -; -; Neither the name of Texas Instruments Incorporated nor the names of -; its contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -; -; -; - - .sect ".intvecs" - .arm - -;------------------------------------------------------------------------------- -; import reference for interrupt routines - - .ref _c_int00 - .ref _dabort - .ref phantomInterrupt - .def resetEntry - -;------------------------------------------------------------------------------- -; interrupt vectors - -resetEntry - b _c_int00 -undefEntry - b undefEntry -svcEntry - b svcEntry -prefetchEntry - b prefetchEntry - b _dabort - b phantomInterrupt - ldr pc,[pc,#-0x1b0] - ldr pc,[pc,#-0x1b0] - - -;------------------------------------------------------------------------------- +;------------------------------------------------------------------------------- +; sys_intvecs.asm +; +; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +; +; +; Redistribution and use in source and binary forms, with or without +; modification, are permitted provided that the following conditions +; are met: +; +; Redistributions of source code must retain the above copyright +; notice, this list of conditions and the following disclaimer. +; +; Redistributions in binary form must reproduce the above copyright +; notice, this list of conditions and the following disclaimer in the +; documentation and/or other materials provided with the +; distribution. +; +; Neither the name of Texas Instruments Incorporated nor the names of +; its contributors may be used to endorse or promote products derived +; from this software without specific prior written permission. +; +; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +; +; +; + + .sect ".intvecs" + .arm + +;------------------------------------------------------------------------------- +; import reference for interrupt routines + + .ref _c_int00 + .ref _dabort + .ref phantomInterrupt + .def resetEntry + +;------------------------------------------------------------------------------- +; interrupt vectors + +resetEntry + b _c_int00 +undefEntry + b undefEntry +svcEntry + b svcEntry +prefetchEntry + b prefetchEntry + b _dabort + b phantomInterrupt + ldr pc,[pc,#-0x1b0] + ldr pc,[pc,#-0x1b0] + + +;------------------------------------------------------------------------------- diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_link.cmd b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_link.cmd index e9f39895..63e32ffb 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_link.cmd +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_link.cmd @@ -1,97 +1,97 @@ -/*----------------------------------------------------------------------------*/ -/* sys_link.cmd */ -/* */ -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -/* */ -/*----------------------------------------------------------------------------*/ -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - - -/*----------------------------------------------------------------------------*/ -/* Linker Settings */ - ---retain="*(.intvecs)" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/*----------------------------------------------------------------------------*/ -/* Memory Map */ - -MEMORY -{ - VECTORS (X) : origin=0x00000000 length=0x00000020 - FLASH0 (RX) : origin=0x00000020 length=0x0013FFE0 - STACKS (RW) : origin=0x08000000 length=0x00001500 - RAM (RW) : origin=0x08001500 length=0x0002EB00 - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - -/*----------------------------------------------------------------------------*/ -/* Section Configuration */ - -SECTIONS -{ - .intvecs : {} > VECTORS - .text : {} > FLASH0 - .const : {} > FLASH0 - .cinit : {} > FLASH0 - .pinit : {} > FLASH0 - .bss : {} > RAM - .data : {} > RAM - .sysmem : {} > RAM - - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - - -/*----------------------------------------------------------------------------*/ -/* Misc */ - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ -/*----------------------------------------------------------------------------*/ +/*----------------------------------------------------------------------------*/ +/* sys_link.cmd */ +/* */ +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +/* */ +/*----------------------------------------------------------------------------*/ +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + + +/*----------------------------------------------------------------------------*/ +/* Linker Settings */ + +--retain="*(.intvecs)" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/*----------------------------------------------------------------------------*/ +/* Memory Map */ + +MEMORY +{ + VECTORS (X) : origin=0x00000000 length=0x00000020 + FLASH0 (RX) : origin=0x00000020 length=0x0013FFE0 + STACKS (RW) : origin=0x08000000 length=0x00001500 + RAM (RW) : origin=0x08001500 length=0x0002EB00 + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + +/*----------------------------------------------------------------------------*/ +/* Section Configuration */ + +SECTIONS +{ + .intvecs : {} > VECTORS + .text : {} > FLASH0 + .const : {} > FLASH0 + .cinit : {} > FLASH0 + .pinit : {} > FLASH0 + .bss : {} > RAM + .data : {} > RAM + .sysmem : {} > RAM + + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + + +/*----------------------------------------------------------------------------*/ +/* Misc */ + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ +/*----------------------------------------------------------------------------*/ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_main.c b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_main.c index a8d5070f..441d71ae 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_main.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_main.c @@ -1,76 +1,76 @@ -/** @file sys_main.c -* @brief Application main file -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains an empty main function, -* which can be used for the application. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Include Files */ - -#include "sys_common.h" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @fn void main(void) -* @brief Application main function -* @note This function is empty by default. -* -* This function is called after startup. -* The user can use this function to implement the application. -*/ - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -int main(void) -{ -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - - return 0; -} - - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ +/** @file sys_main.c +* @brief Application main file +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains an empty main function, +* which can be used for the application. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Include Files */ + +#include "sys_common.h" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @fn void main(void) +* @brief Application main function +* @note This function is empty by default. +* +* This function is called after startup. +* The user can use this function to implement the application. +*/ + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +int main(void) +{ +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + + return 0; +} + + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_mpu.asm b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_mpu.asm index 0fec1bbb..77a3adb1 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_mpu.asm +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_mpu.asm @@ -1,470 +1,470 @@ -;------------------------------------------------------------------------------- -; sys_mpu.asm -; -; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -; -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; -; Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; -; Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the -; distribution. -; -; Neither the name of Texas Instruments Incorporated nor the names of -; its contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -; -; -; - - .text - .arm - - -;------------------------------------------------------------------------------- -; Initalize Mpu -; SourceId : MPU_SourceId_001 -; DesignId : MPU_DesignId_001 -; Requirements : HL_SR487 - - .def _mpuInit_ - .asmfunc - -_mpuInit_ - ; Disable mpu - mrc p15, #0, r0, c1, c0, #0 - bic r0, r0, #1 - dsb - mcr p15, #0, r0, c1, c0, #0 - isb - ; Disable background region - mrc p15, #0, r0, c1, c0, #0 - bic r0, r0, #0x20000 - mcr p15, #0, r0, c1, c0, #0 - ; Setup region 1 - mov r0, #0 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r1Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0008 - orr r0, r0, #0x1000 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((1 << 15) + (1 << 14) + (1 << 13) + (1 << 12) + (1 << 11) + (1 << 10) + (1 << 9) + (1 << 8) + (0x1F << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 2 - mov r0, #1 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r2Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0008 - orr r0, r0, #0x0600 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x15 << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region - mov r0, #2 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r3Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0008 - orr r0, r0, #0x0300 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x11 << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 4 - mov r0, #3 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r4Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0008 - orr r0, r0, #0x0300 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x11 << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 5 - mov r0, #4 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r5Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0000 - orr r0, r0, #0x0300 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((1 << 15) + (1 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x19 << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 6 - mov r0, #5 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r6Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0000 - orr r0, r0, #0x0300 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x1A << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 7 - mov r0, #6 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r7Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0008 - orr r0, r0, #0x1200 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x16 << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 8 - mov r0, #7 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r8Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0010 - orr r0, r0, #0x1300 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x17 << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 9 - mov r0, #8 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r9Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0010 - orr r0, r0, #0x1300 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x08 << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 10 - mov r0, #9 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r10Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0010 - orr r0, r0, #0x1300 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x17 << 1) + (1)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 11 - mov r0, #10 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r11Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0008 - orr r0, r0, #0x1100 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((1 << 15) + (1 << 14) + (1 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x0A << 1) + (0)) - mcr p15, #0, r0, c6, c1, #2 - ; Setup region 12 - mov r0, #11 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, r12Base - mcr p15, #0, r0, c6, c1, #0 - mov r0, #0x0008 - orr r0, r0, #0x1300 - mcr p15, #0, r0, c6, c1, #4 - movw r0, #((1 << 15) + (1 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x15 << 1) + (0)) - mcr p15, #0, r0, c6, c1, #2 - - - ; Enable mpu background region - mrc p15, #0, r0, c1, c0, #0 - orr r0, r0, #0x20000 - mcr p15, #0, r0, c1, c0, #0 - ; Enable mpu - mrc p15, #0, r0, c1, c0, #0 - orr r0, r0, #1 - dsb - mcr p15, #0, r0, c1, c0, #0 - isb - bx lr - -r1Base .word 0x00000000 -r2Base .word 0x00000000 -r3Base .word 0x08000000 -r4Base .word 0x08400000 -r5Base .word 0x60000000 -r6Base .word 0x80000000 -r7Base .word 0xF0000000 -r8Base .word 0xFC000000 -r9Base .word 0xFE000000 -r10Base .word 0xFF000000 -r11Base .word 0x08001000 -r12Base .word 0x20000000 - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Enable Mpu -; SourceId : MPU_SourceId_002 -; DesignId : MPU_DesignId_002 -; Requirements : HL_SR488 - - .def _mpuEnable_ - .asmfunc - -_mpuEnable_ - - mrc p15, #0, r0, c1, c0, #0 - orr r0, r0, #1 - dsb - mcr p15, #0, r0, c1, c0, #0 - isb - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Disable Mpu -; SourceId : MPU_SourceId_003 -; DesignId : MPU_DesignId_003 -; Requirements : HL_SR488 - - .def _mpuDisable_ - .asmfunc - -_mpuDisable_ - - mrc p15, #0, r0, c1, c0, #0 - bic r0, r0, #1 - dsb - mcr p15, #0, r0, c1, c0, #0 - isb - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Enable Mpu background region -; SourceId : MPU_SourceId_004 -; DesignId : MPU_DesignId_004 -; Requirements : HL_SR488 - - .def _mpuEnableBackgroundRegion_ - .asmfunc - -_mpuEnableBackgroundRegion_ - - mrc p15, #0, r0, c1, c0, #0 - orr r0, r0, #0x20000 - mcr p15, #0, r0, c1, c0, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Disable Mpu background region -; SourceId : MPU_SourceId_005 -; DesignId : MPU_DesignId_005 -; Requirements : HL_SR488 - - .def _mpuDisableBackgroundRegion_ - .asmfunc - -_mpuDisableBackgroundRegion_ - - mrc p15, #0, r0, c1, c0, #0 - bic r0, r0, #0x20000 - mcr p15, #0, r0, c1, c0, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Returns number of implemented Mpu regions -; SourceId : MPU_SourceId_006 -; DesignId : MPU_DesignId_006 -; Requirements : HL_SR490 - - .def _mpuGetNumberOfRegions_ - .asmfunc - -_mpuGetNumberOfRegions_ - - mrc p15, #0, r0, c0, c0, #4 - uxtb r0, r0, ROR #8 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Returns the type of the implemented mpu regions -; SourceId : MPU_SourceId_007 -; DesignId : MPU_DesignId_007 -; Requirements : HL_SR490 - - .def _mpuAreRegionsSeparate_ - .asmfunc - -_mpuAreRegionsSeparate_ - - mrc p15, #0, r0, c0, c0, #4 - uxtb r0, r0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Set mpu region number -; SourceId : MPU_SourceId_008 -; DesignId : MPU_DesignId_008 -; Requirements : HL_SR489 - - .def _mpuSetRegion_ - .asmfunc - -_mpuSetRegion_ - - mcr p15, #0, r0, c6, c2, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get mpu region number -; SourceId : MPU_SourceId_009 -; DesignId : MPU_DesignId_009 -; Requirements : HL_SR490 - - .def _mpuGetRegion_ - .asmfunc - -_mpuGetRegion_ - - mrc p15, #0, r0, c6, c2, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Set base address -; SourceId : MPU_SourceId_010 -; DesignId : MPU_DesignId_010 -; Requirements : HL_SR489 - - .def _mpuSetRegionBaseAddress_ - .asmfunc - -_mpuSetRegionBaseAddress_ - - mcr p15, #0, r0, c6, c1, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get base address -; SourceId : MPU_SourceId_011 -; DesignId : MPU_DesignId_011 -; Requirements : HL_SR490 - - .def _mpuGetRegionBaseAddress_ - .asmfunc - -_mpuGetRegionBaseAddress_ - - mrc p15, #0, r0, c6, c1, #0 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Set type and permission -; SourceId : MPU_SourceId_012 -; DesignId : MPU_DesignId_012 -; Requirements : HL_SR489 - - .def _mpuSetRegionTypeAndPermission_ - .asmfunc - -_mpuSetRegionTypeAndPermission_ - - orr r0, r0, r1 - mcr p15, #0, r0, c6, c1, #4 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get type -; SourceId : MPU_SourceId_013 -; DesignId : MPU_DesignId_013 -; Requirements : HL_SR490 - - .def _mpuGetRegionType_ - .asmfunc - -_mpuGetRegionType_ - - mrc p15, #0, r0, c6, c1, #4 - bic r0, r0, #0xFF00 - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Get permission -; SourceId : MPU_SourceId_014 -; DesignId : MPU_DesignId_014 -; Requirements : HL_SR490 - - .def _mpuGetRegionPermission_ - .asmfunc - -_mpuGetRegionPermission_ - - mrc p15, #0, r0, c6, c1, #4 - bic r0, r0, #0xFF - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Set region size register value -; SourceId : MPU_SourceId_015 -; DesignId : MPU_DesignId_015 -; Requirements : HL_SR489 - - .def _mpuSetRegionSizeRegister_ - .asmfunc - -_mpuSetRegionSizeRegister_ - - - mcr p15, #0, r0, c6, c1, #2 - bx lr - - .endasmfunc - - - -;------------------------------------------------------------------------------- - +;------------------------------------------------------------------------------- +; sys_mpu.asm +; +; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +; +; +; Redistribution and use in source and binary forms, with or without +; modification, are permitted provided that the following conditions +; are met: +; +; Redistributions of source code must retain the above copyright +; notice, this list of conditions and the following disclaimer. +; +; Redistributions in binary form must reproduce the above copyright +; notice, this list of conditions and the following disclaimer in the +; documentation and/or other materials provided with the +; distribution. +; +; Neither the name of Texas Instruments Incorporated nor the names of +; its contributors may be used to endorse or promote products derived +; from this software without specific prior written permission. +; +; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +; +; +; + + .text + .arm + + +;------------------------------------------------------------------------------- +; Initalize Mpu +; SourceId : MPU_SourceId_001 +; DesignId : MPU_DesignId_001 +; Requirements : HL_SR487 + + .def _mpuInit_ + .asmfunc + +_mpuInit_ + ; Disable mpu + mrc p15, #0, r0, c1, c0, #0 + bic r0, r0, #1 + dsb + mcr p15, #0, r0, c1, c0, #0 + isb + ; Disable background region + mrc p15, #0, r0, c1, c0, #0 + bic r0, r0, #0x20000 + mcr p15, #0, r0, c1, c0, #0 + ; Setup region 1 + mov r0, #0 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r1Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0008 + orr r0, r0, #0x1000 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((1 << 15) + (1 << 14) + (1 << 13) + (1 << 12) + (1 << 11) + (1 << 10) + (1 << 9) + (1 << 8) + (0x1F << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 2 + mov r0, #1 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r2Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0008 + orr r0, r0, #0x0600 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x15 << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region + mov r0, #2 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r3Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0008 + orr r0, r0, #0x0300 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x11 << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 4 + mov r0, #3 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r4Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0008 + orr r0, r0, #0x0300 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x11 << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 5 + mov r0, #4 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r5Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0000 + orr r0, r0, #0x0300 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((1 << 15) + (1 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x19 << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 6 + mov r0, #5 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r6Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0000 + orr r0, r0, #0x0300 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x1A << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 7 + mov r0, #6 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r7Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0008 + orr r0, r0, #0x1200 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x16 << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 8 + mov r0, #7 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r8Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0010 + orr r0, r0, #0x1300 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x17 << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 9 + mov r0, #8 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r9Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0010 + orr r0, r0, #0x1300 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x08 << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 10 + mov r0, #9 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r10Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0010 + orr r0, r0, #0x1300 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((0 << 15) + (0 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x17 << 1) + (1)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 11 + mov r0, #10 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r11Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0008 + orr r0, r0, #0x1100 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((1 << 15) + (1 << 14) + (1 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x0A << 1) + (0)) + mcr p15, #0, r0, c6, c1, #2 + ; Setup region 12 + mov r0, #11 + mcr p15, #0, r0, c6, c2, #0 + ldr r0, r12Base + mcr p15, #0, r0, c6, c1, #0 + mov r0, #0x0008 + orr r0, r0, #0x1300 + mcr p15, #0, r0, c6, c1, #4 + movw r0, #((1 << 15) + (1 << 14) + (0 << 13) + (0 << 12) + (0 << 11) + (0 << 10) + (0 << 9) + (0 << 8) + (0x15 << 1) + (0)) + mcr p15, #0, r0, c6, c1, #2 + + + ; Enable mpu background region + mrc p15, #0, r0, c1, c0, #0 + orr r0, r0, #0x20000 + mcr p15, #0, r0, c1, c0, #0 + ; Enable mpu + mrc p15, #0, r0, c1, c0, #0 + orr r0, r0, #1 + dsb + mcr p15, #0, r0, c1, c0, #0 + isb + bx lr + +r1Base .word 0x00000000 +r2Base .word 0x00000000 +r3Base .word 0x08000000 +r4Base .word 0x08400000 +r5Base .word 0x60000000 +r6Base .word 0x80000000 +r7Base .word 0xF0000000 +r8Base .word 0xFC000000 +r9Base .word 0xFE000000 +r10Base .word 0xFF000000 +r11Base .word 0x08001000 +r12Base .word 0x20000000 + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Enable Mpu +; SourceId : MPU_SourceId_002 +; DesignId : MPU_DesignId_002 +; Requirements : HL_SR488 + + .def _mpuEnable_ + .asmfunc + +_mpuEnable_ + + mrc p15, #0, r0, c1, c0, #0 + orr r0, r0, #1 + dsb + mcr p15, #0, r0, c1, c0, #0 + isb + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Disable Mpu +; SourceId : MPU_SourceId_003 +; DesignId : MPU_DesignId_003 +; Requirements : HL_SR488 + + .def _mpuDisable_ + .asmfunc + +_mpuDisable_ + + mrc p15, #0, r0, c1, c0, #0 + bic r0, r0, #1 + dsb + mcr p15, #0, r0, c1, c0, #0 + isb + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Enable Mpu background region +; SourceId : MPU_SourceId_004 +; DesignId : MPU_DesignId_004 +; Requirements : HL_SR488 + + .def _mpuEnableBackgroundRegion_ + .asmfunc + +_mpuEnableBackgroundRegion_ + + mrc p15, #0, r0, c1, c0, #0 + orr r0, r0, #0x20000 + mcr p15, #0, r0, c1, c0, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Disable Mpu background region +; SourceId : MPU_SourceId_005 +; DesignId : MPU_DesignId_005 +; Requirements : HL_SR488 + + .def _mpuDisableBackgroundRegion_ + .asmfunc + +_mpuDisableBackgroundRegion_ + + mrc p15, #0, r0, c1, c0, #0 + bic r0, r0, #0x20000 + mcr p15, #0, r0, c1, c0, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Returns number of implemented Mpu regions +; SourceId : MPU_SourceId_006 +; DesignId : MPU_DesignId_006 +; Requirements : HL_SR490 + + .def _mpuGetNumberOfRegions_ + .asmfunc + +_mpuGetNumberOfRegions_ + + mrc p15, #0, r0, c0, c0, #4 + uxtb r0, r0, ROR #8 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Returns the type of the implemented mpu regions +; SourceId : MPU_SourceId_007 +; DesignId : MPU_DesignId_007 +; Requirements : HL_SR490 + + .def _mpuAreRegionsSeparate_ + .asmfunc + +_mpuAreRegionsSeparate_ + + mrc p15, #0, r0, c0, c0, #4 + uxtb r0, r0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Set mpu region number +; SourceId : MPU_SourceId_008 +; DesignId : MPU_DesignId_008 +; Requirements : HL_SR489 + + .def _mpuSetRegion_ + .asmfunc + +_mpuSetRegion_ + + mcr p15, #0, r0, c6, c2, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get mpu region number +; SourceId : MPU_SourceId_009 +; DesignId : MPU_DesignId_009 +; Requirements : HL_SR490 + + .def _mpuGetRegion_ + .asmfunc + +_mpuGetRegion_ + + mrc p15, #0, r0, c6, c2, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Set base address +; SourceId : MPU_SourceId_010 +; DesignId : MPU_DesignId_010 +; Requirements : HL_SR489 + + .def _mpuSetRegionBaseAddress_ + .asmfunc + +_mpuSetRegionBaseAddress_ + + mcr p15, #0, r0, c6, c1, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get base address +; SourceId : MPU_SourceId_011 +; DesignId : MPU_DesignId_011 +; Requirements : HL_SR490 + + .def _mpuGetRegionBaseAddress_ + .asmfunc + +_mpuGetRegionBaseAddress_ + + mrc p15, #0, r0, c6, c1, #0 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Set type and permission +; SourceId : MPU_SourceId_012 +; DesignId : MPU_DesignId_012 +; Requirements : HL_SR489 + + .def _mpuSetRegionTypeAndPermission_ + .asmfunc + +_mpuSetRegionTypeAndPermission_ + + orr r0, r0, r1 + mcr p15, #0, r0, c6, c1, #4 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get type +; SourceId : MPU_SourceId_013 +; DesignId : MPU_DesignId_013 +; Requirements : HL_SR490 + + .def _mpuGetRegionType_ + .asmfunc + +_mpuGetRegionType_ + + mrc p15, #0, r0, c6, c1, #4 + bic r0, r0, #0xFF00 + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Get permission +; SourceId : MPU_SourceId_014 +; DesignId : MPU_DesignId_014 +; Requirements : HL_SR490 + + .def _mpuGetRegionPermission_ + .asmfunc + +_mpuGetRegionPermission_ + + mrc p15, #0, r0, c6, c1, #4 + bic r0, r0, #0xFF + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Set region size register value +; SourceId : MPU_SourceId_015 +; DesignId : MPU_DesignId_015 +; Requirements : HL_SR489 + + .def _mpuSetRegionSizeRegister_ + .asmfunc + +_mpuSetRegionSizeRegister_ + + + mcr p15, #0, r0, c6, c1, #2 + bx lr + + .endasmfunc + + + +;------------------------------------------------------------------------------- + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pcr.c b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pcr.c index 4da7d62e..4f1b750f 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pcr.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pcr.c @@ -1,725 +1,725 @@ -/** @file sys_pcr.c -* @brief PCR Driver Implementation File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#include "sys_pcr.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @fn void peripheral_Frame_Protection_Set(peripheral_Frame_Select_t peripheral_Frame) -* @brief Set the peripheral protection of the selected frame -* @param[in] peripheral_Frame - Peripheral frame to be protected -* -* This function sets the protection for the selected frame. -*/ -/* SourceId : PCR_SourceId_001 */ -/* DesignId : PCR_DesignId_001 */ -/* Requirements : HL_SR41 */ -void peripheral_Frame_Protection_Set(peripheral_Frame_Select_t peripheral_Frame) -{ - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - - uint32 chip_select_grp; - uint32 Quarant_selct; - - chip_select_grp = (peripheral_Frame.Peripheral_CS >> 3U); - Quarant_selct = (uint32)(peripheral_Frame.Peripheral_Quadrant << ((peripheral_Frame.Peripheral_CS & 7U) << 2U)); - - if (chip_select_grp >= 3U) - { - pcrREG->PPROTSET3 = Quarant_selct; - } - else if (chip_select_grp >= 2U) - { - pcrREG->PPROTSET2 = Quarant_selct; - } - else if (chip_select_grp >= 1U) - { - pcrREG->PPROTSET1 = Quarant_selct; - } - else - { - pcrREG->PPROTSET0 = Quarant_selct; - } - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - -/** @fn void peripheral_Frame_Protection_Clr(peripheral_Frame_Select_t peripheral_Frame) -* @brief Clear the peripheral protection of the selected frame -* @param[in] peripheral_Frame - Peripheral frame to be out of protection -* -* This function clears the protection set for the selected frame. -*/ -/* SourceId : PCR_SourceId_002 */ -/* DesignId : PCR_DesignId_002 */ -/* Requirements : HL_SR42 */ -void peripheral_Frame_Protection_Clr(peripheral_Frame_Select_t peripheral_Frame) -{ - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - - uint32 chip_select_grp; - uint32 Quarant_selct; - - chip_select_grp = (peripheral_Frame.Peripheral_CS >> 3U); - Quarant_selct = (uint32)(peripheral_Frame.Peripheral_Quadrant << ((peripheral_Frame.Peripheral_CS & 7U) << 2U)); - - if (chip_select_grp >= 3U) - { - pcrREG->PPROTCLR3 = Quarant_selct; - } - else if (chip_select_grp >= 2U) - { - pcrREG->PPROTCLR2 = Quarant_selct; - } - else if (chip_select_grp >= 1U) - { - pcrREG->PPROTCLR1 = Quarant_selct; - } - else - { - pcrREG->PPROTCLR0 = Quarant_selct; - } - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (7) */ -/* USER CODE END */ - -/** @fn void peripheral_Frame_Powerdown_Set(peripheral_Frame_Select_t peripheral_Frame) -* @brief Take the selected peripheral to powerdown -* @param[in] peripheral_Frame - Peripheral frame to be taken to powerdown -* -* This function will set the selected peripheral frame to powerdown. -*/ -/* SourceId : PCR_SourceId_003 */ -/* DesignId : PCR_DesignId_003 */ -/* Requirements : HL_SR43 */ -void peripheral_Frame_Powerdown_Set(peripheral_Frame_Select_t peripheral_Frame) -{ - -/* USER CODE BEGIN (8) */ -/* USER CODE END */ - - uint32 chip_select_grp; - uint32 Quarant_selct; - - chip_select_grp = (peripheral_Frame.Peripheral_CS >> 3U); - Quarant_selct = (uint32)(peripheral_Frame.Peripheral_Quadrant << ((peripheral_Frame.Peripheral_CS & 7U) << 2U)); - - if (chip_select_grp >= 3U) - { - pcrREG->PSPWRDWNSET3 = Quarant_selct; - } - else if (chip_select_grp >= 2U) - { - pcrREG->PSPWRDWNSET2 = Quarant_selct; - } - else if (chip_select_grp >= 1U) - { - pcrREG->PSPWRDWNSET1 = Quarant_selct; - } - else - { - pcrREG->PSPWRDWNSET0 = Quarant_selct; - } - -/* USER CODE BEGIN (9) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (10) */ -/* USER CODE END */ - -/** @fn void peripheral_Frame_Powerdown_Clr(peripheral_Frame_Select_t peripheral_Frame) -* @brief Bring the selected peripheral frame out of powerdown -* @param[in] peripheral_Frame - Peripheral frame to be taken out of powerdown -* -* This function will bring the selected peripheral frame out of powerdown. -*/ -/* SourceId : PCR_SourceId_004 */ -/* DesignId : PCR_DesignId_004 */ -/* Requirements : HL_SR44 */ -void peripheral_Frame_Powerdown_Clr(peripheral_Frame_Select_t peripheral_Frame) -{ - -/* USER CODE BEGIN (11) */ -/* USER CODE END */ - - uint32 chip_select_grp; - uint32 Quarant_selct; - - chip_select_grp = (peripheral_Frame.Peripheral_CS >> 3U); - Quarant_selct = (uint32)(peripheral_Frame.Peripheral_Quadrant << ((peripheral_Frame.Peripheral_CS & 7U) << 2U)); - - if (chip_select_grp >= 3U) - { - pcrREG->PSPWRDWNCLR3 = Quarant_selct; - } - else if (chip_select_grp >= 2U) - { - pcrREG->PSPWRDWNCLR2 = Quarant_selct; - } - else if (chip_select_grp >= 1U) - { - pcrREG->PSPWRDWNCLR1 = Quarant_selct; - } - else - { - pcrREG->PSPWRDWNCLR0 = Quarant_selct; - } -/* USER CODE BEGIN (12) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (13) */ -/* USER CODE END */ - -/** @fn void peripheral_Mem_Frame_Prot_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) -* @brief Set the peripheral memory protection of the selected frame -* @param[in] peripheral_Memory_Frame_CS - Peripheral memory frame to be protected -* -* This function sets the protection for the selected peripheral memory frame. -*/ -/* SourceId : PCR_SourceId_005 */ -/* DesignId : PCR_DesignId_017 */ -/* Requirements : HL_SR57 */ -void peripheral_Mem_Frame_Prot_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) -{ - -/* USER CODE BEGIN (14) */ -/* USER CODE END */ - - uint32 chip_select_grp; - - chip_select_grp = (peripheral_Memory_Frame_CS >> 5U); - - if (chip_select_grp >= 1U) - { - pcrREG->PMPROTSET1 = (uint32)1U << (peripheral_Memory_Frame_CS & 0xFU); - } - else - { - pcrREG->PMPROTSET0 = (uint32)1U << peripheral_Memory_Frame_CS; - } - -/* USER CODE BEGIN (15) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (16) */ -/* USER CODE END */ - -/** @fn void peripheral_Mem_Frame_Prot_Clr(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) -* @brief Clear the peripheral memory protection of the selected frame -* @param[in] peripheral_Memory_Frame_CS - Peripheral memory frame to be cleared from protection -* -* This function clears the protection set for the selected peripheral memory frame. -*/ -/* SourceId : PCR_SourceId_006 */ -/* DesignId : PCR_DesignId_018 */ -/* Requirements : HL_SR58 */ -void peripheral_Mem_Frame_Prot_Clr(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) -{ - -/* USER CODE BEGIN (17) */ -/* USER CODE END */ - - uint32 chip_select_grp; - - chip_select_grp = (peripheral_Memory_Frame_CS >> 5U); - - if (chip_select_grp >= 1U) - { - pcrREG->PMPROTCLR1 = (uint32)1U << (peripheral_Memory_Frame_CS & 0xFU); - } - else - { - pcrREG->PMPROTCLR0 = (uint32)1U << peripheral_Memory_Frame_CS; - } - -/* USER CODE BEGIN (18) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (19) */ -/* USER CODE END */ - -/** @fn void peripheral_Mem_Frame_Pwrdwn_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) -* @brief Take the selected peripheral memory frame to powerdown -* @param[in] peripheral_Memory_Frame_CS - Peripheral memory frame to be taken to powerdown -* -* This function will set the selected peripheral memory frame to powerdown. -*/ -/* SourceId : PCR_SourceId_007 */ -/* DesignId : PCR_DesignId_019 */ -/* Requirements : HL_SR59 */ -void peripheral_Mem_Frame_Pwrdwn_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) -{ - -/* USER CODE BEGIN (20) */ -/* USER CODE END */ - - uint32 chip_select_grp; - - chip_select_grp = (peripheral_Memory_Frame_CS >> 5U); - - if (chip_select_grp >= 1U) - { - pcrREG->PCSPWRDWNSET0 = (uint32)1U << (peripheral_Memory_Frame_CS & 0xFU); - } - else - { - pcrREG->PCSPWRDWNSET1 = (uint32)1U << peripheral_Memory_Frame_CS; - } - -/* USER CODE BEGIN (21) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (22) */ -/* USER CODE END */ - -/** @fn void peripheral_Mem_Frame_Pwrdwn_Clr (peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) -* @brief Bring the selected peripheral Memory frame out of powerdown -* @param[in] peripheral_Memory_Frame_CS - Peripheral memory frame to be taken out of powerdown -* -* This function will bring the selected peripheral memory frame out of powerdown. -*/ -/* SourceId : PCR_SourceId_008 */ -/* DesignId : PCR_DesignId_020 */ -/* Requirements : HL_SR60 */ -void peripheral_Mem_Frame_Pwrdwn_Clr (peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) -{ - -/* USER CODE BEGIN (23) */ -/* USER CODE END */ - - uint32 chip_select_grp; - - chip_select_grp = (peripheral_Memory_Frame_CS >> 5U); - - if (chip_select_grp >= 1U) - { - pcrREG->PCSPWRDWNCLR0 = (uint32)1U << (peripheral_Memory_Frame_CS & 0xFU); - } - else - { - pcrREG->PCSPWRDWNCLR1 = (uint32)1U << peripheral_Memory_Frame_CS; - } - -/* USER CODE BEGIN (24) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (25) */ -/* USER CODE END */ - -/** @fn void peripheral_Protection_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) -* @brief Set the peripheral protection of all the selected frames -* @param[in] peripheral_Quad_CS - All Peripheral frames to be protected -* -* This function sets the protection for all the selected frames. -*/ -/* SourceId : PCR_SourceId_009 */ -/* DesignId : PCR_DesignId_005 */ -/* Requirements : HL_SR45 */ -void peripheral_Protection_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) -{ - -/* USER CODE BEGIN (26) */ -/* USER CODE END */ - - pcrREG->PPROTSET0 = peripheral_Quad_CS.Peripheral_Quad0_3_CS0_7; - pcrREG->PPROTSET1 = peripheral_Quad_CS.Peripheral_Quad4_7_CS8_15; - pcrREG->PPROTSET2 = peripheral_Quad_CS.Peripheral_Quad8_11_CS16_23; - pcrREG->PPROTSET3 = peripheral_Quad_CS.Peripheral_Quad12_15_CS24_31; - -/* USER CODE BEGIN (27) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (28) */ -/* USER CODE END */ - -/** @fn void peripheral_Protection_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) -* @brief Clear the peripheral protection of all the selected frames -* @param[in] peripheral_Quad_CS - All Peripheral frames to be out of protection. -* -* This function clears the protection set for all the selected frame. -*/ -/* SourceId : PCR_SourceId_010 */ -/* DesignId : PCR_DesignId_006 */ -/* Requirements : HL_SR46 */ -void peripheral_Protection_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) -{ - -/* USER CODE BEGIN (29) */ -/* USER CODE END */ - - pcrREG->PPROTCLR0 = peripheral_Quad_CS.Peripheral_Quad0_3_CS0_7; - pcrREG->PPROTCLR1 = peripheral_Quad_CS.Peripheral_Quad4_7_CS8_15; - pcrREG->PPROTCLR2 = peripheral_Quad_CS.Peripheral_Quad8_11_CS16_23; - pcrREG->PPROTCLR3 = peripheral_Quad_CS.Peripheral_Quad12_15_CS24_31; - -/* USER CODE BEGIN (30) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (31) */ -/* USER CODE END */ - -/** @fn void peripheral_Powerdown_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) -* @brief Take all the selected peripheral frame to powerdown -* @param[in] peripheral_Quad_CS - Peripheral frames to be taken to powerdown -* -* This function will set all the selected peripheral frame to powerdown. -*/ -/* SourceId : PCR_SourceId_011 */ -/* DesignId : PCR_DesignId_008 */ -/* Requirements : HL_SR48 */ -void peripheral_Powerdown_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) -{ - -/* USER CODE BEGIN (32) */ -/* USER CODE END */ - - pcrREG->PSPWRDWNSET0 = peripheral_Quad_CS.Peripheral_Quad0_3_CS0_7; - pcrREG->PSPWRDWNSET1 = peripheral_Quad_CS.Peripheral_Quad4_7_CS8_15; - pcrREG->PSPWRDWNSET2 = peripheral_Quad_CS.Peripheral_Quad8_11_CS16_23; - pcrREG->PSPWRDWNSET3 = peripheral_Quad_CS.Peripheral_Quad12_15_CS24_31; - -/* USER CODE BEGIN (33) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (34) */ -/* USER CODE END */ - -/** @fn void peripheral_Powerdown_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) -* @brief Bring all the selected peripheral frame out of powerdown -* @param[in] peripheral_Quad_CS - Peripheral frames to be taken out of powerdown -* -* This function will bring all the selected peripheral frame out of powerdown. -*/ -/* SourceId : PCR_SourceId_012 */ -/* DesignId : PCR_DesignId_009 */ -/* Requirements : HL_SR49 */ -void peripheral_Powerdown_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) -{ - -/* USER CODE BEGIN (35) */ -/* USER CODE END */ - - pcrREG->PSPWRDWNCLR0 = peripheral_Quad_CS.Peripheral_Quad0_3_CS0_7; - pcrREG->PSPWRDWNCLR1 = peripheral_Quad_CS.Peripheral_Quad4_7_CS8_15; - pcrREG->PSPWRDWNCLR2 = peripheral_Quad_CS.Peripheral_Quad8_11_CS16_23; - pcrREG->PSPWRDWNCLR3 = peripheral_Quad_CS.Peripheral_Quad12_15_CS24_31; - -/* USER CODE BEGIN (36) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (37) */ -/* USER CODE END */ - -/** @fn void peripheral_Memory_Protection_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) -* @brief Set the peripheral memory protection of all the selected frame -* @param[in] peripheral_Memory_CS - Peripheral memory frames to be protected -* -* This function sets the protection for all the selected peripheral memory frame. -*/ -/* SourceId : PCR_SourceId_013 */ -/* DesignId : PCR_DesignId_011 */ -/* Requirements : HL_SR51 */ -void peripheral_Memory_Protection_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) -{ - -/* USER CODE BEGIN (38) */ -/* USER CODE END */ - - pcrREG->PMPROTSET0 = peripheral_Memory_CS.Peripheral_Mem_CS0_31; - pcrREG->PMPROTSET1 = peripheral_Memory_CS.Peripheral_Mem_CS32_63; - -/* USER CODE BEGIN (39) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (40) */ -/* USER CODE END */ - -/** @fn void peripheral_Memory_Protection_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) -* @brief Clear the peripheral memory protection of all the selected frame -* @param[in] peripheral_Memory_CS - Peripheral memory frames to be cleared from protection -* -* This function clears the protection set for all the selected peripheral memory frame. -*/ -/* SourceId : PCR_SourceId_014 */ -/* DesignId : PCR_DesignId_012 */ -/* Requirements : HL_SR52 */ -void peripheral_Memory_Protection_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) -{ - -/* USER CODE BEGIN (41) */ -/* USER CODE END */ - - pcrREG->PMPROTCLR0 = peripheral_Memory_CS.Peripheral_Mem_CS0_31; - pcrREG->PMPROTCLR1 = peripheral_Memory_CS.Peripheral_Mem_CS32_63; - -/* USER CODE BEGIN (42) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (43) */ -/* USER CODE END */ - -/** @fn void peripheral_Memory_Powerdown_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) -* @brief Take all the selected peripheral memory frame to powerdown -* @param[in] peripheral_Memory_CS - Peripheral memory frames to be taken to powerdown -* -* This function will set all the selected peripheral memory frame to powerdown. -*/ -/* SourceId : PCR_SourceId_015 */ -/* DesignId : PCR_DesignId_014 */ -/* Requirements : HL_SR54 */ -void peripheral_Memory_Powerdown_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) -{ - -/* USER CODE BEGIN (44) */ -/* USER CODE END */ - - pcrREG->PCSPWRDWNSET0 = peripheral_Memory_CS.Peripheral_Mem_CS0_31; - pcrREG->PCSPWRDWNSET1 = peripheral_Memory_CS.Peripheral_Mem_CS32_63; - -/* USER CODE BEGIN (45) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (46) */ -/* USER CODE END */ - -/** @fn void peripheral_Memory_Powerdown_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) -* @brief Bring all the selected peripheral Memory frame out of powerdown -* @param[in] peripheral_Memory_CS - Peripheral memory frames to be taken out of powerdown -* -* This function will bring all the selected peripheral memory frame out of powerdown. -*/ -/* SourceId : PCR_SourceId_016 */ -/* DesignId : PCR_DesignId_015 */ -/* Requirements : HL_SR55 */ -void peripheral_Memory_Powerdown_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) -{ - -/* USER CODE BEGIN (47) */ -/* USER CODE END */ - - pcrREG->PCSPWRDWNSET0 = peripheral_Memory_CS.Peripheral_Mem_CS0_31; - pcrREG->PCSPWRDWNCLR0 = peripheral_Memory_CS.Peripheral_Mem_CS32_63; - -/* USER CODE BEGIN (48) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (49) */ -/* USER CODE END */ - -/** @fn void peripheral_Powerdown_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS) -* @brief Get the powerdown status of the peripheral frames. -* @param[out] peripheral_Quad_CS Peripheral frames power down status -* -* This function gets the powerdown status of the peripheral frames. -*/ -/* SourceId : PCR_SourceId_017 */ -/* DesignId : PCR_DesignId_010 */ -/* Requirements : HL_SR50 */ -void peripheral_Powerdown_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS) -{ - -/* USER CODE BEGIN (50) */ -/* USER CODE END */ - - peripheral_Quad_CS->Peripheral_Quad0_3_CS0_7 = pcrREG->PSPWRDWNSET0; - peripheral_Quad_CS->Peripheral_Quad4_7_CS8_15 = pcrREG->PSPWRDWNSET1; - peripheral_Quad_CS->Peripheral_Quad8_11_CS16_23 = pcrREG->PSPWRDWNSET2; - peripheral_Quad_CS->Peripheral_Quad12_15_CS24_31 = pcrREG->PSPWRDWNSET3; - -/* USER CODE BEGIN (51) */ -/* USER CODE END */ - -} - -/* USER CODE BEGIN (52) */ -/* USER CODE END */ - -/** @fn void peripheral_Protection_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS ) -* @brief Get the protection status of the peripheral frames -* @param[out] peripheral_Quad_CS Peripheral frames protection status -* -* This function gets the protection status of the peripheral frames. -*/ -/* SourceId : PCR_SourceId_018 */ -/* DesignId : PCR_DesignId_007 */ -/* Requirements : HL_SR47 */ -void peripheral_Protection_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS) -{ - -/* USER CODE BEGIN (53) */ -/* USER CODE END */ - - peripheral_Quad_CS->Peripheral_Quad0_3_CS0_7 = pcrREG->PPROTSET0; - peripheral_Quad_CS->Peripheral_Quad4_7_CS8_15 = pcrREG->PPROTSET1; - peripheral_Quad_CS->Peripheral_Quad8_11_CS16_23 = pcrREG->PPROTSET2; - peripheral_Quad_CS->Peripheral_Quad12_15_CS24_31 = pcrREG->PPROTSET3; - -/* USER CODE BEGIN (54) */ -/* USER CODE END */ - -} - -/* USER CODE BEGIN (55) */ -/* USER CODE END */ - -/** @fn void peripheral_Memory_Protection_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS) -* @brief Get the protection set of all the peripheral Memory frame -* @param[out] peripheral_Memory_CS Peripheral memory frames protection status -* -* This function gets the protection status of all the peripheral Memory frame. -*/ -/* SourceId : PCR_SourceId_019 */ -/* DesignId : PCR_DesignId_013 */ -/* Requirements : HL_SR53 */ -void peripheral_Memory_Protection_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS) -{ - -/* USER CODE BEGIN (56) */ -/* USER CODE END */ - - /*SAFETYMCUSW 134 S MR:12.2 "Hardware status bit read" */ - peripheral_Memory_CS->Peripheral_Mem_CS0_31 = pcrREG->PMPROTSET0; - peripheral_Memory_CS->Peripheral_Mem_CS32_63 = pcrREG->PMPROTSET1; - -/* USER CODE BEGIN (57) */ -/* USER CODE END */ - -} - -/* USER CODE BEGIN (58) */ -/* USER CODE END */ - -/** @fn void peripheral_Memory_Powerdown_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS) -* @brief Get the powerdown status of all the peripheral Memory frame -* @param[out] peripheral_Memory_CS Peripheral memory frames powerdown status -* -* This function gets the powerdown status of all the peripheral Memory frame. -*/ -/* SourceId : PCR_SourceId_020 */ -/* DesignId : PCR_DesignId_016 */ -/* Requirements : HL_SR56 */ -void peripheral_Memory_Powerdown_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS) -{ - -/* USER CODE BEGIN (59) */ -/* USER CODE END */ - - peripheral_Memory_CS->Peripheral_Mem_CS0_31 = pcrREG->PCSPWRDWNSET0; - peripheral_Memory_CS->Peripheral_Mem_CS32_63 = pcrREG->PCSPWRDWNSET1; - -/* USER CODE BEGIN (60) */ -/* USER CODE END */ - -} - -/* USER CODE BEGIN (61) */ -/* USER CODE END */ - -/** @fn void pcrGetConfigValue(pcr_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current -* value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored -* in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') -* of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : PCR_SourceId_021 */ -/* DesignId : PCR_DesignId_021 */ -/* Requirements : HL_SR61 */ -void pcrGetConfigValue(pcr_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - {/* Do not pass Initial value as parameter as there is no PCR initialization API */ - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_PMPROTSET0 = pcrREG->PMPROTSET0; - config_reg->CONFIG_PMPROTSET1 = pcrREG->PMPROTSET1; - config_reg->CONFIG_PPROTSET0 = pcrREG->PPROTSET0; - config_reg->CONFIG_PPROTSET1 = pcrREG->PPROTSET1; - config_reg->CONFIG_PPROTSET2 = pcrREG->PPROTSET2; - config_reg->CONFIG_PPROTSET3 = pcrREG->PPROTSET3; - config_reg->CONFIG_PCSPWRDWNSET0 = pcrREG->PCSPWRDWNSET0; - config_reg->CONFIG_PCSPWRDWNSET1 = pcrREG->PCSPWRDWNSET1; - config_reg->CONFIG_PSPWRDWNSET0 = pcrREG->PSPWRDWNSET0; - config_reg->CONFIG_PSPWRDWNSET1 = pcrREG->PSPWRDWNSET1; - config_reg->CONFIG_PSPWRDWNSET2 = pcrREG->PSPWRDWNSET2; - config_reg->CONFIG_PSPWRDWNSET3 = pcrREG->PSPWRDWNSET3; - } -} +/** @file sys_pcr.c +* @brief PCR Driver Implementation File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#include "sys_pcr.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @fn void peripheral_Frame_Protection_Set(peripheral_Frame_Select_t peripheral_Frame) +* @brief Set the peripheral protection of the selected frame +* @param[in] peripheral_Frame - Peripheral frame to be protected +* +* This function sets the protection for the selected frame. +*/ +/* SourceId : PCR_SourceId_001 */ +/* DesignId : PCR_DesignId_001 */ +/* Requirements : HL_SR41 */ +void peripheral_Frame_Protection_Set(peripheral_Frame_Select_t peripheral_Frame) +{ + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + + uint32 chip_select_grp; + uint32 Quarant_selct; + + chip_select_grp = (peripheral_Frame.Peripheral_CS >> 3U); + Quarant_selct = (uint32)(peripheral_Frame.Peripheral_Quadrant << ((peripheral_Frame.Peripheral_CS & 7U) << 2U)); + + if (chip_select_grp >= 3U) + { + pcrREG->PPROTSET3 = Quarant_selct; + } + else if (chip_select_grp >= 2U) + { + pcrREG->PPROTSET2 = Quarant_selct; + } + else if (chip_select_grp >= 1U) + { + pcrREG->PPROTSET1 = Quarant_selct; + } + else + { + pcrREG->PPROTSET0 = Quarant_selct; + } + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + +/** @fn void peripheral_Frame_Protection_Clr(peripheral_Frame_Select_t peripheral_Frame) +* @brief Clear the peripheral protection of the selected frame +* @param[in] peripheral_Frame - Peripheral frame to be out of protection +* +* This function clears the protection set for the selected frame. +*/ +/* SourceId : PCR_SourceId_002 */ +/* DesignId : PCR_DesignId_002 */ +/* Requirements : HL_SR42 */ +void peripheral_Frame_Protection_Clr(peripheral_Frame_Select_t peripheral_Frame) +{ + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + + uint32 chip_select_grp; + uint32 Quarant_selct; + + chip_select_grp = (peripheral_Frame.Peripheral_CS >> 3U); + Quarant_selct = (uint32)(peripheral_Frame.Peripheral_Quadrant << ((peripheral_Frame.Peripheral_CS & 7U) << 2U)); + + if (chip_select_grp >= 3U) + { + pcrREG->PPROTCLR3 = Quarant_selct; + } + else if (chip_select_grp >= 2U) + { + pcrREG->PPROTCLR2 = Quarant_selct; + } + else if (chip_select_grp >= 1U) + { + pcrREG->PPROTCLR1 = Quarant_selct; + } + else + { + pcrREG->PPROTCLR0 = Quarant_selct; + } + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (7) */ +/* USER CODE END */ + +/** @fn void peripheral_Frame_Powerdown_Set(peripheral_Frame_Select_t peripheral_Frame) +* @brief Take the selected peripheral to powerdown +* @param[in] peripheral_Frame - Peripheral frame to be taken to powerdown +* +* This function will set the selected peripheral frame to powerdown. +*/ +/* SourceId : PCR_SourceId_003 */ +/* DesignId : PCR_DesignId_003 */ +/* Requirements : HL_SR43 */ +void peripheral_Frame_Powerdown_Set(peripheral_Frame_Select_t peripheral_Frame) +{ + +/* USER CODE BEGIN (8) */ +/* USER CODE END */ + + uint32 chip_select_grp; + uint32 Quarant_selct; + + chip_select_grp = (peripheral_Frame.Peripheral_CS >> 3U); + Quarant_selct = (uint32)(peripheral_Frame.Peripheral_Quadrant << ((peripheral_Frame.Peripheral_CS & 7U) << 2U)); + + if (chip_select_grp >= 3U) + { + pcrREG->PSPWRDWNSET3 = Quarant_selct; + } + else if (chip_select_grp >= 2U) + { + pcrREG->PSPWRDWNSET2 = Quarant_selct; + } + else if (chip_select_grp >= 1U) + { + pcrREG->PSPWRDWNSET1 = Quarant_selct; + } + else + { + pcrREG->PSPWRDWNSET0 = Quarant_selct; + } + +/* USER CODE BEGIN (9) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (10) */ +/* USER CODE END */ + +/** @fn void peripheral_Frame_Powerdown_Clr(peripheral_Frame_Select_t peripheral_Frame) +* @brief Bring the selected peripheral frame out of powerdown +* @param[in] peripheral_Frame - Peripheral frame to be taken out of powerdown +* +* This function will bring the selected peripheral frame out of powerdown. +*/ +/* SourceId : PCR_SourceId_004 */ +/* DesignId : PCR_DesignId_004 */ +/* Requirements : HL_SR44 */ +void peripheral_Frame_Powerdown_Clr(peripheral_Frame_Select_t peripheral_Frame) +{ + +/* USER CODE BEGIN (11) */ +/* USER CODE END */ + + uint32 chip_select_grp; + uint32 Quarant_selct; + + chip_select_grp = (peripheral_Frame.Peripheral_CS >> 3U); + Quarant_selct = (uint32)(peripheral_Frame.Peripheral_Quadrant << ((peripheral_Frame.Peripheral_CS & 7U) << 2U)); + + if (chip_select_grp >= 3U) + { + pcrREG->PSPWRDWNCLR3 = Quarant_selct; + } + else if (chip_select_grp >= 2U) + { + pcrREG->PSPWRDWNCLR2 = Quarant_selct; + } + else if (chip_select_grp >= 1U) + { + pcrREG->PSPWRDWNCLR1 = Quarant_selct; + } + else + { + pcrREG->PSPWRDWNCLR0 = Quarant_selct; + } +/* USER CODE BEGIN (12) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (13) */ +/* USER CODE END */ + +/** @fn void peripheral_Mem_Frame_Prot_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) +* @brief Set the peripheral memory protection of the selected frame +* @param[in] peripheral_Memory_Frame_CS - Peripheral memory frame to be protected +* +* This function sets the protection for the selected peripheral memory frame. +*/ +/* SourceId : PCR_SourceId_005 */ +/* DesignId : PCR_DesignId_017 */ +/* Requirements : HL_SR57 */ +void peripheral_Mem_Frame_Prot_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) +{ + +/* USER CODE BEGIN (14) */ +/* USER CODE END */ + + uint32 chip_select_grp; + + chip_select_grp = (peripheral_Memory_Frame_CS >> 5U); + + if (chip_select_grp >= 1U) + { + pcrREG->PMPROTSET1 = (uint32)1U << (peripheral_Memory_Frame_CS & 0xFU); + } + else + { + pcrREG->PMPROTSET0 = (uint32)1U << peripheral_Memory_Frame_CS; + } + +/* USER CODE BEGIN (15) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (16) */ +/* USER CODE END */ + +/** @fn void peripheral_Mem_Frame_Prot_Clr(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) +* @brief Clear the peripheral memory protection of the selected frame +* @param[in] peripheral_Memory_Frame_CS - Peripheral memory frame to be cleared from protection +* +* This function clears the protection set for the selected peripheral memory frame. +*/ +/* SourceId : PCR_SourceId_006 */ +/* DesignId : PCR_DesignId_018 */ +/* Requirements : HL_SR58 */ +void peripheral_Mem_Frame_Prot_Clr(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) +{ + +/* USER CODE BEGIN (17) */ +/* USER CODE END */ + + uint32 chip_select_grp; + + chip_select_grp = (peripheral_Memory_Frame_CS >> 5U); + + if (chip_select_grp >= 1U) + { + pcrREG->PMPROTCLR1 = (uint32)1U << (peripheral_Memory_Frame_CS & 0xFU); + } + else + { + pcrREG->PMPROTCLR0 = (uint32)1U << peripheral_Memory_Frame_CS; + } + +/* USER CODE BEGIN (18) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (19) */ +/* USER CODE END */ + +/** @fn void peripheral_Mem_Frame_Pwrdwn_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) +* @brief Take the selected peripheral memory frame to powerdown +* @param[in] peripheral_Memory_Frame_CS - Peripheral memory frame to be taken to powerdown +* +* This function will set the selected peripheral memory frame to powerdown. +*/ +/* SourceId : PCR_SourceId_007 */ +/* DesignId : PCR_DesignId_019 */ +/* Requirements : HL_SR59 */ +void peripheral_Mem_Frame_Pwrdwn_Set(peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) +{ + +/* USER CODE BEGIN (20) */ +/* USER CODE END */ + + uint32 chip_select_grp; + + chip_select_grp = (peripheral_Memory_Frame_CS >> 5U); + + if (chip_select_grp >= 1U) + { + pcrREG->PCSPWRDWNSET0 = (uint32)1U << (peripheral_Memory_Frame_CS & 0xFU); + } + else + { + pcrREG->PCSPWRDWNSET1 = (uint32)1U << peripheral_Memory_Frame_CS; + } + +/* USER CODE BEGIN (21) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (22) */ +/* USER CODE END */ + +/** @fn void peripheral_Mem_Frame_Pwrdwn_Clr (peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) +* @brief Bring the selected peripheral Memory frame out of powerdown +* @param[in] peripheral_Memory_Frame_CS - Peripheral memory frame to be taken out of powerdown +* +* This function will bring the selected peripheral memory frame out of powerdown. +*/ +/* SourceId : PCR_SourceId_008 */ +/* DesignId : PCR_DesignId_020 */ +/* Requirements : HL_SR60 */ +void peripheral_Mem_Frame_Pwrdwn_Clr (peripheral_MemoryFrame_CS_t peripheral_Memory_Frame_CS) +{ + +/* USER CODE BEGIN (23) */ +/* USER CODE END */ + + uint32 chip_select_grp; + + chip_select_grp = (peripheral_Memory_Frame_CS >> 5U); + + if (chip_select_grp >= 1U) + { + pcrREG->PCSPWRDWNCLR0 = (uint32)1U << (peripheral_Memory_Frame_CS & 0xFU); + } + else + { + pcrREG->PCSPWRDWNCLR1 = (uint32)1U << peripheral_Memory_Frame_CS; + } + +/* USER CODE BEGIN (24) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (25) */ +/* USER CODE END */ + +/** @fn void peripheral_Protection_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) +* @brief Set the peripheral protection of all the selected frames +* @param[in] peripheral_Quad_CS - All Peripheral frames to be protected +* +* This function sets the protection for all the selected frames. +*/ +/* SourceId : PCR_SourceId_009 */ +/* DesignId : PCR_DesignId_005 */ +/* Requirements : HL_SR45 */ +void peripheral_Protection_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) +{ + +/* USER CODE BEGIN (26) */ +/* USER CODE END */ + + pcrREG->PPROTSET0 = peripheral_Quad_CS.Peripheral_Quad0_3_CS0_7; + pcrREG->PPROTSET1 = peripheral_Quad_CS.Peripheral_Quad4_7_CS8_15; + pcrREG->PPROTSET2 = peripheral_Quad_CS.Peripheral_Quad8_11_CS16_23; + pcrREG->PPROTSET3 = peripheral_Quad_CS.Peripheral_Quad12_15_CS24_31; + +/* USER CODE BEGIN (27) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (28) */ +/* USER CODE END */ + +/** @fn void peripheral_Protection_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) +* @brief Clear the peripheral protection of all the selected frames +* @param[in] peripheral_Quad_CS - All Peripheral frames to be out of protection. +* +* This function clears the protection set for all the selected frame. +*/ +/* SourceId : PCR_SourceId_010 */ +/* DesignId : PCR_DesignId_006 */ +/* Requirements : HL_SR46 */ +void peripheral_Protection_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) +{ + +/* USER CODE BEGIN (29) */ +/* USER CODE END */ + + pcrREG->PPROTCLR0 = peripheral_Quad_CS.Peripheral_Quad0_3_CS0_7; + pcrREG->PPROTCLR1 = peripheral_Quad_CS.Peripheral_Quad4_7_CS8_15; + pcrREG->PPROTCLR2 = peripheral_Quad_CS.Peripheral_Quad8_11_CS16_23; + pcrREG->PPROTCLR3 = peripheral_Quad_CS.Peripheral_Quad12_15_CS24_31; + +/* USER CODE BEGIN (30) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (31) */ +/* USER CODE END */ + +/** @fn void peripheral_Powerdown_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) +* @brief Take all the selected peripheral frame to powerdown +* @param[in] peripheral_Quad_CS - Peripheral frames to be taken to powerdown +* +* This function will set all the selected peripheral frame to powerdown. +*/ +/* SourceId : PCR_SourceId_011 */ +/* DesignId : PCR_DesignId_008 */ +/* Requirements : HL_SR48 */ +void peripheral_Powerdown_Set(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) +{ + +/* USER CODE BEGIN (32) */ +/* USER CODE END */ + + pcrREG->PSPWRDWNSET0 = peripheral_Quad_CS.Peripheral_Quad0_3_CS0_7; + pcrREG->PSPWRDWNSET1 = peripheral_Quad_CS.Peripheral_Quad4_7_CS8_15; + pcrREG->PSPWRDWNSET2 = peripheral_Quad_CS.Peripheral_Quad8_11_CS16_23; + pcrREG->PSPWRDWNSET3 = peripheral_Quad_CS.Peripheral_Quad12_15_CS24_31; + +/* USER CODE BEGIN (33) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (34) */ +/* USER CODE END */ + +/** @fn void peripheral_Powerdown_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) +* @brief Bring all the selected peripheral frame out of powerdown +* @param[in] peripheral_Quad_CS - Peripheral frames to be taken out of powerdown +* +* This function will bring all the selected peripheral frame out of powerdown. +*/ +/* SourceId : PCR_SourceId_012 */ +/* DesignId : PCR_DesignId_009 */ +/* Requirements : HL_SR49 */ +void peripheral_Powerdown_Clr(peripheral_Quad_ChipSelect_t peripheral_Quad_CS) +{ + +/* USER CODE BEGIN (35) */ +/* USER CODE END */ + + pcrREG->PSPWRDWNCLR0 = peripheral_Quad_CS.Peripheral_Quad0_3_CS0_7; + pcrREG->PSPWRDWNCLR1 = peripheral_Quad_CS.Peripheral_Quad4_7_CS8_15; + pcrREG->PSPWRDWNCLR2 = peripheral_Quad_CS.Peripheral_Quad8_11_CS16_23; + pcrREG->PSPWRDWNCLR3 = peripheral_Quad_CS.Peripheral_Quad12_15_CS24_31; + +/* USER CODE BEGIN (36) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (37) */ +/* USER CODE END */ + +/** @fn void peripheral_Memory_Protection_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) +* @brief Set the peripheral memory protection of all the selected frame +* @param[in] peripheral_Memory_CS - Peripheral memory frames to be protected +* +* This function sets the protection for all the selected peripheral memory frame. +*/ +/* SourceId : PCR_SourceId_013 */ +/* DesignId : PCR_DesignId_011 */ +/* Requirements : HL_SR51 */ +void peripheral_Memory_Protection_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) +{ + +/* USER CODE BEGIN (38) */ +/* USER CODE END */ + + pcrREG->PMPROTSET0 = peripheral_Memory_CS.Peripheral_Mem_CS0_31; + pcrREG->PMPROTSET1 = peripheral_Memory_CS.Peripheral_Mem_CS32_63; + +/* USER CODE BEGIN (39) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (40) */ +/* USER CODE END */ + +/** @fn void peripheral_Memory_Protection_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) +* @brief Clear the peripheral memory protection of all the selected frame +* @param[in] peripheral_Memory_CS - Peripheral memory frames to be cleared from protection +* +* This function clears the protection set for all the selected peripheral memory frame. +*/ +/* SourceId : PCR_SourceId_014 */ +/* DesignId : PCR_DesignId_012 */ +/* Requirements : HL_SR52 */ +void peripheral_Memory_Protection_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) +{ + +/* USER CODE BEGIN (41) */ +/* USER CODE END */ + + pcrREG->PMPROTCLR0 = peripheral_Memory_CS.Peripheral_Mem_CS0_31; + pcrREG->PMPROTCLR1 = peripheral_Memory_CS.Peripheral_Mem_CS32_63; + +/* USER CODE BEGIN (42) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (43) */ +/* USER CODE END */ + +/** @fn void peripheral_Memory_Powerdown_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) +* @brief Take all the selected peripheral memory frame to powerdown +* @param[in] peripheral_Memory_CS - Peripheral memory frames to be taken to powerdown +* +* This function will set all the selected peripheral memory frame to powerdown. +*/ +/* SourceId : PCR_SourceId_015 */ +/* DesignId : PCR_DesignId_014 */ +/* Requirements : HL_SR54 */ +void peripheral_Memory_Powerdown_Set(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) +{ + +/* USER CODE BEGIN (44) */ +/* USER CODE END */ + + pcrREG->PCSPWRDWNSET0 = peripheral_Memory_CS.Peripheral_Mem_CS0_31; + pcrREG->PCSPWRDWNSET1 = peripheral_Memory_CS.Peripheral_Mem_CS32_63; + +/* USER CODE BEGIN (45) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (46) */ +/* USER CODE END */ + +/** @fn void peripheral_Memory_Powerdown_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) +* @brief Bring all the selected peripheral Memory frame out of powerdown +* @param[in] peripheral_Memory_CS - Peripheral memory frames to be taken out of powerdown +* +* This function will bring all the selected peripheral memory frame out of powerdown. +*/ +/* SourceId : PCR_SourceId_016 */ +/* DesignId : PCR_DesignId_015 */ +/* Requirements : HL_SR55 */ +void peripheral_Memory_Powerdown_Clr(peripheral_Memory_ChipSelect_t peripheral_Memory_CS) +{ + +/* USER CODE BEGIN (47) */ +/* USER CODE END */ + + pcrREG->PCSPWRDWNSET0 = peripheral_Memory_CS.Peripheral_Mem_CS0_31; + pcrREG->PCSPWRDWNCLR0 = peripheral_Memory_CS.Peripheral_Mem_CS32_63; + +/* USER CODE BEGIN (48) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (49) */ +/* USER CODE END */ + +/** @fn void peripheral_Powerdown_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS) +* @brief Get the powerdown status of the peripheral frames. +* @param[out] peripheral_Quad_CS Peripheral frames power down status +* +* This function gets the powerdown status of the peripheral frames. +*/ +/* SourceId : PCR_SourceId_017 */ +/* DesignId : PCR_DesignId_010 */ +/* Requirements : HL_SR50 */ +void peripheral_Powerdown_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS) +{ + +/* USER CODE BEGIN (50) */ +/* USER CODE END */ + + peripheral_Quad_CS->Peripheral_Quad0_3_CS0_7 = pcrREG->PSPWRDWNSET0; + peripheral_Quad_CS->Peripheral_Quad4_7_CS8_15 = pcrREG->PSPWRDWNSET1; + peripheral_Quad_CS->Peripheral_Quad8_11_CS16_23 = pcrREG->PSPWRDWNSET2; + peripheral_Quad_CS->Peripheral_Quad12_15_CS24_31 = pcrREG->PSPWRDWNSET3; + +/* USER CODE BEGIN (51) */ +/* USER CODE END */ + +} + +/* USER CODE BEGIN (52) */ +/* USER CODE END */ + +/** @fn void peripheral_Protection_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS ) +* @brief Get the protection status of the peripheral frames +* @param[out] peripheral_Quad_CS Peripheral frames protection status +* +* This function gets the protection status of the peripheral frames. +*/ +/* SourceId : PCR_SourceId_018 */ +/* DesignId : PCR_DesignId_007 */ +/* Requirements : HL_SR47 */ +void peripheral_Protection_Status(peripheral_Quad_ChipSelect_t* peripheral_Quad_CS) +{ + +/* USER CODE BEGIN (53) */ +/* USER CODE END */ + + peripheral_Quad_CS->Peripheral_Quad0_3_CS0_7 = pcrREG->PPROTSET0; + peripheral_Quad_CS->Peripheral_Quad4_7_CS8_15 = pcrREG->PPROTSET1; + peripheral_Quad_CS->Peripheral_Quad8_11_CS16_23 = pcrREG->PPROTSET2; + peripheral_Quad_CS->Peripheral_Quad12_15_CS24_31 = pcrREG->PPROTSET3; + +/* USER CODE BEGIN (54) */ +/* USER CODE END */ + +} + +/* USER CODE BEGIN (55) */ +/* USER CODE END */ + +/** @fn void peripheral_Memory_Protection_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS) +* @brief Get the protection set of all the peripheral Memory frame +* @param[out] peripheral_Memory_CS Peripheral memory frames protection status +* +* This function gets the protection status of all the peripheral Memory frame. +*/ +/* SourceId : PCR_SourceId_019 */ +/* DesignId : PCR_DesignId_013 */ +/* Requirements : HL_SR53 */ +void peripheral_Memory_Protection_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS) +{ + +/* USER CODE BEGIN (56) */ +/* USER CODE END */ + + /*SAFETYMCUSW 134 S MR:12.2 "Hardware status bit read" */ + peripheral_Memory_CS->Peripheral_Mem_CS0_31 = pcrREG->PMPROTSET0; + peripheral_Memory_CS->Peripheral_Mem_CS32_63 = pcrREG->PMPROTSET1; + +/* USER CODE BEGIN (57) */ +/* USER CODE END */ + +} + +/* USER CODE BEGIN (58) */ +/* USER CODE END */ + +/** @fn void peripheral_Memory_Powerdown_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS) +* @brief Get the powerdown status of all the peripheral Memory frame +* @param[out] peripheral_Memory_CS Peripheral memory frames powerdown status +* +* This function gets the powerdown status of all the peripheral Memory frame. +*/ +/* SourceId : PCR_SourceId_020 */ +/* DesignId : PCR_DesignId_016 */ +/* Requirements : HL_SR56 */ +void peripheral_Memory_Powerdown_Status(peripheral_Memory_ChipSelect_t* peripheral_Memory_CS) +{ + +/* USER CODE BEGIN (59) */ +/* USER CODE END */ + + peripheral_Memory_CS->Peripheral_Mem_CS0_31 = pcrREG->PCSPWRDWNSET0; + peripheral_Memory_CS->Peripheral_Mem_CS32_63 = pcrREG->PCSPWRDWNSET1; + +/* USER CODE BEGIN (60) */ +/* USER CODE END */ + +} + +/* USER CODE BEGIN (61) */ +/* USER CODE END */ + +/** @fn void pcrGetConfigValue(pcr_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current +* value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored +* in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') +* of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : PCR_SourceId_021 */ +/* DesignId : PCR_DesignId_021 */ +/* Requirements : HL_SR61 */ +void pcrGetConfigValue(pcr_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + {/* Do not pass Initial value as parameter as there is no PCR initialization API */ + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_PMPROTSET0 = pcrREG->PMPROTSET0; + config_reg->CONFIG_PMPROTSET1 = pcrREG->PMPROTSET1; + config_reg->CONFIG_PPROTSET0 = pcrREG->PPROTSET0; + config_reg->CONFIG_PPROTSET1 = pcrREG->PPROTSET1; + config_reg->CONFIG_PPROTSET2 = pcrREG->PPROTSET2; + config_reg->CONFIG_PPROTSET3 = pcrREG->PPROTSET3; + config_reg->CONFIG_PCSPWRDWNSET0 = pcrREG->PCSPWRDWNSET0; + config_reg->CONFIG_PCSPWRDWNSET1 = pcrREG->PCSPWRDWNSET1; + config_reg->CONFIG_PSPWRDWNSET0 = pcrREG->PSPWRDWNSET0; + config_reg->CONFIG_PSPWRDWNSET1 = pcrREG->PSPWRDWNSET1; + config_reg->CONFIG_PSPWRDWNSET2 = pcrREG->PSPWRDWNSET2; + config_reg->CONFIG_PSPWRDWNSET3 = pcrREG->PSPWRDWNSET3; + } +} diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_phantom.c b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_phantom.c index 346ff30d..a57a7f30 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_phantom.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_phantom.c @@ -1,67 +1,67 @@ -/** @file sys_phantom.c -* @brief Phantom Interrupt Source File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Phantom Interrupt Handler -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#include "sys_common.h" -#include "sys_vim.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/* Phantom Interrupt Handler */ - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -#pragma CODE_STATE(phantomInterrupt, 32) -#pragma INTERRUPT(phantomInterrupt, IRQ) -#pragma WEAK(phantomInterrupt) - -void phantomInterrupt(void) -{ -/* USER CODE BEGIN (2) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ +/** @file sys_phantom.c +* @brief Phantom Interrupt Source File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Phantom Interrupt Handler +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#include "sys_common.h" +#include "sys_vim.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/* Phantom Interrupt Handler */ + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +#pragma CODE_STATE(phantomInterrupt, 32) +#pragma INTERRUPT(phantomInterrupt, IRQ) +#pragma WEAK(phantomInterrupt) + +void phantomInterrupt(void) +{ +/* USER CODE BEGIN (2) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pmm.c b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pmm.c index 35db7f46..effc4d93 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pmm.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pmm.c @@ -1,434 +1,434 @@ -/** @file sys_pmm.c -* @brief PCR Driver Implementation File -* @date 11-Dec-2018 -* @version 04.07.01 -* -*/ -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -#include "sys_pmm.h" - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -/** @fn void pmmInit(void) -* @brief Initializes the PMM Driver -* -* This function initializes the PMM module. -*/ -/* SourceId : PMM_SourceId_001 */ -/* DesignId : PMM_DesignId_001 */ -/* Requirements : HL_SR63 */ -void pmmInit(void) -{ - /*Disable clocks to all logic domains*/ - pmmREG->PDCLKDISREG = 0xFU; - /*Enable or disable clock to pmctrl_wakeup block and automatic clock wake up*/ - pmmREG->GLOBALCTRL1 = (uint32)((uint32)0U << 8U) | (uint32)0U; /*from GUI*/ - /*Power on the logic power domains*/ - pmmREG->LOGICPDPWRCTRL0 = PMM_LOGICPDPWRCTRL0_CONFIGVALUE; - /*Power on the memory-only power domains*/ - pmmREG->MEMPDPWRCTRL0 = PMM_MEMPDPWRCTRL0_CONFIGVALUE; - - /*wait till Logic Power Domain PD2 turns ON*/ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->LOGICPDPWRSTAT[PMM_LOGICPD2] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) - { - }/* Wait */ - /*wait till Logic Power Domain PD3 turns ON*/ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->LOGICPDPWRSTAT[PMM_LOGICPD3] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) - { - }/* Wait */ - /*wait till Logic Power Domain PD3 turns ON*/ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->LOGICPDPWRSTAT[PMM_LOGICPD4] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) - { - }/* Wait */ - /*wait till Logic Power Domain PD5 turns ON*/ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->LOGICPDPWRSTAT[PMM_LOGICPD5] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) - { - }/* Wait */ - - /*wait till Memory Only Power Domain RAM_PD1 turns ON*/ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->MEMPDPWRSTAT[PMM_MEMPD1] & PMM_MEMPDPWRSTAT_DOMAINON) == 0U) - { - }/* Wait */ - /*wait till Memory Only Power Domain RAM_PD2 turns ON*/ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->MEMPDPWRSTAT[PMM_MEMPD2] & PMM_MEMPDPWRSTAT_DOMAINON) == 0U) - { - }/* Wait */ - if ((pmmREG->GLOBALCTRL1 & PMM_GLOBALCTRL1_AUTOCLKWAKEENA) == 0U) - { - /* Enable clocks for the selected logic domain */ - pmmREG->PDCLKDISREG = PMM_PDCLKDISREG_CONFIGVALUE; - } - -} - - -/** @fn void pmmTurnONLogicPowerDomain(pmm_LogicPD_t logicPD) -* @brief Turns on Logic Power Domain -* @param[in] logicPD - Power Domain to be turned on -* - PMM_LOGICPD2: Power domain PD2 will be turned on -* - PMM_LOGICPD3: Power domain PD3 will be turned on -* - PMM_LOGICPD4: Power domain PD4 will be turned on -* - PMM_LOGICPD5: Power domain PD5 will be turned on -* -* This function turns on the selected Logic Power Domain -* -*/ -/* SourceId : PMM_SourceId_002 */ -/* DesignId : PMM_DesignId_002 */ -/* Requirements : HL_SR67 */ -void pmmTurnONLogicPowerDomain(pmm_LogicPD_t logicPD) -{ - if (logicPD != PMM_LOGICPD1) - { - /* Power on the domain */ - if (logicPD == PMM_LOGICPD2) - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xF0FFFFFFU) | 0x05000000U; - } - else if (logicPD == PMM_LOGICPD3) - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFF0FFFFU) | 0x00050000U; - } - else if (logicPD == PMM_LOGICPD4) - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFFFF0FFU) | 0x00000500U; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFFFFFF0U) | 0x00000005U; - } - /* Wait until the power domain turns on */ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->LOGICPDPWRSTAT[logicPD] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) - { - }/* Wait */ - if ((pmmREG->GLOBALCTRL1 & PMM_GLOBALCTRL1_AUTOCLKWAKEENA) == 0U) - { - /* Enable clocks to the power domain */ - pmmREG->PDCLKDISCLRREG = (uint32)1U << (uint32)logicPD; - } - } -} - -/** @fn void pmmTurnONMemPowerDomain(pmm_MemPD_t memPD) -* @brief Turns on Memory Power Domain -* @param[in] memPD - Power Domain to be tured on -* - PMM_MEMPD1: Power domain RAM_PD1 will be turned on -* - PMM_MEMPD2: Power domain RAM_PD2 will be turned on -* - PMM_MEMPD3: Power domain RAM_PD3 will be turned on -* -* This function turns on the selected Memory Power Domain -* -*/ -/* SourceId : PMM_SourceId_003 */ -/* DesignId : PMM_DesignId_003 */ -/* Requirements : HL_SR66 */ -void pmmTurnONMemPowerDomain(pmm_MemPD_t memPD) -{ - /* Power on the domain */ - if (memPD == PMM_MEMPD1) - { - pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xF0FFFFFFU) | 0x05000000U; - } - else if (memPD == PMM_MEMPD2) - { - pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xFFF0FFFFU) | 0x00050000U; - } - else - { - pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xFFFFF0FFU) | 0x00000500U; - } - /*Wait until the power domain turns on*/ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->MEMPDPWRSTAT[memPD] & PMM_MEMPDPWRSTAT_DOMAINON) == 0U) - { - }/* Wait */ -} - -/** @fn void pmmTurnOFFLogicPowerDomain(pmm_LogicPD_t logicPD) -* @brief Turns off Logic Power Domain -* @param[in] logicPD - Power Domain to be tured off -* - PMM_LOGICPD2: Power domain PD2 will be turned off -* - PMM_LOGICPD3: Power domain PD3 will be turned off -* - PMM_LOGICPD4: Power domain PD4 will be turned off -* - PMM_LOGICPD5: Power doamin PD5 will be turned off -* -* This function turns off the selected Logic Power Domain -* -*/ -/* SourceId : PMM_SourceId_004 */ -/* DesignId : PMM_DesignId_004 */ -/* Requirements : HL_SR67 */ -void pmmTurnOFFLogicPowerDomain(pmm_LogicPD_t logicPD) -{ - if (logicPD != PMM_LOGICPD1) - { - /* Disable all clocks to the power domain */ - pmmREG->PDCLKDISSETREG = (uint32)1U << (uint32)logicPD; - - /* Power down the domain */ - if (logicPD == PMM_LOGICPD2) - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue*/ - pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xF0FFFFFFU) | 0x0A000000U; - } - else if (logicPD == PMM_LOGICPD3) - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFF0FFFFU) | 0x000A0000U; - } - else if (logicPD == PMM_LOGICPD4) - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFFFF0FFU) | 0x00000A00U; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFFFFFF0U) | 0x0000000AU; - } - /* Wait until the power domain turns off */ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->LOGICPDPWRSTAT[logicPD] & PMM_LOGICPDPWRSTAT_LOGICPDPWRSTAT) != 0U) - { - }/* Wait */ - } -} - -/** @fn void pmmTurnOFFMemPowerDomain(pmm_MemPD_t memPD) -* @brief Turns off Memory Power Domain -* @param[in] memPD - Power Domain to be tured off -* - PMM_MEMPD1: Power domain RAM_PD1 will be turned off -* - PMM_MEMPD2: Power domain RAM_PD2 will be turned off -* - PMM_MEMPD3: Power domain RAM_PD3 will be turned off -* -* This function turns off the selected Memory Power Domain -* -*/ -/* SourceId : PMM_SourceId_005 */ -/* DesignId : PMM_DesignId_005 */ -/* Requirements : HL_SR66 */ -void pmmTurnOFFMemPowerDomain(pmm_MemPD_t memPD) -{ - /* Power down the domain */ - if (memPD == PMM_MEMPD1) - { - pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xF0FFFFFFU) | 0x0A000000U; - } - else if (memPD == PMM_MEMPD2) - { - pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xFFF0FFFFU) | 0x000A0000U; - } - else - { - pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xFFFFF0FFU) | 0x00000A00U; - } - /*Wait until the power domain turns off*/ - /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ - while((pmmREG->MEMPDPWRSTAT[memPD] & PMM_MEMPDPWRSTAT_MEMPDPWRSTAT) != 0U) - { - }/* Wait */ -} - -/** @fn boolean pmmIsLogicPowerDomainActive(pmm_LogicPD_t logicPD) -* @brief Check if the power domain is active or not -* @param[in] logicPD - Power Domain to be be checked -* - PMM_LOGICPD2: Checks whether Power domain PD2 is active or not -* - PMM_LOGICPD3: Checks whether Power domain PD3 is active or not -* - PMM_LOGICPD4: Checks whether Power domain PD4 is active or not -* - PMM_LOGICPD5: Checks whether Power domain PD5 is active or not -* @return The function will return: -* - TRUE : When the selected power domain is in Active state. -* - FALSE: When the selected power domain is in OFF state. -* -* This function checks whether the selected power domain is active or not. -* -*/ -/* SourceId : PMM_SourceId_006 */ -/* DesignId : PMM_DesignId_006 */ -/* Requirements : HL_SR62 */ -boolean pmmIsLogicPowerDomainActive(pmm_LogicPD_t logicPD) -{ - boolean status; - if ((pmmREG->LOGICPDPWRSTAT[logicPD] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) - { - status = FALSE; - } - else - { - status = TRUE; - } - return status; -} - -/** @fn boolean pmmIsMemPowerDomainActive(pmm_MemPD_t memPD) -* @brief Check if the power domain is active or not -* @param[in] memPD - Power Domain to be tured off -* - PMM_MEMPD1: Checks whether Power domain RAM_PD1 is active or not -* - PMM_MEMPD2: Checks whether Power domain RAM_PD2 is active or not -* - PMM_MEMPD3: Checks whether Power domain RAM_PD3 is active or not -* @return The function will return: -* - TRUE : When the selected power domain is in Active state. -* - FALSE: When the selected power domain is in OFF state. -* -* This function checks whether the selected power domain is active or not. -* -*/ -/* SourceId : PMM_SourceId_007 */ -/* DesignId : PMM_DesignId_007 */ -/* Requirements : HL_SR65 */ -boolean pmmIsMemPowerDomainActive(pmm_MemPD_t memPD) -{ - boolean status; - if ((pmmREG->MEMPDPWRSTAT[memPD] & PMM_MEMPDPWRSTAT_DOMAINON) == 0U) - { - status = FALSE; - } - else - { - status = TRUE; - } - return status; -} - -/** @fn void pmmGetConfigValue(pmm_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration register -* @param[in] *config_reg - pointer to the struct to which the initial or current value of the configuration registers need to be stored -* @param[in] type - whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg -*/ -/* SourceId : PMM_SourceId_008 */ -/* DesignId : PMM_DesignId_008 */ -/* Requirements : HL_SR64 */ -void pmmGetConfigValue(pmm_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_LOGICPDPWRCTRL0 = PMM_LOGICPDPWRCTRL0_CONFIGVALUE; - config_reg->CONFIG_MEMPDPWRCTRL0 = PMM_MEMPDPWRCTRL0_CONFIGVALUE; - config_reg->CONFIG_PDCLKDISREG = PMM_PDCLKDISREG_CONFIGVALUE; - config_reg->CONFIG_GLOBALCTRL1 = PMM_GLOBALCTRL1_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_LOGICPDPWRCTRL0 = pmmREG->LOGICPDPWRCTRL0; - config_reg->CONFIG_MEMPDPWRCTRL0 = pmmREG->MEMPDPWRCTRL0; - config_reg->CONFIG_PDCLKDISREG = pmmREG->PDCLKDISREG; - config_reg->CONFIG_GLOBALCTRL1 = pmmREG->GLOBALCTRL1; - } -} - -/** @fn void pmmSetMode(pmm_Mode_t mode) -* @brief Set PSCON Compare Block Mode -* @param[in] mode - PSCON Compare Block mode -* - LockStep : PSCON compare block is set to Lock-Step mode -* - SelfTest : PSCON compare block is set to Self-Test mode -* - ErrorForcing : PSCON compare block is set to Error-Forcing mode -* - SelfTestErrorForcing : PSCON compare block is set to Self-Test-Error-Forcing mode -* -* This function sets the PSCON Compare block to the selected mode -* -*/ -/* SourceId : PMM_SourceId_009 */ -/* DesignId : PMM_DesignId_009 */ -/* Requirements : HL_SR68 */ -void pmmSetMode(pmm_Mode_t mode) -{ - /* Set PSCON Compare Block Mode */ - pmmREG->PRCKEYREG = mode; -} - -/** @fn boolean pmmPerformSelfTest(void) -* @brief Perform self test and return the result -* -* @return The function will return -* - TRUE if PSCON compare block passed self-test -* - FALSE if PSCON compare block failed in self-test -* -* This function checks whether PSCON compare block passed the self-test or not. -* -*/ -/* SourceId : PMM_SourceId_010 */ -/* DesignId : PMM_DesignId_010 */ -/* Requirements : HL_SR72 */ -boolean pmmPerformSelfTest(void) -{ - boolean status = TRUE; - /*Enter self-test mode*/ - pmmREG->PRCKEYREG = (uint32)SelfTest; - /*Wait till self test is completed*/ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((pmmREG->LPDDCSTAT1 & 0xFU) != 0xFU) - { - }/* Wait */ - - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((pmmREG->MPDDCSTAT1 & 0x3U) != 0x3U) - { - }/* Wait */ - - /*Check whether self-test passed or not*/ - if ((pmmREG->LPDDCSTAT2 & 0xFU) != 0U) - { - status = FALSE; - } - if ((pmmREG->MPDDCSTAT2 & 0x7U) != 0U) - { - status = FALSE; - } - /*Enter lock-step mode*/ - pmmREG->PRCKEYREG = (uint32)LockStep; - - return status; -} - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ +/** @file sys_pmm.c +* @brief PCR Driver Implementation File +* @date 11-Dec-2018 +* @version 04.07.01 +* +*/ +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#include "sys_pmm.h" + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +/** @fn void pmmInit(void) +* @brief Initializes the PMM Driver +* +* This function initializes the PMM module. +*/ +/* SourceId : PMM_SourceId_001 */ +/* DesignId : PMM_DesignId_001 */ +/* Requirements : HL_SR63 */ +void pmmInit(void) +{ + /*Disable clocks to all logic domains*/ + pmmREG->PDCLKDISREG = 0xFU; + /*Enable or disable clock to pmctrl_wakeup block and automatic clock wake up*/ + pmmREG->GLOBALCTRL1 = (uint32)((uint32)0U << 8U) | (uint32)0U; /*from GUI*/ + /*Power on the logic power domains*/ + pmmREG->LOGICPDPWRCTRL0 = PMM_LOGICPDPWRCTRL0_CONFIGVALUE; + /*Power on the memory-only power domains*/ + pmmREG->MEMPDPWRCTRL0 = PMM_MEMPDPWRCTRL0_CONFIGVALUE; + + /*wait till Logic Power Domain PD2 turns ON*/ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->LOGICPDPWRSTAT[PMM_LOGICPD2] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) + { + }/* Wait */ + /*wait till Logic Power Domain PD3 turns ON*/ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->LOGICPDPWRSTAT[PMM_LOGICPD3] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) + { + }/* Wait */ + /*wait till Logic Power Domain PD3 turns ON*/ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->LOGICPDPWRSTAT[PMM_LOGICPD4] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) + { + }/* Wait */ + /*wait till Logic Power Domain PD5 turns ON*/ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->LOGICPDPWRSTAT[PMM_LOGICPD5] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) + { + }/* Wait */ + + /*wait till Memory Only Power Domain RAM_PD1 turns ON*/ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->MEMPDPWRSTAT[PMM_MEMPD1] & PMM_MEMPDPWRSTAT_DOMAINON) == 0U) + { + }/* Wait */ + /*wait till Memory Only Power Domain RAM_PD2 turns ON*/ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->MEMPDPWRSTAT[PMM_MEMPD2] & PMM_MEMPDPWRSTAT_DOMAINON) == 0U) + { + }/* Wait */ + if ((pmmREG->GLOBALCTRL1 & PMM_GLOBALCTRL1_AUTOCLKWAKEENA) == 0U) + { + /* Enable clocks for the selected logic domain */ + pmmREG->PDCLKDISREG = PMM_PDCLKDISREG_CONFIGVALUE; + } + +} + + +/** @fn void pmmTurnONLogicPowerDomain(pmm_LogicPD_t logicPD) +* @brief Turns on Logic Power Domain +* @param[in] logicPD - Power Domain to be turned on +* - PMM_LOGICPD2: Power domain PD2 will be turned on +* - PMM_LOGICPD3: Power domain PD3 will be turned on +* - PMM_LOGICPD4: Power domain PD4 will be turned on +* - PMM_LOGICPD5: Power domain PD5 will be turned on +* +* This function turns on the selected Logic Power Domain +* +*/ +/* SourceId : PMM_SourceId_002 */ +/* DesignId : PMM_DesignId_002 */ +/* Requirements : HL_SR67 */ +void pmmTurnONLogicPowerDomain(pmm_LogicPD_t logicPD) +{ + if (logicPD != PMM_LOGICPD1) + { + /* Power on the domain */ + if (logicPD == PMM_LOGICPD2) + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xF0FFFFFFU) | 0x05000000U; + } + else if (logicPD == PMM_LOGICPD3) + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFF0FFFFU) | 0x00050000U; + } + else if (logicPD == PMM_LOGICPD4) + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFFFF0FFU) | 0x00000500U; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFFFFFF0U) | 0x00000005U; + } + /* Wait until the power domain turns on */ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->LOGICPDPWRSTAT[logicPD] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) + { + }/* Wait */ + if ((pmmREG->GLOBALCTRL1 & PMM_GLOBALCTRL1_AUTOCLKWAKEENA) == 0U) + { + /* Enable clocks to the power domain */ + pmmREG->PDCLKDISCLRREG = (uint32)1U << (uint32)logicPD; + } + } +} + +/** @fn void pmmTurnONMemPowerDomain(pmm_MemPD_t memPD) +* @brief Turns on Memory Power Domain +* @param[in] memPD - Power Domain to be tured on +* - PMM_MEMPD1: Power domain RAM_PD1 will be turned on +* - PMM_MEMPD2: Power domain RAM_PD2 will be turned on +* - PMM_MEMPD3: Power domain RAM_PD3 will be turned on +* +* This function turns on the selected Memory Power Domain +* +*/ +/* SourceId : PMM_SourceId_003 */ +/* DesignId : PMM_DesignId_003 */ +/* Requirements : HL_SR66 */ +void pmmTurnONMemPowerDomain(pmm_MemPD_t memPD) +{ + /* Power on the domain */ + if (memPD == PMM_MEMPD1) + { + pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xF0FFFFFFU) | 0x05000000U; + } + else if (memPD == PMM_MEMPD2) + { + pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xFFF0FFFFU) | 0x00050000U; + } + else + { + pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xFFFFF0FFU) | 0x00000500U; + } + /*Wait until the power domain turns on*/ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->MEMPDPWRSTAT[memPD] & PMM_MEMPDPWRSTAT_DOMAINON) == 0U) + { + }/* Wait */ +} + +/** @fn void pmmTurnOFFLogicPowerDomain(pmm_LogicPD_t logicPD) +* @brief Turns off Logic Power Domain +* @param[in] logicPD - Power Domain to be tured off +* - PMM_LOGICPD2: Power domain PD2 will be turned off +* - PMM_LOGICPD3: Power domain PD3 will be turned off +* - PMM_LOGICPD4: Power domain PD4 will be turned off +* - PMM_LOGICPD5: Power doamin PD5 will be turned off +* +* This function turns off the selected Logic Power Domain +* +*/ +/* SourceId : PMM_SourceId_004 */ +/* DesignId : PMM_DesignId_004 */ +/* Requirements : HL_SR67 */ +void pmmTurnOFFLogicPowerDomain(pmm_LogicPD_t logicPD) +{ + if (logicPD != PMM_LOGICPD1) + { + /* Disable all clocks to the power domain */ + pmmREG->PDCLKDISSETREG = (uint32)1U << (uint32)logicPD; + + /* Power down the domain */ + if (logicPD == PMM_LOGICPD2) + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue*/ + pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xF0FFFFFFU) | 0x0A000000U; + } + else if (logicPD == PMM_LOGICPD3) + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFF0FFFFU) | 0x000A0000U; + } + else if (logicPD == PMM_LOGICPD4) + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFFFF0FFU) | 0x00000A00U; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + pmmREG->LOGICPDPWRCTRL0 = (pmmREG->LOGICPDPWRCTRL0 & 0xFFFFFFF0U) | 0x0000000AU; + } + /* Wait until the power domain turns off */ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->LOGICPDPWRSTAT[logicPD] & PMM_LOGICPDPWRSTAT_LOGICPDPWRSTAT) != 0U) + { + }/* Wait */ + } +} + +/** @fn void pmmTurnOFFMemPowerDomain(pmm_MemPD_t memPD) +* @brief Turns off Memory Power Domain +* @param[in] memPD - Power Domain to be tured off +* - PMM_MEMPD1: Power domain RAM_PD1 will be turned off +* - PMM_MEMPD2: Power domain RAM_PD2 will be turned off +* - PMM_MEMPD3: Power domain RAM_PD3 will be turned off +* +* This function turns off the selected Memory Power Domain +* +*/ +/* SourceId : PMM_SourceId_005 */ +/* DesignId : PMM_DesignId_005 */ +/* Requirements : HL_SR66 */ +void pmmTurnOFFMemPowerDomain(pmm_MemPD_t memPD) +{ + /* Power down the domain */ + if (memPD == PMM_MEMPD1) + { + pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xF0FFFFFFU) | 0x0A000000U; + } + else if (memPD == PMM_MEMPD2) + { + pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xFFF0FFFFU) | 0x000A0000U; + } + else + { + pmmREG->MEMPDPWRCTRL0 = (pmmREG->MEMPDPWRCTRL0 & 0xFFFFF0FFU) | 0x00000A00U; + } + /*Wait until the power domain turns off*/ + /*SAFETYMCUSW 28 D MR:NA "Wait for hardware status bit" */ + while((pmmREG->MEMPDPWRSTAT[memPD] & PMM_MEMPDPWRSTAT_MEMPDPWRSTAT) != 0U) + { + }/* Wait */ +} + +/** @fn boolean pmmIsLogicPowerDomainActive(pmm_LogicPD_t logicPD) +* @brief Check if the power domain is active or not +* @param[in] logicPD - Power Domain to be be checked +* - PMM_LOGICPD2: Checks whether Power domain PD2 is active or not +* - PMM_LOGICPD3: Checks whether Power domain PD3 is active or not +* - PMM_LOGICPD4: Checks whether Power domain PD4 is active or not +* - PMM_LOGICPD5: Checks whether Power domain PD5 is active or not +* @return The function will return: +* - TRUE : When the selected power domain is in Active state. +* - FALSE: When the selected power domain is in OFF state. +* +* This function checks whether the selected power domain is active or not. +* +*/ +/* SourceId : PMM_SourceId_006 */ +/* DesignId : PMM_DesignId_006 */ +/* Requirements : HL_SR62 */ +boolean pmmIsLogicPowerDomainActive(pmm_LogicPD_t logicPD) +{ + boolean status; + if ((pmmREG->LOGICPDPWRSTAT[logicPD] & PMM_LOGICPDPWRSTAT_DOMAINON) == 0U) + { + status = FALSE; + } + else + { + status = TRUE; + } + return status; +} + +/** @fn boolean pmmIsMemPowerDomainActive(pmm_MemPD_t memPD) +* @brief Check if the power domain is active or not +* @param[in] memPD - Power Domain to be tured off +* - PMM_MEMPD1: Checks whether Power domain RAM_PD1 is active or not +* - PMM_MEMPD2: Checks whether Power domain RAM_PD2 is active or not +* - PMM_MEMPD3: Checks whether Power domain RAM_PD3 is active or not +* @return The function will return: +* - TRUE : When the selected power domain is in Active state. +* - FALSE: When the selected power domain is in OFF state. +* +* This function checks whether the selected power domain is active or not. +* +*/ +/* SourceId : PMM_SourceId_007 */ +/* DesignId : PMM_DesignId_007 */ +/* Requirements : HL_SR65 */ +boolean pmmIsMemPowerDomainActive(pmm_MemPD_t memPD) +{ + boolean status; + if ((pmmREG->MEMPDPWRSTAT[memPD] & PMM_MEMPDPWRSTAT_DOMAINON) == 0U) + { + status = FALSE; + } + else + { + status = TRUE; + } + return status; +} + +/** @fn void pmmGetConfigValue(pmm_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration register +* @param[in] *config_reg - pointer to the struct to which the initial or current value of the configuration registers need to be stored +* @param[in] type - whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg +*/ +/* SourceId : PMM_SourceId_008 */ +/* DesignId : PMM_DesignId_008 */ +/* Requirements : HL_SR64 */ +void pmmGetConfigValue(pmm_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_LOGICPDPWRCTRL0 = PMM_LOGICPDPWRCTRL0_CONFIGVALUE; + config_reg->CONFIG_MEMPDPWRCTRL0 = PMM_MEMPDPWRCTRL0_CONFIGVALUE; + config_reg->CONFIG_PDCLKDISREG = PMM_PDCLKDISREG_CONFIGVALUE; + config_reg->CONFIG_GLOBALCTRL1 = PMM_GLOBALCTRL1_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_LOGICPDPWRCTRL0 = pmmREG->LOGICPDPWRCTRL0; + config_reg->CONFIG_MEMPDPWRCTRL0 = pmmREG->MEMPDPWRCTRL0; + config_reg->CONFIG_PDCLKDISREG = pmmREG->PDCLKDISREG; + config_reg->CONFIG_GLOBALCTRL1 = pmmREG->GLOBALCTRL1; + } +} + +/** @fn void pmmSetMode(pmm_Mode_t mode) +* @brief Set PSCON Compare Block Mode +* @param[in] mode - PSCON Compare Block mode +* - LockStep : PSCON compare block is set to Lock-Step mode +* - SelfTest : PSCON compare block is set to Self-Test mode +* - ErrorForcing : PSCON compare block is set to Error-Forcing mode +* - SelfTestErrorForcing : PSCON compare block is set to Self-Test-Error-Forcing mode +* +* This function sets the PSCON Compare block to the selected mode +* +*/ +/* SourceId : PMM_SourceId_009 */ +/* DesignId : PMM_DesignId_009 */ +/* Requirements : HL_SR68 */ +void pmmSetMode(pmm_Mode_t mode) +{ + /* Set PSCON Compare Block Mode */ + pmmREG->PRCKEYREG = mode; +} + +/** @fn boolean pmmPerformSelfTest(void) +* @brief Perform self test and return the result +* +* @return The function will return +* - TRUE if PSCON compare block passed self-test +* - FALSE if PSCON compare block failed in self-test +* +* This function checks whether PSCON compare block passed the self-test or not. +* +*/ +/* SourceId : PMM_SourceId_010 */ +/* DesignId : PMM_DesignId_010 */ +/* Requirements : HL_SR72 */ +boolean pmmPerformSelfTest(void) +{ + boolean status = TRUE; + /*Enter self-test mode*/ + pmmREG->PRCKEYREG = (uint32)SelfTest; + /*Wait till self test is completed*/ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((pmmREG->LPDDCSTAT1 & 0xFU) != 0xFU) + { + }/* Wait */ + + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((pmmREG->MPDDCSTAT1 & 0x3U) != 0x3U) + { + }/* Wait */ + + /*Check whether self-test passed or not*/ + if ((pmmREG->LPDDCSTAT2 & 0xFU) != 0U) + { + status = FALSE; + } + if ((pmmREG->MPDDCSTAT2 & 0x7U) != 0U) + { + status = FALSE; + } + /*Enter lock-step mode*/ + pmmREG->PRCKEYREG = (uint32)LockStep; + + return status; +} + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pmu.asm b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pmu.asm index 0f48047d..9ed1d27e 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pmu.asm +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_pmu.asm @@ -1,277 +1,277 @@ -;------------------------------------------------------------------------------- -; sys_pmu.asm -; -; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -; -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; -; Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; -; Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the -; distribution. -; -; Neither the name of Texas Instruments Incorporated nor the names of -; its contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -; -; -; - - .text - .arm - - -;------------------------------------------------------------------------------- -; Initialize Pmu -; Note: It will reset all counters -; SourceId : PMU_SourceId_001 -; DesignId : PMU_DesignId_001 -; Requirements : HL_SR484 - - .def _pmuInit_ - .asmfunc - -_pmuInit_ - - ; set control register - mrc p15, #0, r0, c9, c12, #0 - orr r0, r0, #(1 << 4) + 6 + 1 - mcr p15, #0, r0, c9, c12, #0 - ; clear flags - mov r0, #0 - sub r0, r0, #1 - mcr p15, #0, r0, c9, c12, #3 - ; select counter 0 event - mov r0, #0 - mcr p15, #0, r0, c9, c12, #5 ; select counter - mov r0, #0x11 - mcr p15, #0, r0, c9, c13, #1 ; select event - ; select counter 1 event - mov r0, #1 - mcr p15, #0, r0, c9, c12, #5 ; select counter - mov r0, #0x11 - mcr p15, #0, r0, c9, c13, #1 ; select event - ; select counter 2 event - mov r0, #2 - mcr p15, #0, r0, c9, c12, #5 ; select counter - mov r0, #0x11 - mcr p15, #0, r0, c9, c13, #1 ; select event - bx lr - - .endasmfunc - - -;------------------------------------------------------------------------------- -; Enable Counters Global [Cycle, Event [0..2]] -; Note: It will reset all counters -; SourceId : PMU_SourceId_002 -; DesignId : PMU_DesignId_002 -; Requirements : HL_SR485 - - .def _pmuEnableCountersGlobal_ - .asmfunc - -_pmuEnableCountersGlobal_ - - mrc p15, #0, r0, c9, c12, #0 - orr r0, r0, #7 - mcr p15, #0, r0, c9, c12, #0 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Disable Counters Global [Cycle, Event [0..2]] -; SourceId : PMU_SourceId_003 -; DesignId : PMU_DesignId_003 -; Requirements : HL_SR485 - - .def _pmuDisableCountersGlobal_ - .asmfunc - -_pmuDisableCountersGlobal_ - - mrc p15, #0, r0, c9, c12, #0 - bic r0, r0, #1 - mcr p15, #0, r0, c9, c12, #0 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Reset Cycle Counter -; SourceId : PMU_SourceId_004 -; DesignId : PMU_DesignId_004 -; Requirements : HL_SR485 - - .def _pmuResetCycleCounter_ - .asmfunc - -_pmuResetCycleCounter_ - - mrc p15, #0, r0, c9, c12, #0 - orr r0, r0, #4 - mcr p15, #0, r0, c9, c12, #0 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Reset Event Counters [0..2] -; SourceId : PMU_SourceId_005 -; DesignId : PMU_DesignId_005 -; Requirements : HL_SR485 - - .def _pmuResetEventCounters_ - .asmfunc - -_pmuResetEventCounters_ - - mrc p15, #0, r0, c9, c12, #0 - orr r0, r0, #2 - mcr p15, #0, r0, c9, c12, #0 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Reset Cycle Counter abd Event Counters [0..2] -; SourceId : PMU_SourceId_006 -; DesignId : PMU_DesignId_006 -; Requirements : HL_SR485 - - .def _pmuResetCounters_ - .asmfunc - -_pmuResetCounters_ - - mrc p15, #0, r0, c9, c12, #0 - orr r0, r0, #6 - mcr p15, #0, r0, c9, c12, #0 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Start Counters [Cycle, 0..2] -; SourceId : PMU_SourceId_007 -; DesignId : PMU_DesignId_007 -; Requirements : HL_SR485 - - .def _pmuStartCounters_ - .asmfunc - -_pmuStartCounters_ - - mcr p15, #0, r0, c9, c12, #1 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Stop Counters [Cycle, 0..2] -; SourceId : PMU_SourceId_008 -; DesignId : PMU_DesignId_008 -; Requirements : HL_SR485 - - .def _pmuStopCounters_ - .asmfunc - -_pmuStopCounters_ - - mcr p15, #0, r0, c9, c12, #2 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Set Count event -; SourceId : PMU_SourceId_009 -; DesignId : PMU_DesignId_009 -; Requirements : HL_SR485 - - .def _pmuSetCountEvent_ - .asmfunc - -_pmuSetCountEvent_ - - mcr p15, #0, r0, c9, c12, #5 ; select counter - mcr p15, #0, r1, c9, c13, #1 ; select event - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Get Cycle Count -; SourceId : PMU_SourceId_010 -; DesignId : PMU_DesignId_010 -; Requirements : HL_SR486 - - .def _pmuGetCycleCount_ - .asmfunc - -_pmuGetCycleCount_ - - mrc p15, #0, r0, c9, c13, #0 - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Get Event Counter Count Value -; SourceId : PMU_SourceId_011 -; DesignId : PMU_DesignId_011 -; Requirements : HL_SR486 - - .def _pmuGetEventCount_ - .asmfunc - -_pmuGetEventCount_ - - mcr p15, #0, r0, c9, c12, #5 ; select counter - mrc p15, #0, r0, c9, c13, #2 ; read event counter - bx lr - - .endasmfunc - -;------------------------------------------------------------------------------- -; Get Overflow Flags -; SourceId : PMU_SourceId_012 -; DesignId : PMU_DesignId_012 -; Requirements : HL_SR486 - - .def _pmuGetOverflow_ - .asmfunc - -_pmuGetOverflow_ - - mrc p15, #0, r0, c9, c12, #3 ; read overflow - mov r1, #0 - sub r1, r1, #1 - mcr p15, #0, r1, c9, c12, #3 ; clear flags - bx lr - - .endasmfunc - - - -;------------------------------------------------------------------------------- - +;------------------------------------------------------------------------------- +; sys_pmu.asm +; +; Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +; +; +; Redistribution and use in source and binary forms, with or without +; modification, are permitted provided that the following conditions +; are met: +; +; Redistributions of source code must retain the above copyright +; notice, this list of conditions and the following disclaimer. +; +; Redistributions in binary form must reproduce the above copyright +; notice, this list of conditions and the following disclaimer in the +; documentation and/or other materials provided with the +; distribution. +; +; Neither the name of Texas Instruments Incorporated nor the names of +; its contributors may be used to endorse or promote products derived +; from this software without specific prior written permission. +; +; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +; +; +; + + .text + .arm + + +;------------------------------------------------------------------------------- +; Initialize Pmu +; Note: It will reset all counters +; SourceId : PMU_SourceId_001 +; DesignId : PMU_DesignId_001 +; Requirements : HL_SR484 + + .def _pmuInit_ + .asmfunc + +_pmuInit_ + + ; set control register + mrc p15, #0, r0, c9, c12, #0 + orr r0, r0, #(1 << 4) + 6 + 1 + mcr p15, #0, r0, c9, c12, #0 + ; clear flags + mov r0, #0 + sub r0, r0, #1 + mcr p15, #0, r0, c9, c12, #3 + ; select counter 0 event + mov r0, #0 + mcr p15, #0, r0, c9, c12, #5 ; select counter + mov r0, #0x11 + mcr p15, #0, r0, c9, c13, #1 ; select event + ; select counter 1 event + mov r0, #1 + mcr p15, #0, r0, c9, c12, #5 ; select counter + mov r0, #0x11 + mcr p15, #0, r0, c9, c13, #1 ; select event + ; select counter 2 event + mov r0, #2 + mcr p15, #0, r0, c9, c12, #5 ; select counter + mov r0, #0x11 + mcr p15, #0, r0, c9, c13, #1 ; select event + bx lr + + .endasmfunc + + +;------------------------------------------------------------------------------- +; Enable Counters Global [Cycle, Event [0..2]] +; Note: It will reset all counters +; SourceId : PMU_SourceId_002 +; DesignId : PMU_DesignId_002 +; Requirements : HL_SR485 + + .def _pmuEnableCountersGlobal_ + .asmfunc + +_pmuEnableCountersGlobal_ + + mrc p15, #0, r0, c9, c12, #0 + orr r0, r0, #7 + mcr p15, #0, r0, c9, c12, #0 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Disable Counters Global [Cycle, Event [0..2]] +; SourceId : PMU_SourceId_003 +; DesignId : PMU_DesignId_003 +; Requirements : HL_SR485 + + .def _pmuDisableCountersGlobal_ + .asmfunc + +_pmuDisableCountersGlobal_ + + mrc p15, #0, r0, c9, c12, #0 + bic r0, r0, #1 + mcr p15, #0, r0, c9, c12, #0 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Reset Cycle Counter +; SourceId : PMU_SourceId_004 +; DesignId : PMU_DesignId_004 +; Requirements : HL_SR485 + + .def _pmuResetCycleCounter_ + .asmfunc + +_pmuResetCycleCounter_ + + mrc p15, #0, r0, c9, c12, #0 + orr r0, r0, #4 + mcr p15, #0, r0, c9, c12, #0 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Reset Event Counters [0..2] +; SourceId : PMU_SourceId_005 +; DesignId : PMU_DesignId_005 +; Requirements : HL_SR485 + + .def _pmuResetEventCounters_ + .asmfunc + +_pmuResetEventCounters_ + + mrc p15, #0, r0, c9, c12, #0 + orr r0, r0, #2 + mcr p15, #0, r0, c9, c12, #0 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Reset Cycle Counter abd Event Counters [0..2] +; SourceId : PMU_SourceId_006 +; DesignId : PMU_DesignId_006 +; Requirements : HL_SR485 + + .def _pmuResetCounters_ + .asmfunc + +_pmuResetCounters_ + + mrc p15, #0, r0, c9, c12, #0 + orr r0, r0, #6 + mcr p15, #0, r0, c9, c12, #0 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Start Counters [Cycle, 0..2] +; SourceId : PMU_SourceId_007 +; DesignId : PMU_DesignId_007 +; Requirements : HL_SR485 + + .def _pmuStartCounters_ + .asmfunc + +_pmuStartCounters_ + + mcr p15, #0, r0, c9, c12, #1 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Stop Counters [Cycle, 0..2] +; SourceId : PMU_SourceId_008 +; DesignId : PMU_DesignId_008 +; Requirements : HL_SR485 + + .def _pmuStopCounters_ + .asmfunc + +_pmuStopCounters_ + + mcr p15, #0, r0, c9, c12, #2 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Set Count event +; SourceId : PMU_SourceId_009 +; DesignId : PMU_DesignId_009 +; Requirements : HL_SR485 + + .def _pmuSetCountEvent_ + .asmfunc + +_pmuSetCountEvent_ + + mcr p15, #0, r0, c9, c12, #5 ; select counter + mcr p15, #0, r1, c9, c13, #1 ; select event + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Get Cycle Count +; SourceId : PMU_SourceId_010 +; DesignId : PMU_DesignId_010 +; Requirements : HL_SR486 + + .def _pmuGetCycleCount_ + .asmfunc + +_pmuGetCycleCount_ + + mrc p15, #0, r0, c9, c13, #0 + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Get Event Counter Count Value +; SourceId : PMU_SourceId_011 +; DesignId : PMU_DesignId_011 +; Requirements : HL_SR486 + + .def _pmuGetEventCount_ + .asmfunc + +_pmuGetEventCount_ + + mcr p15, #0, r0, c9, c12, #5 ; select counter + mrc p15, #0, r0, c9, c13, #2 ; read event counter + bx lr + + .endasmfunc + +;------------------------------------------------------------------------------- +; Get Overflow Flags +; SourceId : PMU_SourceId_012 +; DesignId : PMU_DesignId_012 +; Requirements : HL_SR486 + + .def _pmuGetOverflow_ + .asmfunc + +_pmuGetOverflow_ + + mrc p15, #0, r0, c9, c12, #3 ; read overflow + mov r1, #0 + sub r1, r1, #1 + mcr p15, #0, r1, c9, c12, #3 ; clear flags + bx lr + + .endasmfunc + + + +;------------------------------------------------------------------------------- + diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_selftest.c b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_selftest.c index d72273e3..02823613 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_selftest.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_selftest.c @@ -1,2985 +1,2985 @@ -/** @file sys_selftest.c -* @brief Selftest Source File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Selftest API's -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - -#include "sys_selftest.h" -#include "sys_core.h" -#include "sys_pmu.h" - -/** @fn void selftestFailNotification(uint32 flag) -* @brief Self test fail service routine -* -* This function is called if there is a self test fail with appropriate flag -*/ -#pragma WEAK(selftestFailNotification) -void selftestFailNotification(uint32 flag) -{ - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -} - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/** @fn void ccmSelfCheck(void) -* @brief CCM module self check Driver -* -* This function self checks the CCM module. -*/ -/* SourceId : SELFTEST_SourceId_001 */ -/* DesignId : SELFTEST_DesignId_001 */ -/* Requirements : HL_SR395 */ -void ccmSelfCheck(void) -{ -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - - /* Run a diagnostic check on the CCM-R4F module */ - /* This step ensures that the CCM-R4F can actually indicate an error */ - - /* Configure CCM in self-test mode */ - CCMKEYR = 0x6U; - /* Wait for CCM self-test to complete */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((CCMSR & 0x100U) != 0x100U) - { - }/* Wait */ - -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - - /* Check if there was an error during the self-test */ - if ((CCMSR & 0x1U) == 0x1U) - { - /* STE is set */ - selftestFailNotification(CCMSELFCHECK_FAIL1); - } - else - { - /* Check CCM-R4 self-test error flag by itself (without compare error) */ - if ((esmREG->SR1[0U] & 0x80000000U) == 0x80000000U) - { - /* ESM flag is not set */ - selftestFailNotification(CCMSELFCHECK_FAIL2); - } - else - { - /* Configure CCM in error-forcing mode */ - CCMKEYR = 0x9U; - - /* Wait till error-forcing is completed. */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while (CCMKEYR != 0U) - { - }/* Wait */ - - /* check if compare error flag is set */ - if ((esmREG->SR1[1U] & 0x4U) != 0x4U) - { - /* ESM flag is not set */ - selftestFailNotification(CCMSELFCHECK_FAIL3); - } - else - { - /* Check FIQIVEC to ESM High Interrupt flag is set */ - if((vimREG->FIQINDEX & 0x000000FFU) != 1U) - { - /* ESM High Interrupt flag is not set in VIM*/ - selftestFailNotification(CCMSELFCHECK_FAIL4); - } - - /* clear ESM group2 channel 2 flag */ - esmREG->SR1[1U] = 0x4U; - - /* clear ESM group2 shadow status flag */ - esmREG->SSR2 = 0x4U; - - /* ESM self-test error needs to also be cleared */ - esmREG->SR1[0U] = 0x80000000U; - - /* The nERROR pin will become inactive once the LTC counter expires */ - esmREG->EKR = 0x5U; - - /* Configure CCM in selftest error-forcing mode */ - CCMKEYR = 0xFU; - - /* Wait till selftest error-forcing is completed. */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while (CCMKEYR != 0U) - { - }/* Wait */ - - if((esmREG->SR1[0U] & 0x80000000U) != 0x80000000U) - { - /* ESM flag not set */ - selftestFailNotification(CCMSELFCHECK_FAIL2); - } - else - { - /* clear ESM flag */ - esmREG->SR1[0U] = 0x80000000U; - } - } - } - } -} - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - - -/** @fn void memoryInit(uint32 ram) -* @brief Memory Initialization Driver -* -* This function is called to perform Memory initialization of selected RAM's. -*/ -/* SourceId : SELFTEST_SourceId_002 */ -/* DesignId : SELFTEST_DesignId_004 */ -/* Requirements : HL_SR396 */ -void memoryInit(uint32 ram) -{ -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - - /* Enable Memory Hardware Initialization */ - systemREG1->MINITGCR = 0xAU; - - /* Enable Memory Hardware Initialization for selected RAM's */ - systemREG1->MSINENA = ram; - - /* Wait until Memory Hardware Initialization complete */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((systemREG1->MSTCGSTAT & 0x00000100U) != 0x00000100U) - { - }/* Wait */ - - /* Disable Memory Hardware Initialization */ - systemREG1->MINITGCR = 0x5U; - -/* USER CODE BEGIN (7) */ -/* USER CODE END */ -} - -/** @fn void stcSelfCheck(void) -* @brief STC module self check Driver -* -* This function is called to perform STC module self check. -*/ -/* SourceId : SELFTEST_SourceId_003 */ -/* DesignId : SELFTEST_DesignId_002 */ -/* Requirements : HL_SR397 */ -void stcSelfCheck(void) -{ -/* USER CODE BEGIN (8) */ -/* USER CODE END */ - volatile uint32 i = 0U; - - /* Run a diagnostic check on the CPU self-test controller */ - /* First set up the STC clock divider as STC is only supported up to 90MHz */ - - /* STC clock is now normal mode CPU clock frequency/2 = 180MHz/2 */ - systemREG2->STCCLKDIV = 0x01000000U; - - /* Select one test interval, restart self-test next time, 0x00010001 */ - stcREG->STCGCR0 = 0x00010001U; - - /* Enable comparator self-check and stuck-at-0 fault insertion in CPU, 0x1A */ - stcREG->STCSCSCR = 0x1AU; - - /* Maximum time-out period */ - stcREG->STCTPR = 0xFFFFFFFFU; - - /* wait for 16 VBUS clock cycles at least, based on HCLK to VCLK ratio */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - for (i=0U; i<(16U + (16U * 1U)); i++){ /* Wait */ } - - /* Enable self-test */ - stcREG->STCGCR1 = 0xAU; - -/* USER CODE BEGIN (9) */ -/* USER CODE END */ - - /* Idle the CPU so that the self-test can start */ - _gotoCPUIdle_(); - -/* USER CODE BEGIN (10) */ -/* USER CODE END */ -} - -/** @fn void cpuSelfTest(uint32 no_of_intervals, uint32 max_timeout, boolean restart_test) -* @brief CPU self test Driver -* @param[in] no_of_intervals - Number of Test Intervals to be -* @param[in] max_timeout - Maximum Timeout to complete selected test Intervals -* @param[in] restart_test - Restart the test from Interval 0 or Continue from where it stopped. -* -* This function is called to perform CPU self test using STC module. -*/ -/* SourceId : SELFTEST_SourceId_004 */ -/* DesignId : SELFTEST_DesignId_003 */ -/* Requirements : HL_SR398 */ -void cpuSelfTest(uint32 no_of_intervals, uint32 max_timeout, boolean restart_test) -{ - volatile uint32 i = 0U; - -/* USER CODE BEGIN (11) */ -/* USER CODE END */ - - /* Run specified no of test intervals starting from interval 0 */ - /* Start test from interval 0 or continue the test. */ - stcREG->STCGCR0 = no_of_intervals << 16U; - if(restart_test) - { - stcREG->STCGCR0 |= 0x00000001U; - } - - /* Configure Maximum time-out period */ - stcREG->STCTPR = max_timeout; - - /* wait for 16 VBUS clock cycles at least, based on HCLK to VCLK ratio */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - for (i=0U; i<(16U + (16U * 1U)); i++){ /* Wait */ } - - /* Enable self-test */ - stcREG->STCGCR1 = 0xAU; - -/* USER CODE BEGIN (12) */ -/* USER CODE END */ - /* Idle the CPU so that the self-test can start */ - - _gotoCPUIdle_(); - -} - -/** @fn void pbistSelfCheck(void) -* @brief PBIST self test Driver -* -* This function is called to perform PBIST self test. -* -* @note This Function uses register's which are not exposed to users through -* TRM , to run custom algorithm to make PBIST Fail. Users can use this function as Black box. -* -*/ -/* SourceId : SELFTEST_SourceId_005 */ -/* DesignId : SELFTEST_DesignId_005 */ -/* Requirements : HL_SR399 */ -void pbistSelfCheck(void) -{ - volatile uint32 i = 0U; - uint32 PBIST_wait_done_loop = 0U; -/* USER CODE BEGIN (13) */ -/* USER CODE END */ - /* Run a diagnostic check on the memory self-test controller */ - /* First set up the PBIST ROM clock as this clock frequency is limited to 90MHz */ - - /* Disable PBIST clocks and ROM clock */ - pbistREG->PACT = 0x0U; - - /* PBIST ROM clock frequency = HCLK frequency /2 */ - /* Disable memory self controller */ - systemREG1->MSTGCR = 0x00000105U; - - /* Disable Memory Initialization controller */ - systemREG1->MINITGCR = 0x5U; - - /* Enable memory self controller */ - systemREG1->MSTGCR = 0x0000010AU; - - /* Clear PBIST Done */ - systemREG1->MSTCGSTAT = 0x1U; - - /* Enable PBIST controller */ - systemREG1->MSINENA = 0x1U; - - /* wait for 32 VBUS clock cycles at least, based on HCLK to VCLK ratio */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - for (i=0U; i<(32U + (32U * 1U)); i++){ /* Wait */ } - -/* USER CODE BEGIN (14) */ -/* USER CODE END */ - - /* Enable PBIST clocks and ROM clock */ - pbistREG->PACT = 0x3U; - - /* CPU control of PBIST */ - pbistREG->DLR = 0x10U; - - /* Custom always fail algo, this will not use the ROM and just set a fail */ - pbistREG->RAMT = 0x00002000U; - *(volatile uint32 *)0xFFFFE400U = 0x4C000001U; - *(volatile uint32 *)0xFFFFE440U = 0x00000075U; - *(volatile uint32 *)0xFFFFE404U = 0x4C000002U; - *(volatile uint32 *)0xFFFFE444U = 0x00000075U; - *(volatile uint32 *)0xFFFFE408U = 0x4C000003U; - *(volatile uint32 *)0xFFFFE448U = 0x00000075U; - *(volatile uint32 *)0xFFFFE40CU = 0x4C000004U; - *(volatile uint32 *)0xFFFFE44CU = 0x00000075U; - *(volatile uint32 *)0xFFFFE410U = 0x4C000005U; - *(volatile uint32 *)0xFFFFE450U = 0x00000075U; - *(volatile uint32 *)0xFFFFE414U = 0x4C000006U; - *(volatile uint32 *)0xFFFFE454U = 0x00000075U; - *(volatile uint32 *)0xFFFFE418U = 0x00000000U; - *(volatile uint32 *)0xFFFFE458U = 0x00000001U; - - /* PBIST_RUN */ - pbistREG->rsvd1[1U] = 1U; - - /* wait until memory self-test done is indicated */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((systemREG1->MSTCGSTAT & 0x1U) != 0x1U) - { - PBIST_wait_done_loop++; - }/* Wait */ - - /* Check for the failure */ - if ((pbistREG->FSRF0 & 0x1U) != 0x1U) - { - /* No failure was indicated even if the always fail algorithm was run*/ - selftestFailNotification(PBISTSELFCHECK_FAIL1); - -/* USER CODE BEGIN (15) */ -/* USER CODE END */ - } - else - { - /* Check that the algorithm executed in the expected amount of time. */ - /* This time is dependent on the ROMCLKDIV selected above */ - if (PBIST_wait_done_loop >= 2U) - { - selftestFailNotification(PBISTSELFCHECK_FAIL2); - } - - /* Disable PBIST clocks and ROM clock */ - pbistREG->PACT = 0x0U; - - /* Disable PBIST */ - systemREG1->MSTGCR &= 0xFFFFFFF0U; - systemREG1->MSTGCR |= 0x5U; - -/* USER CODE BEGIN (16) */ -/* USER CODE END */ - } -} - -/** @fn void pbistRun(uint32 raminfoL, uint32 algomask) -* @brief CPU self test Driver -* @param[in] raminfoL - Select the list of RAM to be tested. -* @param[in] algomask - Select the list of Algorithm to be run. -* -* This function performs Memory Built-in Self test using PBIST module. -*/ -/* SourceId : SELFTEST_SourceId_006 */ -/* DesignId : SELFTEST_DesignId_006 */ -/* Requirements : HL_SR400 */ -void pbistRun(uint32 raminfoL, uint32 algomask) -{ - volatile uint32 i = 0U; - -/* USER CODE BEGIN (17) */ -/* USER CODE END */ - - /* PBIST ROM clock frequency = HCLK frequency /2 */ - /* Disable memory self controller */ - systemREG1->MSTGCR = 0x00000105U; - - /* Disable Memory Initialization controller */ - systemREG1->MINITGCR = 0x5U; - - /* Enable PBIST controller */ - systemREG1->MSINENA = 0x1U; - - /* Enable memory self controller */ - systemREG1->MSTGCR = 0x0000010AU; - - /* wait for 32 VBUS clock cycles at least, based on HCLK to VCLK ratio */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - for (i=0U; i<(32U + (32U * 1U)); i++){ /* Wait */ } - -/* USER CODE BEGIN (18) */ -/* USER CODE END */ - - /* Enable PBIST clocks and ROM clock */ - pbistREG->PACT = 0x3U; - - /* Select all algorithms to be tested */ - pbistREG->ALGO = algomask; - - /* Select RAM groups */ - pbistREG->RINFOL = raminfoL; - - /* Select all RAM groups */ - pbistREG->RINFOU = 0x00000000U; - - /* ROM contents will not override RINFOx settings */ - pbistREG->OVER = 0x0U; - - /* Algorithm code is loaded from ROM */ - pbistREG->ROM = 0x3U; - - /* Start PBIST */ - pbistREG->DLR = 0x14U; - -/* USER CODE BEGIN (19) */ -/* USER CODE END */ -} - -/** @fn void pbistStop(void) -* @brief Routine to stop PBIST test enabled. -* -* This function is called to stop PBIST after test is performed. -*/ -/* SourceId : SELFTEST_SourceId_007 */ -/* DesignId : SELFTEST_DesignId_007 */ -/* Requirements : HL_SR523 */ -void pbistStop(void) -{ -/* USER CODE BEGIN (20) */ -/* USER CODE END */ - /* disable pbist clocks and ROM clock */ - pbistREG->PACT = 0x0U; - systemREG1->MSTGCR &= 0xFFFFFFF0U; - systemREG1->MSTGCR |= 0x5U; -/* USER CODE BEGIN (21) */ -/* USER CODE END */ -} - -/** @fn boolean pbistIsTestCompleted(void) -* @brief Checks to see if the PBIST test is completed. -* @return 1 if PBIST test completed, otherwise 0. -* -* Checks to see if the PBIST test is completed. -*/ -/* SourceId : SELFTEST_SourceId_008 */ -/* DesignId : SELFTEST_DesignId_008 */ -/* Requirements : HL_SR401 */ -boolean pbistIsTestCompleted(void) -{ -/* USER CODE BEGIN (22) */ -/* USER CODE END */ - - return ((systemREG1->MSTCGSTAT & 0x1U) != 0U); -/* USER CODE BEGIN (23) */ -/* USER CODE END */ -} - -/** @fn boolean pbistIsTestPassed(void) -* @brief Checks to see if the PBIST test is completed successfully. -* @return 1 if PBIST test passed, otherwise 0. -* -* Checks to see if the PBIST test is completed successfully. -*/ -/* SourceId : SELFTEST_SourceId_009 */ -/* DesignId : SELFTEST_DesignId_009 */ -/* Requirements : HL_SR401 */ -boolean pbistIsTestPassed(void) -{ -/* USER CODE BEGIN (24) */ -/* USER CODE END */ - boolean status; - - if (pbistREG->FSRF0 == 0U) - { - status = TRUE; - } - else - { - status = FALSE; - } -/* USER CODE BEGIN (25) */ -/* USER CODE END */ - return status; -} - -/** @fn boolean pbistPortTestStatus(uint32 port) -* @brief Checks to see if the PBIST Port test is completed successfully. -* @param[in] port - Select the port to get the status. -* @return 1 if PBIST Port test completed successfully, otherwise 0. -* -* Checks to see if the selected PBIST Port test is completed successfully. -*/ -/* SourceId : SELFTEST_SourceId_010 */ -/* DesignId : SELFTEST_DesignId_010 */ -/* Requirements : HL_SR401 */ -boolean pbistPortTestStatus(uint32 port) -{ - boolean status; -/* USER CODE BEGIN (26) */ -/* USER CODE END */ - - if(port == (uint32)PBIST_PORT0) - { - status = (pbistREG->FSRF0 == 0U); - } - else - { - /* Invalid Input */ - status = FALSE; - } - - return status; -} - -/** @fn uint32 efcCheck(void) -* @brief EFUSE module self check Driver -* @return Returns 0 if no error was detected during autoload and Stuck At Zero Test passed -* 1 if no error was detected during autoload but Stuck At Zero Test failed -* 2 if there was a single-bit error detected during autoload -* 3 if some other error occurred during autoload -* -* This function self checks the EFUSE module. -*/ -/* SourceId : SELFTEST_SourceId_011 */ -/* DesignId : SELFTEST_DesignId_012 */ -/* Requirements : HL_SR402 */ -uint32 efcCheck(void) -{ - uint32 efcStatus = 0U; - uint32 status; - -/* USER CODE BEGIN (27) */ -/* USER CODE END */ - - /* read the EFC Error Status Register */ - efcStatus = efcREG->ERROR; - -/* USER CODE BEGIN (28) */ -/* USER CODE END */ - - if (efcStatus == 0x0U) - { - /* run stuck-at-zero test and check if it passed */ - if (efcStuckZeroTest()== TRUE) - { - /* start EFC ECC logic self-test */ - efcSelfTest(); - status = 0U; - } - else - { - /* EFC output is stuck-at-zero, device operation unreliable */ - selftestFailNotification(EFCCHECK_FAIL1); - status = 1U; - } - } - /* EFC Error Register is not zero */ - else - { - /* one-bit error detected during autoload */ - if (efcStatus == 0x15U) - { - /* start EFC ECC logic self-test */ - efcSelfTest(); - status = 2U; - } - else - { - /* Some other EFC error was detected */ - selftestFailNotification(EFCCHECK_FAIL1); - status = 3U; - } - } - return status; -} - -/** @fn boolean efcStuckZeroTest(void) -* @brief Checks to see if the EFUSE Stuck at zero test is completed successfully. -* @return 1 if EFUSE Stuck at zero test completed, otherwise 0. -* -* Checks to see if the EFUSE Stuck at zero test is completed successfully. -*/ -/* SourceId : SELFTEST_SourceId_012 */ -/* DesignId : SELFTEST_DesignId_014 */ -/* Requirements : HL_SR402 */ -boolean efcStuckZeroTest(void) -{ -/* USER CODE BEGIN (29) */ -/* USER CODE END */ - - uint32 ESM_ESTATUS4, ESM_ESTATUS1; - - boolean result = FALSE; - uint32 error_checks = EFC_INSTRUCTION_INFO_EN | - EFC_INSTRUCTION_ERROR_EN | - EFC_AUTOLOAD_ERROR_EN | - EFC_SELF_TEST_ERROR_EN ; - - /* configure the output enable for auto load error , instruction info, - instruction error, and self test error using boundary register - and drive values one across all the errors */ - efcREG->BOUNDARY = ((uint32)OUTPUT_ENABLE | error_checks); - - /* Read from the pin register. This register holds the current values - of above errors. This value should be 0x5c00.If not at least one of - the above errors is stuck at 0. */ - if ((efcREG->PINS & 0x5C00U) == 0x5C00U) - { - ESM_ESTATUS4 = esmREG->SR4[0U]; - ESM_ESTATUS1 = esmREG->SR1[2U]; - /* check if the ESM group1 channel 41 is set and group3 channel 1 is set */ - if (((ESM_ESTATUS4 & 0x200U) == 0x200U) && ((ESM_ESTATUS1 & 0x2U) == 0x2U)) - { - /* stuck-at-zero test passed */ - result = TRUE; - } - } - - /* put the pins back low */ - efcREG->BOUNDARY = OUTPUT_ENABLE; - - /* clear group1 flag */ - esmREG->SR4[0U] = 0x200U; - - /* clear group3 flag */ - esmREG->SR1[2U] = 0x2U; - - /* The nERROR pin will become inactive once the LTC counter expires */ - esmREG->EKR = 0x5U; - - return result; -} - -/** @fn void efcSelfTest(void) -* @brief EFUSE module self check Driver -* -* This function self checks the EFSUE module. -*/ -/* SourceId : SELFTEST_SourceId_013 */ -/* DesignId : SELFTEST_DesignId_013 */ -/* Requirements : HL_SR402 */ -void efcSelfTest(void) -{ -/* USER CODE BEGIN (30) */ -/* USER CODE END */ - /* configure self-test cycles */ - efcREG->SELF_TEST_CYCLES = 0x258U; - - /* configure self-test signature */ - efcREG->SELF_TEST_SIGN = 0x5362F97FU; - - /* configure boundary register to start ECC self-test */ - efcREG->BOUNDARY = 0x0000200FU; -} - -/** @fn boolean checkefcSelfTest(void) -* @brief EFUSE module self check Driver -* @return Returns TRUE if EFC Selftest was a PASS, else FALSE -* -* This function returns the status of efcSelfTest. -* Note: This function can be called only after calling efcSelfTest -*/ -/* SourceId : SELFTEST_SourceId_014 */ -/* DesignId : SELFTEST_DesignId_015 */ -/* Requirements : HL_SR403 */ -boolean checkefcSelfTest(void) -{ -/* USER CODE BEGIN (31) */ -/* USER CODE END */ - boolean result = FALSE; - - uint32 EFC_PINS, EFC_ERROR; - uint32 esmCh40Stat, esmCh41Stat = 0U; - - /* wait until EFC self-test is done */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((efcREG->PINS & EFC_SELF_TEST_DONE) == 0U) - { - }/* Wait */ - - /* check if EFC self-test error occurred */ - EFC_PINS = efcREG->PINS; - EFC_ERROR = efcREG->ERROR; - if(((EFC_PINS & EFC_SELF_TEST_ERROR) == 0U) && ((EFC_ERROR & 0x1FU) == 0U)) - { - /* check if EFC self-test error is set */ - esmCh40Stat = esmREG->SR4[0U] & 0x100U; - esmCh41Stat = esmREG->SR4[0U] & 0x200U; - if ((esmCh40Stat == 0U) && (esmCh41Stat == 0U)) - { - result = TRUE; - } - } - return result; -} - -/** @fn void fmcBus2Check(void) -* @brief Self Check Flash Bus2 Interface -* -* This function self checks Flash Bus2 Interface -*/ -/* SourceId : SELFTEST_SourceId_015 */ -/* DesignId : SELFTEST_DesignId_016 */ -/* Requirements : HL_SR404, HL_SR405 */ -void fmcBus2Check(void) -{ -/* USER CODE BEGIN (32) */ -/* USER CODE END */ - /* enable ECC logic inside FMC */ - flashWREG->FEDACCTRL1 = 0x000A060AU; - - if ((esmREG->SR1[0U] & 0x40U) == 0x40U) - { - /* a 1-bit error was detected during flash OTP read by flash module - run a self-check on ECC logic inside FMC */ - - /* clear ESM group1 channel 6 flag */ - esmREG->SR1[0U] = 0x40U; - - fmcECCcheck(); - } - - /* no 2-bit or 1-bit error detected during power-up */ - else - { - fmcECCcheck(); - } -/* USER CODE BEGIN (33) */ -/* USER CODE END */ -} - -/** @fn void fmcECCcheck(void) -* @brief Check Flash ECC Single Bit and multi Bit errors detection logic. -* -* This function Checks Flash ECC Single Bit and multi Bit errors detection logic. -*/ -/* SourceId : SELFTEST_SourceId_016 */ -/* DesignId : SELFTEST_DesignId_017 */ -/* Requirements : HL_SR404, HL_SR405 */ -void fmcECCcheck(void) -{ - volatile uint32 otpread; - volatile uint32 temp; - -/* USER CODE BEGIN (34) */ -/* USER CODE END */ - - /* read location with deliberate 1-bit error */ - otpread = flash1bitError; - if ((esmREG->SR1[0U] & 0x40U) == 0x40U) - { - /* 1-bit failure was indicated and corrected */ - flashWREG->FEDACSTATUS = 0x00010006U; - - /* clear ESM group1 channel 6 flag */ - esmREG->SR1[0U] = 0x40U; - - /* read location with deliberate 2-bit error */ - otpread = flash2bitError; - if ((esmREG->SR1[2U] & 0x80U) == 0x80U) - { - /* 2-bit failure was detected correctly */ - temp = flashWREG->FUNCERRADD; - flashWREG->FEDACSTATUS = 0x00020100U; - - /* clear ESM group3 channel 7 */ - esmREG->SR1[2U] = 0x80U; - - /* The nERROR pin will become inactive once the LTC counter expires */ - esmREG->EKR = 0x5U; - - } - else - { - /* ECC logic inside FMC cannot detect 2-bit error */ - selftestFailNotification(FMCECCCHECK_FAIL1); - } - } - else - { - /* ECC logic inside FMC cannot detect 1-bit error */ - selftestFailNotification(FMCECCCHECK_FAIL1); - } -/* USER CODE BEGIN (35) */ -/* USER CODE END */ -} - -/** @fn void checkB0RAMECC(void) -* @brief Check TCRAM1 ECC error detection logic. -* -* This function checks TCRAM1 ECC error detection logic. -*/ -/* SourceId : SELFTEST_SourceId_017 */ -/* DesignId : SELFTEST_DesignId_019 */ -/* Requirements : HL_SR408 */ -void checkB0RAMECC(void) -{ - volatile uint64 ramread = 0U; - volatile uint32 regread = 0U; - uint32 tcram1ErrStat, tcram2ErrStat = 0U; - - uint64 tcramA1_bk = tcramA1bit; - uint64 tcramA2_bk = tcramA2bit; - volatile uint32 i; -/* USER CODE BEGIN (36) */ -/* USER CODE END */ - - /* enable writes to ECC RAM, enable ECC error response */ - tcram1REG->RAMCTRL = 0x0005010AU; - tcram2REG->RAMCTRL = 0x0005010AU; - - /* the first 1-bit error will cause an error response */ - tcram1REG->RAMTHRESHOLD = 0x1U; - tcram2REG->RAMTHRESHOLD = 0x1U; - - /* allow SERR to be reported to ESM */ - tcram1REG->RAMINTCTRL = 0x1U; - tcram2REG->RAMINTCTRL = 0x1U; - - /* cause a 1-bit ECC error */ - _coreDisableRamEcc_(); - tcramA1bitError ^= 0x1U; - _coreEnableRamEcc_(); - - /* disable writes to ECC RAM */ - tcram1REG->RAMCTRL = 0x0005000AU; - tcram2REG->RAMCTRL = 0x0005000AU; - - /* read from location with 1-bit ECC error */ - ramread = tcramA1bit; - - /* Check for error status */ - tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x1U; - tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x1U; - /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ - /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ - if((tcram1ErrStat == 0U) && (tcram2ErrStat == 0U)) - { - /* TCRAM module does not reflect 1-bit error reported by CPU */ - selftestFailNotification(CHECKB0RAMECC_FAIL1); - } - else - { - /* clear SERR flag */ - tcram1REG->RAMERRSTATUS = 0x1U; - tcram2REG->RAMERRSTATUS = 0x1U; - - /* clear status flags for ESM group1 channels 26 and 28 */ - esmREG->SR1[0U] = 0x14000000U; - } - - /* enable writes to ECC RAM, enable ECC error response */ - tcram1REG->RAMCTRL = 0x0005010AU; - tcram2REG->RAMCTRL = 0x0005010AU; - - /* cause a 2-bit ECC error */ - _coreDisableRamEcc_(); - tcramA2bitError ^= 0x3U; - _coreEnableRamEcc_(); - - /* read from location with 2-bit ECC error this will cause a data abort to be generated */ - ramread = tcramA2bit; - - /* delay before restoring the ram value */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - for(i=0U;i<10U;i++) - { - }/* Wait */ - - regread = tcram1REG->RAMUERRADDR; - regread = tcram2REG->RAMUERRADDR; - - /* disable writes to ECC RAM */ - tcram1REG->RAMCTRL = 0x0005000AU; - tcram2REG->RAMCTRL = 0x0005000AU; - - /* Compute correct ECC */ - tcramA1bit = tcramA1_bk; - tcramA2bit = tcramA2_bk; - -/* USER CODE BEGIN (37) */ -/* USER CODE END */ -} - -/** @fn void checkB1RAMECC(void) -* @brief Check TCRAM2 ECC error detection logic. -* -* This function checks TCRAM2 ECC error detection logic. -*/ -/* SourceId : SELFTEST_SourceId_018 */ -/* DesignId : SELFTEST_DesignId_019 */ -/* Requirements : HL_SR408 */ -void checkB1RAMECC(void) -{ - volatile uint64 ramread = 0U; - volatile uint32 regread = 0U; - uint32 tcram1ErrStat, tcram2ErrStat = 0U; - - uint64 tcramB1_bk = tcramB1bit; - uint64 tcramB2_bk = tcramB2bit; - volatile uint32 i; -/* USER CODE BEGIN (38) */ -/* USER CODE END */ - - /* enable writes to ECC RAM, enable ECC error response */ - tcram1REG->RAMCTRL = 0x0005010AU; - tcram2REG->RAMCTRL = 0x0005010AU; - - /* the first 1-bit error will cause an error response */ - tcram1REG->RAMTHRESHOLD = 0x1U; - tcram2REG->RAMTHRESHOLD = 0x1U; - - /* allow SERR to be reported to ESM */ - tcram1REG->RAMINTCTRL = 0x1U; - tcram2REG->RAMINTCTRL = 0x1U; - - /* cause a 1-bit ECC error */ - _coreDisableRamEcc_(); - tcramB1bitError ^= 0x1U; - _coreEnableRamEcc_(); - - /* disable writes to ECC RAM */ - tcram1REG->RAMCTRL = 0x0005000AU; - tcram2REG->RAMCTRL = 0x0005000AU; - - /* read from location with 1-bit ECC error */ - ramread = tcramB1bit; - - /* Check for error status */ - tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x1U; - tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x1U; - /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ - /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ - if((tcram1ErrStat == 0U) && (tcram2ErrStat == 0U)) - { - /* TCRAM module does not reflect 1-bit error reported by CPU */ - selftestFailNotification(CHECKB1RAMECC_FAIL1); - } - else - { - /* clear SERR flag */ - tcram1REG->RAMERRSTATUS = 0x1U; - tcram2REG->RAMERRSTATUS = 0x1U; - - /* clear status flags for ESM group1 channels 26 and 28 */ - esmREG->SR1[0U] = 0x14000000U; - } - - /* enable writes to ECC RAM, enable ECC error response */ - tcram1REG->RAMCTRL = 0x0005010AU; - tcram2REG->RAMCTRL = 0x0005010AU; - - /* cause a 2-bit ECC error */ - _coreDisableRamEcc_(); - tcramB2bitError ^= 0x3U; - _coreEnableRamEcc_(); - - /* read from location with 2-bit ECC error this will cause a data abort to be generated */ - ramread = tcramB2bit; - - /* delay before restoring the ram value */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - for(i=0U;i<10U;i++) - { - }/* Wait */ - - regread = tcram1REG->RAMUERRADDR; - regread = tcram2REG->RAMUERRADDR; - - /* disable writes to ECC RAM */ - tcram1REG->RAMCTRL = 0x0005000AU; - tcram2REG->RAMCTRL = 0x0005000AU; - - /* Compute correct ECC */ - tcramB1bit = tcramB1_bk; - tcramB2bit = tcramB2_bk; - -/* USER CODE BEGIN (39) */ -/* USER CODE END */ -} - -/** @fn void checkFlashECC(void) -* @brief Check Flash ECC error detection logic. -* -* This function checks Flash ECC error detection logic. -*/ -/* SourceId : SELFTEST_SourceId_019 */ -/* DesignId : SELFTEST_DesignId_020 */ -/* Requirements : HL_SR405 */ -void checkFlashECC(void) -{ - /* Routine to check operation of ECC logic inside CPU for accesses to program flash */ - volatile uint32 flashread = 0U; - -/* USER CODE BEGIN (40) */ -/* USER CODE END */ - - /* Flash Module ECC Response enabled */ - flashWREG->FEDACCTRL1 = 0x000A060AU; - - /* Enable diagnostic mode and select diag mode 7 */ - flashWREG->FDIAGCTRL = 0x00050007U; - - /* Select ECC diagnostic mode, single-bit to be corrupted */ - flashWREG->FPAROVR = 0x00005A01U; - - /* Set the trigger for the diagnostic mode */ - flashWREG->FDIAGCTRL |= 0x01000000U; - - /* read a flash location from the mirrored memory map */ - flashread = flashBadECC1; - - /* disable diagnostic mode */ - flashWREG->FDIAGCTRL = 0x000A0007U; - - /* this will have caused a single-bit error to be generated and corrected by CPU */ - /* single-bit error not captured in flash module */ - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - if ((flashWREG->FEDACSTATUS & 0x2U) == 0U) - { - selftestFailNotification(CHECKFLASHECC_FAIL1); - } - else - { - /* clear single-bit error flag */ - flashWREG->FEDACSTATUS = 0x2U; - - /* clear ESM flag */ - esmREG->SR1[0U] = 0x40U; - - /* Enable diagnostic mode and select diag mode 7 */ - flashWREG->FDIAGCTRL = 0x00050007U; - - /* Select ECC diagnostic mode, two bits of ECC to be corrupted */ - flashWREG->FPAROVR = 0x00005A03U; - - /* Set the trigger for the diagnostic mode */ - flashWREG->FDIAGCTRL |= 0x01000000U; - - /* read from flash location from mirrored memory map this will cause a data abort */ - flashread = flashBadECC2; - - /* Read FUNCERRADD register */ - flashread = flashWREG->FUNCERRADD; - - /* disable diagnostic mode */ - flashWREG->FDIAGCTRL = 0x000A0007U; - } - -/* USER CODE BEGIN (41) */ -/* USER CODE END */ -} - -/** @fn void custom_dabort(void) -* @brief Custom Data abort routine for the application. -* -* Custom Data abort routine for the application. -*/ -void custom_dabort(void) -{ - /* Need custom data abort handler here. - * This data abort is not caused due to diagnostic checks of flash and TCRAM ECC logic. - */ -/* USER CODE BEGIN (42) */ -/* USER CODE END */ -} - -/** @fn void stcSelfCheckFail(void) -* @brief STC Self test check fail service routine -* -* This function is called if STC Self test check fail. -*/ -void stcSelfCheckFail(void) -{ -/* USER CODE BEGIN (43) */ -/* USER CODE END */ - /* CPU self-test controller's own self-test failed. - * It is not possible to verify that STC is capable of indicating a CPU self-test error. - * It is not recommended to continue operation. - */ - - /* User can add small piece of code to take system to Safe state using user code section. - * Note: Just removing the for(;;) will take the system to unknown state under ST failure, - * since it is not handled by HALCoGen driver */ -/* USER CODE BEGIN (44) */ -/* USER CODE END */ - /*SAFETYMCUSW 5 C MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - /*SAFETYMCUSW 26 S MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - /*SAFETYMCUSW 28 D MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - for(;;) - { - }/* Wait */ -/* USER CODE BEGIN (45) */ -/* USER CODE END */ -} - -/** @fn void cpuSelfTestFail(void) -* @brief CPU Self test check fail service routine -* -* This function is called if CPU Self test check fail. -*/ -void cpuSelfTestFail(void) -{ -/* USER CODE BEGIN (46) */ -/* USER CODE END */ - /* CPU self-test has failed. - * CPU operation is not reliable. - */ -/* USER CODE BEGIN (47) */ -/* USER CODE END */ - /*SAFETYMCUSW 5 C MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - /*SAFETYMCUSW 26 S MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - /*SAFETYMCUSW 28 D MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - for(;;) - { - }/* Wait */ -/* USER CODE BEGIN (48) */ -/* USER CODE END */ -} - - -/** @fn void vimParityCheck(void) -* @brief Routine to check VIM RAM parity error detection and signaling mechanism -* -* Routine to check VIM RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_020 */ -/* DesignId : SELFTEST_DesignId_021 */ -/* Requirements : HL_SR385 */ -void vimParityCheck(void) -{ - volatile uint32 vimramread = 0U; - uint32 vimparctl_bk = VIM_PARCTL; - -/* USER CODE BEGIN (49) */ -/* USER CODE END */ - - /* Enable parity checking and parity test mode */ - VIM_PARCTL = 0x0000010AU; - - /* flip a bit in the VIM RAM parity location */ - VIMRAMPARLOC ^= 0x1U; - - /* disable parity test mode */ - VIM_PARCTL = 0x0000000AU; - - /* cause parity error */ - vimramread = VIMRAMLOC; - - /* check if ESM group1 channel 15 is flagged */ - if ((esmREG->SR1[0U] & 0x8000U) ==0U) - { - /* VIM RAM parity error was not flagged to ESM. */ - selftestFailNotification(VIMPARITYCHECK_FAIL1); - } - else - { - /* clear VIM RAM parity error flag in VIM */ - VIM_PARFLG = 0x1U; - - /* clear ESM group1 channel 15 flag */ - esmREG->SR1[0U] = 0x8000U; - - /* Enable parity checking and parity test mode */ - VIM_PARCTL = 0x0000010AU; - - /* Revert back to correct data, flip bit 0 of the parity location */ - VIMRAMPARLOC ^= 0x1U; - } - - /* Restore Parity Control register */ - VIM_PARCTL = vimparctl_bk; - -/* USER CODE BEGIN (50) */ -/* USER CODE END */ -} - - -/** @fn void dmaParityCheck(void) -* @brief Routine to check DMA control packet RAM parity error detection and signaling mechanism -* -* Routine to check DMA control packet RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_021 */ -/* DesignId : SELFTEST_DesignId_022 */ -/* Requirements : HL_SR388 */ -void dmaParityCheck(void) -{ - volatile uint32 dmaread = 0U; - uint32 dmaparcr_bk = DMA_PARCR; - -/* USER CODE BEGIN (51) */ -/* USER CODE END */ - - /* Enable parity checking and parity test mode */ - DMA_PARCR = 0x0000010AU; - - /* Flip a bit in DMA RAM parity location */ - DMARAMPARLOC ^= 0x1U; - - /* Disable parity test mode */ - DMA_PARCR = 0x0000000AU; - - /* Cause parity error */ - dmaread = DMARAMLOC; - - /* Check if ESM group1 channel 3 is flagged */ - if ((esmREG->SR1[0U] & 0x8U) == 0U) - { - /* DMA RAM parity error was not flagged to ESM. */ - selftestFailNotification(DMAPARITYCHECK_FAIL1); - } - else - { - /* clear DMA parity error flag in DMA */ - DMA_PARADDR = 0x01000000U; - - /* clear ESM group1 channel 3 flag */ - esmREG->SR1[0U] = 0x8U; - - /* Enable parity checking and parity test mode */ - DMA_PARCR = 0x0000010AU; - - /* Revert back to correct data, flip bit 0 of the parity location */ - DMARAMPARLOC ^= 0x1U; - } - - /* Restrore Parity Control register */ - DMA_PARCR = dmaparcr_bk; - -/* USER CODE BEGIN (52) */ -/* USER CODE END */ -} - - -/** @fn void het1ParityCheck(void) -* @brief Routine to check HET1 RAM parity error detection and signaling mechanism -* -* Routine to check HET1 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_022 */ -/* DesignId : SELFTEST_DesignId_024 */ -/* Requirements : HL_SR389 */ -void het1ParityCheck(void) -{ - volatile uint32 nhetread = 0U; - uint32 hetpcr_bk = hetREG1->PCR; - -/* USER CODE BEGIN (53) */ -/* USER CODE END */ - - /* Set TEST mode and enable parity checking */ - hetREG1->PCR = 0x0000010AU; - - /* flip parity bit */ - NHET1RAMPARLOC ^= 0x1U; - - /* Disable TEST mode */ - hetREG1->PCR = 0x0000000AU; - - /* read to cause parity error */ - nhetread = NHET1RAMLOC; - - /* check if ESM group1 channel 7 is flagged */ - if ((esmREG->SR1[0U] & 0x80U) ==0U) - { - /* NHET1 RAM parity error was not flagged to ESM. */ - selftestFailNotification(HET1PARITYCHECK_FAIL1); - } - else - { - /* clear ESM group1 channel 7 flag */ - esmREG->SR1[0U] = 0x80U; - - /* Set TEST mode and enable parity checking */ - hetREG1->PCR = 0x0000010AU; - - /* Revert back to correct data, flip bit 0 of the parity location */ - NHET1RAMPARLOC ^= 0x1U; - } - - /* Restore Parity comtrol register */ - hetREG1->PCR = hetpcr_bk; - -/* USER CODE BEGIN (54) */ -/* USER CODE END */ -} - - -/** @fn void htu1ParityCheck(void) -* @brief Routine to check HTU1 RAM parity error detection and signaling mechanism -* -* Routine to check HTU1 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_023 */ -/* DesignId : SELFTEST_DesignId_025 */ -/* Requirements : HL_SR390 */ -void htu1ParityCheck(void) -{ - volatile uint32 hturead = 0U; - uint32 htupcr_bk = htuREG1->PCR; - -/* USER CODE BEGIN (55) */ -/* USER CODE END */ - - /* Enable parity and TEST mode */ - htuREG1->PCR = 0x0000010AU; - - /* flip parity bit */ - HTU1PARLOC ^= 0x1U; - - /* Disable parity RAM test mode */ - htuREG1->PCR = 0x0000000AU; - - /* read to cause parity error */ - hturead = HTU1RAMLOC; - - /* check if ESM group1 channel 8 is flagged */ - if ((esmREG->SR1[0U] & 0x100U) == 0U) - { - /* HTU1 RAM parity error was not flagged to ESM. */ - selftestFailNotification(HTU1PARITYCHECK_FAIL1); - } - else - { - /* Clear HTU parity error flag */ - htuREG1->PAR = 0x00010000U; - esmREG->SR1[0U] = 0x100U; - - /* Enable parity and TEST mode */ - htuREG1->PCR = 0x0000010AU; - - /* Revert back to correct data, flip bit 0 of the parity location */ - HTU1PARLOC ^= 0x1U; - } - - /* Restore Parity control register */ - htuREG1->PCR = htupcr_bk; - -/* USER CODE BEGIN (56) */ -/* USER CODE END */ - -} - - -/** @fn void het2ParityCheck(void) -* @brief Routine to check HET2 RAM parity error detection and signaling mechanism -* -* Routine to check HET2 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_024 */ -/* DesignId : SELFTEST_DesignId_024 */ -/* Requirements : HL_SR389 */ -void het2ParityCheck(void) -{ - volatile uint32 nhetread = 0U; - uint32 hetpcr_bk = hetREG2->PCR; - uint32 esmCh7Stat, esmCh34Stat = 0U; - -/* USER CODE BEGIN (57) */ -/* USER CODE END */ - - /* Set TEST mode and enable parity checking */ - hetREG2->PCR = 0x0000010AU; - - /* flip parity bit */ - NHET2RAMPARLOC ^= 0x1U; - - /* Disable TEST mode */ - hetREG2->PCR = 0x0000000AU; - - /* read to cause parity error */ - nhetread = NHET2RAMLOC; - - /* check if ESM group1 channel 7 or 34 (If not reserved) is flagged */ - esmCh7Stat = esmREG->SR1[0U] & 0x80U; - esmCh34Stat = esmREG->SR4[0U] & 0x4U; - if ((esmCh7Stat == 0U) && (esmCh34Stat ==0U)) - { - /* NHET2 RAM parity error was not flagged to ESM. */ - selftestFailNotification(HET2PARITYCHECK_FAIL1); - } - else - { - /* clear ESM group1 channel 7 flag */ - esmREG->SR1[0U] = 0x80U; - - /* clear ESM group1 channel 34 flag */ - esmREG->SR4[0U] = 0x4U; - - /* Set TEST mode and enable parity checking */ - hetREG2->PCR = 0x0000010AU; - - /* Revert back to correct data, flip bit 0 of the parity location */ - NHET2RAMPARLOC ^= 0x1U; - } - - /* Restore parity control register */ - hetREG2->PCR = hetpcr_bk; - -/* USER CODE BEGIN (58) */ -/* USER CODE END */ -} - - -/** @fn void htu2ParityCheck(void) -* @brief Routine to check HTU2 RAM parity error detection and signaling mechanism -* -* Routine to check HTU2 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_025 */ -/* DesignId : SELFTEST_DesignId_025 */ -/* Requirements : HL_SR390 */ -void htu2ParityCheck(void) -{ - volatile uint32 hturead = 0U; - uint32 htupcr_bk = htuREG2->PCR; - -/* USER CODE BEGIN (59) */ -/* USER CODE END */ - - /* Enable parity and TEST mode */ - htuREG2->PCR = 0x0000010AU; - - /* flip parity bit */ - HTU2PARLOC ^= 0x1U; - - /* Disable parity RAM test mode */ - htuREG2->PCR = 0x0000000AU; - - /* read to cause parity error */ - hturead = HTU2RAMLOC; - - /* check if ESM group1 channel 8 is flagged */ - if ((esmREG->SR1[0U] & 0x100U) == 0U) - { - /* HTU2 RAM parity error was not flagged to ESM. */ - selftestFailNotification(HTU2PARITYCHECK_FAIL1); - } - else - { - /* Clear HTU parity error flag */ - htuREG2->PAR = 0x00010000U; - esmREG->SR1[0U] = 0x100U; - - /* Enable parity and TEST mode */ - htuREG2->PCR = 0x0000010AU; - - /* Revert back to correct data, flip bit 0 of the parity location */ - HTU2PARLOC ^= 0x1U; - } - - /* Restore parity control register*/ - htuREG2->PCR = htupcr_bk; - -/* USER CODE BEGIN (60) */ -/* USER CODE END */ -} - - -/** @fn void adc1ParityCheck(void) -* @brief Routine to check ADC1 RAM parity error detection and signaling mechanism -* -* Routine to check ADC1 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_026 */ -/* DesignId : SELFTEST_DesignId_023 */ -/* Requirements : HL_SR387 */ -void adc1ParityCheck(void) -{ - volatile uint32 adcramread = 0U; - uint32 adcparcr_bk = adcREG1->PARCR; - -/* USER CODE BEGIN (61) */ -/* USER CODE END */ - - /* Set the TEST bit in the PARCR and enable parity checking */ - adcREG1->PARCR = 0x10AU; - - /* Invert the parity bits inside the ADC1 RAM's first location */ - adcPARRAM1 = ~(adcPARRAM1); - - /* clear the TEST bit */ - adcREG1->PARCR = 0x00AU; - - /* This read is expected to trigger a parity error */ - adcramread = adcRAM1; - - /* Check for ESM group1 channel 19 to be flagged */ - if ((esmREG->SR1[0U] & 0x80000U) ==0U) - { - /* no ADC1 RAM parity error was flagged to ESM */ - selftestFailNotification(ADC1PARITYCHECK_FAIL1); - } - else - { - /* clear ADC1 RAM parity error flag */ - esmREG->SR1[0U] = 0x80000U; - - /* Set the TEST bit in the PARCR and enable parity checking */ - adcREG1->PARCR = 0x10AU; - - /* Revert back the parity bits to correct data */ - adcPARRAM1 = ~(adcPARRAM1); - } - - /* Restore parity control register */ - adcREG1->PARCR = adcparcr_bk; - -/* USER CODE BEGIN (62) */ -/* USER CODE END */ -} - - -/** @fn void adc2ParityCheck(void) -* @brief Routine to check ADC2 RAM parity error detection and signaling mechanism -* -* Routine to check ADC2 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_027 */ -/* DesignId : SELFTEST_DesignId_023 */ -/* Requirements : HL_SR387 */ -void adc2ParityCheck(void) -{ - volatile uint32 adcramread = 0U; - uint32 adcparcr_bk = adcREG2->PARCR; - -/* USER CODE BEGIN (63) */ -/* USER CODE END */ - - /* Set the TEST bit in the PARCR and enable parity checking */ - adcREG2->PARCR = 0x10AU; - - /* Invert the parity bits inside the ADC2 RAM's first location */ - adcPARRAM2 = ~(adcPARRAM2); - - /* clear the TEST bit */ - adcREG2->PARCR = 0x00AU; - - /* This read is expected to trigger a parity error */ - adcramread = adcRAM2; - - /* Check for ESM group1 channel 1 to be flagged */ - if ((esmREG->SR1[0U] & 0x2U) == 0U) - { - /* no ADC2 RAM parity error was flagged to ESM */ - selftestFailNotification(ADC2PARITYCHECK_FAIL1); - } - else - { - /* clear ADC2 RAM parity error flag */ - esmREG->SR1[0U] = 0x2U; - - /* Set the TEST bit in the PARCR and enable parity checking */ - adcREG2->PARCR = 0x10AU; - - /* Revert back the parity bits to correct data */ - adcPARRAM2 = ~(adcPARRAM2); - } - - /* Restore parity control register*/ - adcREG2->PARCR = adcparcr_bk; - -/* USER CODE BEGIN (64) */ -/* USER CODE END */ -} - -/** @fn void can1ParityCheck(void) -* @brief Routine to check CAN1 RAM parity error detection and signaling mechanism -* -* Routine to check CAN1 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_028 */ -/* DesignId : SELFTEST_DesignId_026 */ -/* Requirements : HL_SR393 */ -void can1ParityCheck(void) -{ - volatile uint32 canread = 0U; - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - uint32 canctl_bk = canREG1->CTL; - -/* USER CODE BEGIN (65) */ -/* USER CODE END */ - - /* Disable parity, init mode, TEST mode */ - canREG1->CTL = 0x00001481U; - - /* Enable RAM Direct Access mode */ - canREG1->TEST = 0x00000200U; - - /* flip the parity bit */ - canPARRAM1 ^= 0x00001000U; - - /* Enable parity, disable init, still TEST mode */ - canREG1->CTL = 0x00002880U; - - /* Read location with parity error */ - canread = canRAM1; - - /* check if ESM group1 channel 21 is flagged */ - if ((esmREG->SR1[0U] & 0x00200000U) == 0U) - { - /* No DCAN1 RAM parity error was flagged to ESM */ - selftestFailNotification(CAN1PARITYCHECK_FAIL1); - } - else - { - /* clear ESM group1 channel 21 flag */ - esmREG->SR1[0U] = 0x00200000U; - - /* Disable parity, init mode, TEST mode */ - canREG1->CTL = 0x00001481U; - - /* Revert back to correct data, flip bit 0 of the parity location */ - canPARRAM1 ^= 0x00001000U; - } - - /* Disable RAM Direct Access mode */ - canREG1->TEST = 0x00000000U; - - /* Restore CTL register */ - canREG1->CTL = canctl_bk; - - /* Read Error and Status register to clear Parity Error bit */ - canread = canREG1->ES; - -/* USER CODE BEGIN (66) */ -/* USER CODE END */ -} - - -/** @fn void can2ParityCheck(void) -* @brief Routine to check CAN2 RAM parity error detection and signaling mechanism -* -* Routine to check CAN2 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_029 */ -/* DesignId : SELFTEST_DesignId_026 */ -/* Requirements : HL_SR393 */ -void can2ParityCheck(void) -{ - volatile uint32 canread = 0U; - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - uint32 canctl_bk = canREG2->CTL; - -/* USER CODE BEGIN (67) */ -/* USER CODE END */ - - /* Disable parity, init mode, TEST mode */ - canREG2->CTL = 0x00001481U; - - /* Enable RAM Direct Access mode */ - canREG2->TEST = 0x00000200U; - - /* flip the parity bit */ - canPARRAM2 ^= 0x00001000U; - - /* Enable parity, disable init, still TEST mode */ - canREG2->CTL = 0x00002880U; - - /* Read location with parity error */ - canread = canRAM2; - - /* check if ESM group1 channel 23 is flagged */ - if ((esmREG->SR1[0U] & 0x00800000U) == 0U) - { - /* No DCAN2 RAM parity error was flagged to ESM */ - selftestFailNotification(CAN2PARITYCHECK_FAIL1); - } - else - { - /* clear ESM group1 channel 23 flag */ - esmREG->SR1[0U] = 0x00800000U; - - /* Disable parity, init mode, TEST mode */ - canREG2->CTL = 0x00001481U; - - /* Revert back to correct data, flip bit 0 of the parity location */ - canPARRAM2 ^= 0x00001000U; - } - - /* Disable RAM Direct Access mode */ - canREG2->TEST = 0x00000000U; - - /* disable TEST mode */ - canREG2->CTL = canctl_bk; - - /* Read Error and Status register to clear Parity Error bit */ - canread = canREG2->ES; - -/* USER CODE BEGIN (68) */ -/* USER CODE END */ -} - - -/** @fn void can3ParityCheck(void) -* @brief Routine to check CAN3 RAM parity error detection and signaling mechanism -* -* Routine to check CAN3 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_030 */ -/* DesignId : SELFTEST_DesignId_026 */ -/* Requirements : HL_SR393 */ -void can3ParityCheck(void) -{ - volatile uint32 canread = 0U; - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - uint32 canctl_bk = canREG3->CTL; - -/* USER CODE BEGIN (69) */ -/* USER CODE END */ - - /* Disable parity, init mode, TEST mode */ - canREG3->CTL = 0x00001481U; - - /* Enable RAM Direct Access mode */ - canREG3->TEST = 0x00000200U; - - /* flip the parity bit */ - canPARRAM3 ^= 0x00001000U; - - /* Enable parity, disable init, still TEST mode */ - canREG3->CTL = 0x00002880U; - - /* Read location with parity error */ - canread = canRAM3; - - /* check if ESM group1 channel 22 is flagged */ - if ((esmREG->SR1[0U] & 0x00400000U) == 0U) - { - /* No DCAN3 RAM parity error was flagged to ESM */ - selftestFailNotification(CAN3PARITYCHECK_FAIL1); - } - else - { - /* clear ESM group1 channel 22 flag */ - esmREG->SR1[0U] = 0x00400000U; - - /* Disable parity, init mode, TEST mode */ - canREG3->CTL = 0x00001481U; - - /* Revert back to correct data, flip bit 0 of the parity location */ - canPARRAM3 ^= 0x00001000U; - } - - /* Disable RAM Direct Access mode */ - canREG3->TEST = 0x00000000U; - - /* disable TEST mode */ - canREG3->CTL = canctl_bk; - - /* Read Error and Status register to clear Parity Error bit */ - canread = canREG3->ES; - -/* USER CODE BEGIN (70) */ -/* USER CODE END */ -} - - -/** @fn void mibspi1ParityCheck(void) -* @brief Routine to check MIBSPI1 RAM parity error detection and signaling mechanism -* -* Routine to check MIBSPI1 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_031 */ -/* DesignId : SELFTEST_DesignId_027 */ -/* Requirements : HL_SR386 */ -void mibspi1ParityCheck(void) -{ - volatile uint32 spiread = 0U; - uint32 mibspie_bk = mibspiREG1->MIBSPIE; - uint32 mibspictl_bk = mibspiREG1->UERRCTRL; - -/* USER CODE BEGIN (71) */ -/* USER CODE END */ - - /* enable multi-buffered mode */ - mibspiREG1->MIBSPIE = 0x1U; - - /* enable parity error detection */ - mibspiREG1->UERRCTRL = (mibspiREG1->UERRCTRL & 0xFFFFFFF0U) | (0xAU); - - /* enable parity test mode */ - mibspiREG1->UERRCTRL |= 0x00000100U; - - /* flip bit 0 of the parity location */ - mibspiPARRAM1 ^= 0x1U; - - /* disable parity test mode */ - mibspiREG1->UERRCTRL &= 0xFFFFFEFFU; - - /* read from MibSPI1 RAM to cause parity error */ - spiread = MIBSPI1RAMLOC; - - /* check if ESM group1 channel 17 is flagged */ - if ((esmREG->SR1[0U] & 0x20000U) == 0U) - { - /* No MibSPI1 RAM parity error was flagged to ESM. */ - selftestFailNotification(MIBSPI1PARITYCHECK_FAIL1); - } - else - { - /* clear parity error flags */ - mibspiREG1->UERRSTAT = 0x3U; - - /* clear ESM group1 channel 17 flag */ - esmREG->SR1[0U] = 0x20000U; - - /* enable parity test mode */ - mibspiREG1->UERRCTRL |= 0x00000100U; - - /* Revert back to correct data, flip bit 0 of the parity location */ - mibspiPARRAM1 ^= 0x1U; - } - - /* Restore MIBSPI control registers */ - mibspiREG1->UERRCTRL = mibspictl_bk; - mibspiREG1->MIBSPIE = mibspie_bk; - -/* USER CODE BEGIN (72) */ -/* USER CODE END */ -} - -/** @fn void mibspi3ParityCheck(void) -* @brief Routine to check MIBSPI3 RAM parity error detection and signaling mechanism -* -* Routine to check MIBSPI3 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_032 */ -/* DesignId : SELFTEST_DesignId_027 */ -/* Requirements : HL_SR386 */ -void mibspi3ParityCheck(void) -{ - volatile uint32 spiread = 0U; - uint32 mibspie_bk = mibspiREG3->MIBSPIE; - uint32 mibspictl_bk = mibspiREG3->UERRCTRL; - -/* USER CODE BEGIN (73) */ -/* USER CODE END */ - - /* enable multi-buffered mode */ - mibspiREG3->MIBSPIE = 0x1U; - - /* enable parity test mode */ - mibspiREG3->UERRCTRL |= 0x00000100U; - - /* flip bit 0 of the parity location */ - mibspiPARRAM3 ^= 0x1U; - - /* enable parity error detection */ - mibspiREG3->UERRCTRL = (mibspiREG3->UERRCTRL & 0xFFFFFFF0U) | (0xAU); - - /* disable parity test mode */ - mibspiREG3->UERRCTRL &= 0xFFFFFEFFU; - - /* read from MibSPI3 RAM to cause parity error */ - spiread = MIBSPI3RAMLOC; - - /* check if ESM group1 channel 18 is flagged */ - if ((esmREG->SR1[0U] & 0x40000U) == 0U) - { - /* No MibSPI3 RAM parity error was flagged to ESM. */ - selftestFailNotification(MIBSPI3PARITYCHECK_FAIL1); - } - else - { - /* clear parity error flags */ - mibspiREG3->UERRSTAT = 0x3U; - - /* clear ESM group1 channel 18 flag */ - esmREG->SR1[0U] = 0x40000U; - - /* enable parity test mode */ - mibspiREG3->UERRCTRL |= 0x00000100U; - - /* Revert back to correct data, flip bit 0 of the parity location */ - mibspiPARRAM3 ^= 0x1U; - } - - /* Restore MIBSPI control registers */ - mibspiREG3->UERRCTRL = mibspictl_bk; - mibspiREG3->MIBSPIE = mibspie_bk; - -/* USER CODE BEGIN (74) */ -/* USER CODE END */ -} - -/** @fn void mibspi5ParityCheck(void) -* @brief Routine to check MIBSPI5 RAM parity error detection and signaling mechanism -* -* Routine to check MIBSPI5 RAM parity error detection and signaling mechanism -*/ -/* SourceId : SELFTEST_SourceId_033 */ -/* DesignId : SELFTEST_DesignId_027 */ -/* Requirements : HL_SR386 */ -void mibspi5ParityCheck(void) -{ - volatile uint32 spiread = 0U; - uint32 mibspie_bk = mibspiREG5->MIBSPIE; - uint32 mibspictl_bk = mibspiREG5->UERRCTRL; - -/* USER CODE BEGIN (75) */ -/* USER CODE END */ - - /* enable multi-buffered mode */ - mibspiREG5->MIBSPIE = 0x1U; - - /* enable parity test mode */ - mibspiREG5->UERRCTRL |= 0x00000100U; - - /* flip bit 0 of the parity location */ - mibspiPARRAM5 ^= 0x1U; - - /* enable parity error detection */ - mibspiREG5->UERRCTRL = (mibspiREG5->UERRCTRL & 0xFFFFFFF0U) | (0xAU); - - /* disable parity test mode */ - mibspiREG5->UERRCTRL &= 0xFFFFFEFFU; - - /* read from MibSPI5 RAM to cause parity error */ - spiread = MIBSPI5RAMLOC; - - /* check if ESM group1 channel 24 is flagged */ - if ((esmREG->SR1[0U] & 0x01000000U) == 0U) - { - /* No MibSPI5 RAM parity error was flagged to ESM. */ - selftestFailNotification(MIBSPI5PARITYCHECK_FAIL1); - } - else - { - /* clear parity error flags */ - mibspiREG5->UERRSTAT = 0x3U; - - /* clear ESM group1 channel 24 flag */ - esmREG->SR1[0U] = 0x01000000U; - - /* enable parity test mode */ - mibspiREG5->UERRCTRL |= 0x00000100U; - - /* Revert back to correct data, flip bit 0 of the parity location */ - mibspiPARRAM5 ^= 0x1U; - } - - /* Restore MIBSPI control registers */ - mibspiREG5->UERRCTRL = mibspictl_bk; - mibspiREG5->MIBSPIE = mibspie_bk; - -/* USER CODE BEGIN (76) */ -/* USER CODE END */ -} - -/** @fn void checkRAMECC(void) -* @brief Check TCRAM ECC error detection logic. -* -* This function checks TCRAM ECC error detection logic. -*/ -/* SourceId : SELFTEST_SourceId_034 */ -/* DesignId : SELFTEST_DesignId_019 */ -/* Requirements : HL_SR408 */ -void checkRAMECC(void) -{ - volatile uint64 ramread = 0U; - volatile uint32 regread = 0U; - uint32 tcram1ErrStat, tcram2ErrStat = 0U; - - uint64 tcramA1_bk = tcramA1bit; - uint64 tcramB1_bk = tcramB1bit; - uint64 tcramA2_bk = tcramA2bit; - uint64 tcramB2_bk = tcramB2bit; - - /* Clear RAMOCUUR before setting RAMTHRESHOLD register */ - tcram1REG->RAMOCCUR = 0U; - tcram2REG->RAMOCCUR = 0U; - - /* Set Single-bit Error Threshold Count as 1 */ - tcram1REG->RAMTHRESHOLD = 1U; - tcram2REG->RAMTHRESHOLD = 1U; - - /* Enable single bit error generation */ - tcram1REG->RAMINTCTRL = 1U; - tcram2REG->RAMINTCTRL = 1U; - - /* Enable writes to ECC RAM, enable ECC error response */ - tcram1REG->RAMCTRL = 0x0005010AU; - tcram2REG->RAMCTRL = 0x0005010AU; - - /* Force a single bit error in both the banks */ - _coreDisableRamEcc_(); - tcramA1bitError ^= 1U; - tcramB1bitError ^= 1U; - _coreEnableRamEcc_(); - - /* Read the corrupted data to generate single bit error */ - ramread = tcramA1bit; - ramread = tcramB1bit; - - /* Check for error status */ - tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x1U; - tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x1U; - /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ - /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ - if((tcram1ErrStat == 0U) || (tcram2ErrStat == 0U)) - { - /* TCRAM module does not reflect 1-bit error reported by CPU */ - selftestFailNotification(CHECKRAMECC_FAIL1); - } - else - { - if((esmREG->SR1[0U] & 0x14000000U) != 0x14000000U) - { - /* TCRAM 1-bit error not flagged in ESM */ - selftestFailNotification(CHECKRAMECC_FAIL2); - } - else - { - /* Clear single bit error flag in TCRAM module */ - tcram1REG->RAMERRSTATUS = 0x1U; - tcram2REG->RAMERRSTATUS = 0x1U; - - /* Clear ESM status */ - esmREG->SR1[0U] = 0x14000000U; - } - } - - /* Force a double bit error in both the banks */ - _coreDisableRamEcc_(); - tcramA2bitError ^= 3U; - tcramB2bitError ^= 3U; - _coreEnableRamEcc_(); - - /* Read the corrupted data to generate double bit error */ - ramread = tcramA2bit; - ramread = tcramB2bit; - - regread = tcram1REG->RAMUERRADDR; - regread = tcram2REG->RAMUERRADDR; - - /* disable writes to ECC RAM */ - tcram1REG->RAMCTRL = 0x0005000AU; - tcram2REG->RAMCTRL = 0x0005000AU; - - /* Compute correct ECC */ - tcramA1bit = tcramA1_bk; - tcramB1bit = tcramB1_bk; - tcramA2bit = tcramA2_bk; - tcramB2bit = tcramB2_bk; -} - -/** @fn void checkClockMonitor(void) -* @brief Check clock monitor failure detection logic. -* -* This function checks clock monitor failure detection logic. -*/ -/* SourceId : SELFTEST_SourceId_035 */ -/* DesignId : SELFTEST_DesignId_028 */ -/* Requirements : HL_SR394 */ -void checkClockMonitor(void) -{ - uint32 ghvsrc_bk; - - /* Enable clock monitor range detection circuitry */ - systemREG1->CLKTEST |= 0x03000000U; - - /* Backup register GHVSRC */ - ghvsrc_bk = systemREG1->GHVSRC; - - /* Switch all clock domains to HF LPO */ - systemREG1->GHVSRC = 0x05050005U; - - /* Disable oscillator to cause a oscillator fail */ - systemREG1->CSDISSET = 0x1U; - - /* Wait till oscillator fail flag is set */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((systemREG1->GBLSTAT & 0x1U) == 0U) - { - } /* Wait */ - - if((esmREG->SR1[0U] & 0x800U) != 0x800U) - { - selftestFailNotification(CHECKCLOCKMONITOR_FAIL1); - } - else - { - /* Clear ESM flag */ - esmREG->SR1[0U] = 0x800U; - - /* Disable clock monitor range detection circuitry */ - systemREG1->CLKTEST &= ~(0x03000000U); - - /* Enable oscillator */ - systemREG1->CSDISCLR = 0x1U; - - /* Wait until oscillator is enabled */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((systemREG1->CSVSTAT & 0x3U) == 0U) - { - } /* Wait */ - - /* Clear oscillator fail flag and PLL slip flag if any*/ - systemREG1->GBLSTAT = 0x301U; - - /* Switch back all clock domains */ - systemREG1->GHVSRC = ghvsrc_bk; - } -} - -/** @fn void checkFlashEEPROMECC(void) -* @brief Check Flash EEPROM ECC error detection logic. -* -* This function checks Flash EEPROM ECC error detection logic. -*/ -/* SourceId : SELFTEST_SourceId_036 */ -/* DesignId : SELFTEST_DesignId_029 */ -/* Requirements : HL_SR406 */ -void checkFlashEEPROMECC(void) -{ - uint32 ecc; - volatile uint32 regread; - - /* Set Single Error Correction Threshold as 1 */ - flashWREG->EECTRL2 |= 1U; - - /* Enable EEPROM Emulation Error Profiling */ - flashWREG->EECTRL1 |= 0x00000100U; - - /* Load FEMU_XX regs in order to generate ECC */ - flashWREG->FEMUADDR = 0xF0200000U; - flashWREG->FEMUDMSW = 0U; - flashWREG->FEMUDLSW = 0U; - - /* ECC for the correct data*/ - ecc = flashWREG->FEMUECC; - - /* Load data with 1 bit error */ - flashWREG->FEMUDMSW = 0U; - flashWREG->FEMUDLSW = 1U; - - /* Enable Diagnostic ECC data correction mode and select FEE SECDED for diagnostic testing */ - flashWREG->FDIAGCTRL = 0x00055001U; - - flashWREG->FEMUECC = ecc; - - /* Diagnostic trigger */ - flashWREG->FDIAGCTRL |= 0x01000000U; - - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - if((flashWREG->EESTATUS & 0x1U) != 0x1U) - { - /* No single bit error was detected */ - selftestFailNotification(CHECKFLASHEEPROMECC_FAIL1); - } - else - { - if((esmREG->SR4[0U] & 0x8U) != 0x8U) - { - /* EEPROM single bit error not captured in ESM */ - selftestFailNotification(CHECKFLASHEEPROMECC_FAIL2); - } - else - { - /* Clear single bit error flag in flash wrapper */ - flashWREG->EESTATUS = 0xFU; - - /* Clear ESM flag */ - esmREG->SR4[0U] = 0x8U; - } - } - - /* Load data with 2 bit error */ - flashWREG->FEMUDMSW = 0U; - flashWREG->FEMUDLSW = 3U; - - /* Enable Diagnostic ECC data correction mode and select FEE SECDED for diagnostic testing */ - flashWREG->FDIAGCTRL = 0x00055001U; - - flashWREG->FEMUECC = ecc; - - /* Diagnostic trigger */ - flashWREG->FDIAGCTRL |= 0x01000000U; - - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - if((flashWREG->EESTATUS & 0x100U) != 0x100U) - { - /* No double bit error was detected */ - selftestFailNotification(CHECKFLASHEEPROMECC_FAIL3); - } - else - { - if((esmREG->SR4[0U] & 0x10U) != 0x10U) - { - /* EEPROM double bit error not captured in ESM */ - selftestFailNotification(CHECKFLASHEEPROMECC_FAIL4); - } - else - { - /* Clear uncorrectable error flag in flash wrapper */ - flashWREG->EESTATUS = 0x1100U; - - /* Read EEUNCERRADD register */ - regread = flashWREG->EEUNCERRADD; - - /* Clear ESM flag */ - esmREG->SR4[0U] = 0x10U; - - - } - } -} - -/** @fn void checkPLL1Slip(void) -* @brief Check PLL1 Slip detection logic. -* -* This function checks PLL1 Slip detection logic. -*/ -/* SourceId : SELFTEST_SourceId_037 */ -/* DesignId : SELFTEST_DesignId_030 */ -/* Requirements : HL_SR384 */ -void checkPLL1Slip(void) -{ - uint32 ghvsrc_bk, pllctl1_bk; - - /* Back up the the registers GHVSRC and PLLCTRL1 */ - ghvsrc_bk = systemREG1->GHVSRC; - pllctl1_bk = systemREG1->PLLCTL1; - - /* Switch all clock domains to oscillator */ - systemREG1->GHVSRC = 0x00000000U; - - /* Disable Reset on PLL Slip and enable Bypass on PLL slip */ - systemREG1->PLLCTL1 &= 0x1FFFFFFFU; - - /* Force a PLL Slip */ - systemREG1->PLLCTL1 ^= 0x8000U; - - /* Wait till PLL slip flag is set */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((systemREG1->GBLSTAT & 0x300U) == 0U) - { - } /* Wait */ - - if((esmREG->SR1[0U] & 0x400U) != 0x400U) - { - /* ESM flag not set */ - selftestFailNotification(CHECKPLL1SLIP_FAIL1); - } - else - { - /* Disable PLL1 */ - systemREG1->CSDISSET = 0x2U; - - /* Wait till PLL1 is disabled */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((systemREG1->CSDIS & 0x2U) == 0U) - { - } /* Wait */ - - /* Restore the PLL multiplier value */ - systemREG1->PLLCTL1 ^= 0x8000U; - - /* Enable PLL1 */ - systemREG1->CSDISCLR = 0x2U; - - /* Wait till PLL1 is disabled */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((systemREG1->CSDIS & 0x2U) != 0U) - { - } /* Wait */ - - /* Switch back to the initial clock source */ - systemREG1->GHVSRC = ghvsrc_bk; - - /* Clear PLL slip flag */ - systemREG1->GBLSTAT = 0x300U; - - /* Clear ESM flag */ - esmREG->SR1[0U] = 0x400U; - - /* Restore the PLLCTL1 register */ - systemREG1->PLLCTL1 = pllctl1_bk; - } -} - -/** @fn void checkPLL2Slip(void) -* @brief Check PLL2 Slip detection logic. -* -* This function checks PLL2 Slip detection logic. -*/ -/* SourceId : SELFTEST_SourceId_038 */ -/* DesignId : SELFTEST_DesignId_031 */ -/* Requirements : HL_SR384 */ -void checkPLL2Slip(void) -{ - uint32 ghvsrc_bk; - - /* Back up the the register GHVSRC */ - ghvsrc_bk = systemREG1->GHVSRC; - - /* Switch all clock domains to oscillator */ - systemREG1->GHVSRC = 0x00000000U; - - /* Force a PLL2 Slip */ - systemREG2->PLLCTL3 ^= 0x8000U; - - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((esmREG->SR4[0U] & 0x400U) != 0x400U) - { - /* Wait till ESM flag is set */ - } - - /* Disable PLL2 */ - systemREG1->CSDISSET = 0x40U; - - /* Wait till PLL2 is disabled */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((systemREG1->CSDIS & 0x40U) == 0U) - { - } /* Wait */ - - /* Restore the PLL 2 multiplier value */ - systemREG2->PLLCTL3 ^= 0x8000U; - - /* Enable PLL2 */ - systemREG1->CSDISCLR = 0x40U; - - /* Wait till PLL2 is disabled */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((systemREG1->CSDIS & 0x40U) != 0U) - { - } /* Wait */ - - /* Switch back to the initial clock source */ - systemREG1->GHVSRC = ghvsrc_bk; - - /* Clear PLL slip flag */ - systemREG1->GBLSTAT = 0x300U; - - /* Clear ESM flag */ - esmREG->SR4[0U] = 0x400U; -} - - -/** @fn void checkRAMAddrParity(void) -* @brief Check TCRAM Address parity error detection and signaling mechanism. -* -* This function TCRAM Address parity error detection and signaling mechanism. -*/ -/* SourceId : SELFTEST_SourceId_039 */ -/* DesignId : SELFTEST_DesignId_032 */ -/* Requirements : HL_SR409 */ -void checkRAMAddrParity(void) -{ - register uint64 ramread; - volatile uint32 regread; - uint32 tcram1ErrStat, tcram2ErrStat; - - /* Invert Address parity scheme */ - tcram1REG->RAMCTRL = 0x0D05000AU; - tcram2REG->RAMCTRL = 0x0D05000AU; - - /* Read from both RAM banks */ - ramread = tcramA1bit; - ramread = ramread | tcramB1bit; /* XOR-ing with ramread to avoid warnings */ - - /* Switch back to Address parity scheme */ - tcram1REG->RAMCTRL = 0x0005000AU; - tcram2REG->RAMCTRL = 0x0005000AU; - - /* Check for error status */ - tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x100U; - tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x100U; - /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ - /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ - if((tcram1ErrStat == 0U) || (tcram2ErrStat == 0U)) - { - /* No Address parity error detected */ - selftestFailNotification(CHECKRAMADDRPARITY_FAIL1); - } - else - { - if((esmREG->SR1[1U] & 0x1400U) != 0x1400U) - { - /* Address parity error not reported to ESM */ - selftestFailNotification(CHECKRAMADDRPARITY_FAIL2); - } - else - { - /* Clear Address parity error flag */ - tcram1REG->RAMERRSTATUS = 0x300U; - tcram2REG->RAMERRSTATUS = 0x300U; - - /* Clear ESM flag */ - esmREG->SR1[1U] = 0x1400U; - - /* The nERROR pin will become inactive once the LTC counter expires */ - esmREG->EKR = 0x5U; - - regread = tcram1REG->RAMPERADDR; - regread = tcram2REG->RAMPERADDR; - } - } -} - -/** @fn void checkRAMUERRTest(void) -* @brief Run RAM test -* -* This function runs RAM test to test the redundant address decode and compare logic. -*/ -/* SourceId : SELFTEST_SourceId_040 */ -/* DesignId : SELFTEST_DesignId_033 */ -/* Requirements : HL_SR410 */ -void checkRAMUERRTest(void) -{ - uint32 tcram1ErrStat, tcram2ErrStat = 0U; - - /* Trigger equality check */ - tcram1REG->RAMTEST = 0x018AU; - tcram2REG->RAMTEST = 0x018AU; - - /* Wait till test is completed */ - while(tcram1REG->RAMTEST != 0x008AU) - { - } /* Wait */ - while(tcram2REG->RAMTEST != 0x008AU) - { - } /* Wait */ - - /* Check for error status */ - tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x10U; - tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x10U; - if((tcram1ErrStat == 0x10U) || (tcram2ErrStat == 0x10U)) - { - /* test failed */ - selftestFailNotification(CHECKRAMUERRTEST_FAIL1); - } - - /* Trigger inequality check */ - tcram1REG->RAMTEST = 0x014AU; - tcram2REG->RAMTEST = 0x014AU; - - /* Wait till test is completed */ - while(tcram1REG->RAMTEST != 0x004AU) - { - }/* Wait */ - while(tcram2REG->RAMTEST != 0x004AU) - { - }/* Wait */ - - tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x10U; - tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x10U; - if((tcram1ErrStat == 0x10U) || (tcram2ErrStat == 0x10U)) - { - /* test failed */ - selftestFailNotification(CHECKRAMUERRTEST_FAIL2); - } - else - { - tcram1REG->RAMERRSTATUS = 0x4U; - tcram2REG->RAMERRSTATUS = 0x4U; - - /* Clear ESM flag */ - esmREG->SR1[1U] = 0x140U; - esmREG->SSR2 = 0x140U; - esmREG->EKR = 0x5U; - } - - /* Disable RAM test mode */ - tcram1REG->RAMTEST = 0x5U; - tcram2REG->RAMTEST = 0x5U; -} - -/* SourceId : SELFTEST_SourceId_041 */ -/* DesignId : SELFTEST_DesignId_018 */ -/* Requirements : HL_SR407 */ -void fmcBus1ParityCheck(void) -{ - uint32 regBkupFparOvr,regBckupFdiagctrl; - volatile uint32 flashread = 0U; - - /* Backup registers */ - regBkupFparOvr = flashWREG->FPAROVR; - regBckupFdiagctrl = flashWREG->FDIAGCTRL; - - /* Read to unfreeze the error address registers */ - flashread = flashWREG->FUNCERRADD; - - /* clear status register */ - flashWREG->FEDACSTATUS = 0x400U; - - /* Enable Parity Error */ - flashWREG->FPAROVR = (uint32)((uint32)0x5U << 9U) - | (uint32)((uint32)0x5U << 12U); - - /* set Diag test mode */ - flashWREG->FDIAGCTRL = 0x00050000U | 0x00000007U; - - /* Add parity */ - flashWREG->FPAROVR |= 0x00000100U; - - /* Start Test */ - flashWREG->FDIAGCTRL |= 0x1000000U; - - /* Wait until test done */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - while((flashWREG->FDIAGCTRL & 0x1000000U) == 0x1000000U) - { - }/* Wait */ - - /* Check address Error */ - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - if((flashWREG->FEDACSTATUS & 0x400U) != 0x400U) - { - selftestFailNotification(FMCBUS1PARITYCHECK_FAIL1); - } - else - { - /* clear status register */ - flashWREG->FEDACSTATUS = 0x400U; - - /* check if ESM is flagged */ - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - if((esmREG->SR1[1U] & 0x0000010U) == 0U) - { - selftestFailNotification(FMCBUS1PARITYCHECK_FAIL2); - } - else - { - /* clear ESM flag */ - esmREG->SR1[1U] |= 0x0000010U; - esmREG->SSR2 |= 0x0000010U; - esmREG->EKR = 0x5U; - - /* Stop Diag test mode */ - flashWREG->FDIAGCTRL = regBckupFdiagctrl; - flashWREG->FPAROVR = regBkupFparOvr; - } - } - - /* Read to unfreeze the error address registers */ - flashread = flashWREG->FUNCERRADD; -} - -/* SourceId : SELFTEST_SourceId_042 */ -/* DesignId : SELFTEST_DesignId_011 */ -/* Requirements : HL_SR401 */ -void pbistFail(void) -{ - uint32 PBIST_RAMT, PBIST_FSRA0, PBIST_FSRDL0; - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - PBIST_RAMT = pbistREG->RAMT; - PBIST_FSRA0 = pbistREG->FSRA0; - PBIST_FSRDL0 = pbistREG->FSRDL0; - - if(pbistPortTestStatus((uint32)PBIST_PORT0) != TRUE) - { - memoryPort0TestFailNotification((uint32)((PBIST_RAMT & 0xFF000000U) >> 24U), (uint32)((PBIST_RAMT & 0x00FF0000U) >> 16U),(uint32)PBIST_FSRA0, (uint32)PBIST_FSRDL0); - } - else - { -/* USER CODE BEGIN (77) */ -/* USER CODE END */ -/*SAFETYMCUSW 5 C MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ -/*SAFETYMCUSW 26 S MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ -/*SAFETYMCUSW 28 D MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - for(;;) - { - }/* Wait */ - -/* USER CODE BEGIN (78) */ -/* USER CODE END */ - } -} - -/** @fn void pbistGetConfigValue(pbist_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : SELFTEST_SourceId_043 */ -/* DesignId : SELFTEST_DesignId_034 */ -/* Requirements : HL_SR506 */ -void pbistGetConfigValue(pbist_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_RAMT = PBIST_RAMT_CONFIGVALUE; - config_reg->CONFIG_DLR = PBIST_DLR_CONFIGVALUE; - config_reg->CONFIG_PACT = PBIST_PACT_CONFIGVALUE; - config_reg->CONFIG_PBISTID = PBIST_PBISTID_CONFIGVALUE; - config_reg->CONFIG_OVER = PBIST_OVER_CONFIGVALUE; - config_reg->CONFIG_FSRDL1 = PBIST_FSRDL1_CONFIGVALUE; - config_reg->CONFIG_ROM = PBIST_ROM_CONFIGVALUE; - config_reg->CONFIG_ALGO = PBIST_ALGO_CONFIGVALUE; - config_reg->CONFIG_RINFOL = PBIST_RINFOL_CONFIGVALUE; - config_reg->CONFIG_RINFOU = PBIST_RINFOU_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_RAMT = pbistREG->RAMT; - config_reg->CONFIG_DLR = pbistREG->DLR; - config_reg->CONFIG_PACT = pbistREG->PACT; - config_reg->CONFIG_PBISTID = pbistREG->PBISTID; - config_reg->CONFIG_OVER = pbistREG->OVER; - config_reg->CONFIG_FSRDL1 = pbistREG->FSRDL1; - config_reg->CONFIG_ROM = pbistREG->ROM; - config_reg->CONFIG_ALGO = pbistREG->ALGO; - config_reg->CONFIG_RINFOL = pbistREG->RINFOL; - config_reg->CONFIG_RINFOU = pbistREG->RINFOU; - } -} - -/** @fn void stcGetConfigValue(stc_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : SELFTEST_SourceId_044 */ -/* DesignId : SELFTEST_DesignId_035 */ -/* Requirements : HL_SR506 */ -void stcGetConfigValue(stc_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_STCGCR0 = STC_STCGCR0_CONFIGVALUE; - config_reg->CONFIG_STCGCR1 = STC_STCGCR1_CONFIGVALUE; - config_reg->CONFIG_STCTPR = STC_STCTPR_CONFIGVALUE; - config_reg->CONFIG_STCSCSCR = STC_STCSCSCR_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_STCGCR0 = stcREG->STCGCR0; - config_reg->CONFIG_STCGCR1 = stcREG->STCGCR1; - config_reg->CONFIG_STCTPR = stcREG->STCTPR; - config_reg->CONFIG_STCSCSCR = stcREG->STCSCSCR; - } -} - - -/** @fn void efcGetConfigValue(efc_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : SELFTEST_SourceId_045 */ -/* DesignId : SELFTEST_DesignId_036 */ -/* Requirements : HL_SR506 */ -void efcGetConfigValue(efc_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_BOUNDARY = EFC_BOUNDARY_CONFIGVALUE; - config_reg->CONFIG_PINS = EFC_PINS_CONFIGVALUE; - config_reg->CONFIG_SELFTESTCYCLES = EFC_SELFTESTCYCLES_CONFIGVALUE; - config_reg->CONFIG_SELFTESTSIGN = EFC_SELFTESTSIGN_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_BOUNDARY = efcREG->BOUNDARY; - config_reg->CONFIG_PINS = efcREG->PINS; - config_reg->CONFIG_SELFTESTCYCLES = efcREG->SELF_TEST_CYCLES; - config_reg->CONFIG_SELFTESTSIGN = efcREG->SELF_TEST_SIGN; - } -} - - -/** @fn void ccmr4GetConfigValue(ccmr4_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : SELFTEST_SourceId_046 */ -/* DesignId : SELFTEST_DesignId_037 */ -/* Requirements : HL_SR506 */ -void ccmr4GetConfigValue(ccmr4_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_CCMKEYR = CCMR4_CCMKEYR_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_CCMKEYR = CCMKEYR; - } -} - - -/** @fn void errata_PBIST_4(void) -* @brief Workaround for the Errata PBIST#4. -* -* This function is workaround for Errata PBIST#4. -* This function is designed to initialize the ROMs using the PBIST controller. -* The CPU will configure the PBIST controller to test the PBIST ROM and STC ROM. -* This function should be called at startup after system init before using the ROMs. -* -* @note : This Function uses register's which are not exposed to users through -* TRM , to run custom algorithm. User can use this function as Black box. -* -*/ -void errata_PBIST_4(void) -{ - volatile uint32 i = 0U; - uint8 ROM_count; - sint32 PBIST_wait_done_loop; - uint32 pmuCalibration, pmuCount; - - /* PMU calibration */ - _pmuEnableCountersGlobal_(); - _pmuResetCounters_(); - _pmuStartCounters_(pmuCYCLE_COUNTER); - _pmuStopCounters_(pmuCYCLE_COUNTER); - pmuCalibration=_pmuGetCycleCount_(); - - /* ROM_init Setup using special reserved registers as part of errata fix */ - /* (Only to be used in this function) */ - *(volatile uint32 *)0xFFFF0400U = 0x0000000AU; - *(volatile uint32 *)0xFFFF040CU = 0x0000EE0AU; - - /* Loop for Executing PBIST ROM and STC ROM */ - for (ROM_count = 0U; ROM_count < 2U; ROM_count++) - { - PBIST_wait_done_loop = 0; - - /* Disable PBIST clocks and ROM clock */ - pbistREG->PACT = 0x0U; - - /* PBIST Clocks did not disable */ - if(pbistREG->PACT != 0x0U ) - { - selftestFailNotification(PBISTSELFCHECK_FAIL3); - } - else - { - /* PBIST ROM clock frequency = HCLK frequency /2 */ - /* Disable memory self controller */ - systemREG1->MSTGCR = 0x00000105U; - - /* Disable Memory Initialization controller */ - systemREG1->MINITGCR = 0x5U; - - /* Enable memory self controller */ - systemREG1->MSTGCR = 0x0000010AU; - - /* Clear PBIST Done */ - systemREG1->MSTCGSTAT = 0x1U; - - /* Enable PBIST controller */ - systemREG1->MSINENA = 0x1U; - - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ - /* wait for 32 VBUS clock cycles at least, based on HCLK to VCLK ratio */ - for (i=0U; i<(32U + (32U * 1U)); i++){ /* Wait */ } - - /* Enable PBIST clocks and ROM clock */ - pbistREG->PACT = 0x3U; - - /* CPU control of PBIST */ - pbistREG->DLR = 0x10U; - - /* Load PBIST ALGO to initialize the ROMs */ - *(volatile uint32 *)0xFFFFE400U = 0x00000001U; - *(volatile uint32 *)0xFFFFE440U = 0x00000025U; - *(volatile uint32 *)0xFFFFE404U = 0x62400001U; - *(volatile uint32 *)0xFFFFE444U = 0x00000004U; - *(volatile uint32 *)0xFFFFE408U = 0x00068003U; - *(volatile uint32 *)0xFFFFE448U = 0x00000000U; - *(volatile uint32 *)0xFFFFE40CU = 0x00000004U; - *(volatile uint32 *)0xFFFFE44CU = 0x00006860U; - *(volatile uint32 *)0xFFFFE410U = 0x00000000U; - *(volatile uint32 *)0xFFFFE450U = 0x00000001U; - *(volatile uint32 *)0xFFFFE540U = 0x000003E8U; - *(volatile uint32 *)0xFFFFE550U = 0x00000001U; - *(volatile uint32 *)0xFFFFE530U = 0x00000000U; - - /* SELECT ROM */ - if (ROM_count == 1U) - { - /* SELECT PBIST ROM */ - *(volatile uint32 *)0xFFFFE520U = 0x00000002U; - *(volatile uint32 *)0xFFFFE524U = 0x00000000U; - pbistREG->RAMT = 0x01002008U; - } - else - { - /* SELECT STC ROM */ - *(volatile uint32 *)0xFFFFE520U = 0xFFF0007CU; - *(volatile uint32 *)0xFFFFE524U = 0x0A63FFFFU; - pbistREG->RAMT = 0x02002008U; - } - - /* Setup using special reserved registers as part of errata fix */ - /* (Only to be used in this function) */ - pbistREG->rsvd1[4U] = 1U; - pbistREG->rsvd1[0U] = 3U; - - /* Start PMU counter */ - _pmuResetCounters_(); - _pmuStartCounters_(pmuCYCLE_COUNTER); - - /* PBIST_RUN */ - pbistREG->rsvd1[1U] = 1U; - - /* wait until memory self-test done is indicated */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((systemREG1->MSTCGSTAT & 0x1U) != 0x1U) - { - }/* Wait */ - - /* Stop PMU counter */ - _pmuStopCounters_(pmuCYCLE_COUNTER); - - /* Get CPU cycle count */ - pmuCount =_pmuGetCycleCount_(); - - /* Calculate PBIST test complete time in ROM Clock */ - /* 2 - Divide value ( Default is 2 in HALCoGen) */ - /* 1000 = 0x3E8 - Test Loop count in ROM Algorithm */ - pmuCount = pmuCount - pmuCalibration; - PBIST_wait_done_loop = ((sint32)pmuCount/2) - 1000; - - /* Check PBIST status results (Address, Status, Count, etc...) */ - if ((pbistREG->FSRA0 | pbistREG->FSRA1 | pbistREG->FSRDL0 | pbistREG->rsvd3 | - pbistREG->FSRDL1 | pbistREG->rsvd4[0U] | pbistREG->rsvd4[1U]) != 0U) - { - /* PBIST Failure for the Algorithm chosen above */ - selftestFailNotification(PBISTSELFCHECK_FAIL1); - } - - /* Check that the algorithm executed in the expected amount of time. */ - /* This time is dependent on the ROMCLKDIV selected */ - if ((PBIST_wait_done_loop <= 20) || (PBIST_wait_done_loop >= 200) ) - { - selftestFailNotification(PBISTSELFCHECK_FAIL2); - } - - /* Disable PBIST clocks and ROM clock */ - pbistREG->PACT = 0x0U; - - /* Disable PBIST */ - systemREG1->MSTGCR &= 0xFFFFFFF0U; - systemREG1->MSTGCR |= 0x5U; - } - } /* ROM Loop */ - - /* ROM restore default setup */ - /* (must be completed before continuing) */ - *(volatile uint32 *)0xFFFF040CU = 0x0000AA0AU; - *(volatile uint32 *)0xFFFF040CU = 0x0000AA05U; - *(volatile uint32 *)0xFFFF0400U = 0x00000005U; - - _pmuDisableCountersGlobal_(); -} - - -/** @fn void enableParity(void) -* @brief Enable peripheral RAM parity -* -* This function enables RAM parity for all peripherals for which RAM parity check is enabled. -* This function is called before memoryInit in the startup -* -*/ -#pragma WEAK(enableParity) -void enableParity(void) -{ - DMA_PARCR = 0xAU; /* Enable DMA RAM parity */ - VIM_PARCTL = 0xAU; /* Enable VIM RAM parity */ - canREG1->CTL = ((uint32)0xAU << 10U) | 1U; /* Enable CAN1 RAM parity */ - canREG2->CTL = ((uint32)0xAU << 10U) | 1U; /* Enable CAN2 RAM parity */ - canREG3->CTL = ((uint32)0xAU << 10U) | 1U; /* Enable CAN3 RAM parity */ - adcREG1->PARCR = 0xAU; /* Enable ADC1 RAM parity */ - adcREG2->PARCR = 0xAU; /* Enable ADC2 RAM parity */ - hetREG1->PCR = 0xAU; /* Enable HET1 RAM parity */ - htuREG1->PCR = 0xAU; /* Enable HTU1 RAM parity */ - hetREG2->PCR = 0xAU; /* Enable HET2 RAM parity */ - htuREG2->PCR = 0xAU; /* Enable HTU2 RAM parity */ -} - -/** @fn void disableParity(void) -* @brief Disable peripheral RAM parity -* -* This function disables RAM parity for all peripherals for which RAM parity check is enabled. -* This function is called after memoryInit in the startup -* -*/ -#pragma WEAK(disableParity) -void disableParity(void) -{ - DMA_PARCR = 0x5U; /* Disable DMA RAM parity */ - VIM_PARCTL = 0x5U; /* Disable VIM RAM parity */ - canREG1->CTL = ((uint32)0x5U << 10U) | 1U; /* Disable CAN1 RAM parity */ - canREG2->CTL = ((uint32)0x5U << 10U) | 1U; /* Disable CAN2 RAM parity */ - canREG3->CTL = ((uint32)0x5U << 10U) | 1U; /* Disable CAN3 RAM parity */ - adcREG1->PARCR = 0x5U; /* Disable ADC1 RAM parity */ - adcREG2->PARCR = 0x5U; /* Disable ADC2 RAM parity */ - hetREG1->PCR = 0x5U; /* Disable HET1 RAM parity */ - htuREG1->PCR = 0x5U; /* Disable HTU1 RAM parity */ - hetREG2->PCR = 0x5U; /* Disable HET2 RAM parity */ - htuREG2->PCR = 0x5U; /* Disable HTU2 RAM parity */ -} +/** @file sys_selftest.c +* @brief Selftest Source File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Selftest API's +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + +#include "sys_selftest.h" +#include "sys_core.h" +#include "sys_pmu.h" + +/** @fn void selftestFailNotification(uint32 flag) +* @brief Self test fail service routine +* +* This function is called if there is a self test fail with appropriate flag +*/ +#pragma WEAK(selftestFailNotification) +void selftestFailNotification(uint32 flag) +{ + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +} + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/** @fn void ccmSelfCheck(void) +* @brief CCM module self check Driver +* +* This function self checks the CCM module. +*/ +/* SourceId : SELFTEST_SourceId_001 */ +/* DesignId : SELFTEST_DesignId_001 */ +/* Requirements : HL_SR395 */ +void ccmSelfCheck(void) +{ +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + + /* Run a diagnostic check on the CCM-R4F module */ + /* This step ensures that the CCM-R4F can actually indicate an error */ + + /* Configure CCM in self-test mode */ + CCMKEYR = 0x6U; + /* Wait for CCM self-test to complete */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((CCMSR & 0x100U) != 0x100U) + { + }/* Wait */ + +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + + /* Check if there was an error during the self-test */ + if ((CCMSR & 0x1U) == 0x1U) + { + /* STE is set */ + selftestFailNotification(CCMSELFCHECK_FAIL1); + } + else + { + /* Check CCM-R4 self-test error flag by itself (without compare error) */ + if ((esmREG->SR1[0U] & 0x80000000U) == 0x80000000U) + { + /* ESM flag is not set */ + selftestFailNotification(CCMSELFCHECK_FAIL2); + } + else + { + /* Configure CCM in error-forcing mode */ + CCMKEYR = 0x9U; + + /* Wait till error-forcing is completed. */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while (CCMKEYR != 0U) + { + }/* Wait */ + + /* check if compare error flag is set */ + if ((esmREG->SR1[1U] & 0x4U) != 0x4U) + { + /* ESM flag is not set */ + selftestFailNotification(CCMSELFCHECK_FAIL3); + } + else + { + /* Check FIQIVEC to ESM High Interrupt flag is set */ + if((vimREG->FIQINDEX & 0x000000FFU) != 1U) + { + /* ESM High Interrupt flag is not set in VIM*/ + selftestFailNotification(CCMSELFCHECK_FAIL4); + } + + /* clear ESM group2 channel 2 flag */ + esmREG->SR1[1U] = 0x4U; + + /* clear ESM group2 shadow status flag */ + esmREG->SSR2 = 0x4U; + + /* ESM self-test error needs to also be cleared */ + esmREG->SR1[0U] = 0x80000000U; + + /* The nERROR pin will become inactive once the LTC counter expires */ + esmREG->EKR = 0x5U; + + /* Configure CCM in selftest error-forcing mode */ + CCMKEYR = 0xFU; + + /* Wait till selftest error-forcing is completed. */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while (CCMKEYR != 0U) + { + }/* Wait */ + + if((esmREG->SR1[0U] & 0x80000000U) != 0x80000000U) + { + /* ESM flag not set */ + selftestFailNotification(CCMSELFCHECK_FAIL2); + } + else + { + /* clear ESM flag */ + esmREG->SR1[0U] = 0x80000000U; + } + } + } + } +} + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + + +/** @fn void memoryInit(uint32 ram) +* @brief Memory Initialization Driver +* +* This function is called to perform Memory initialization of selected RAM's. +*/ +/* SourceId : SELFTEST_SourceId_002 */ +/* DesignId : SELFTEST_DesignId_004 */ +/* Requirements : HL_SR396 */ +void memoryInit(uint32 ram) +{ +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + + /* Enable Memory Hardware Initialization */ + systemREG1->MINITGCR = 0xAU; + + /* Enable Memory Hardware Initialization for selected RAM's */ + systemREG1->MSINENA = ram; + + /* Wait until Memory Hardware Initialization complete */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((systemREG1->MSTCGSTAT & 0x00000100U) != 0x00000100U) + { + }/* Wait */ + + /* Disable Memory Hardware Initialization */ + systemREG1->MINITGCR = 0x5U; + +/* USER CODE BEGIN (7) */ +/* USER CODE END */ +} + +/** @fn void stcSelfCheck(void) +* @brief STC module self check Driver +* +* This function is called to perform STC module self check. +*/ +/* SourceId : SELFTEST_SourceId_003 */ +/* DesignId : SELFTEST_DesignId_002 */ +/* Requirements : HL_SR397 */ +void stcSelfCheck(void) +{ +/* USER CODE BEGIN (8) */ +/* USER CODE END */ + volatile uint32 i = 0U; + + /* Run a diagnostic check on the CPU self-test controller */ + /* First set up the STC clock divider as STC is only supported up to 90MHz */ + + /* STC clock is now normal mode CPU clock frequency/2 = 180MHz/2 */ + systemREG2->STCCLKDIV = 0x01000000U; + + /* Select one test interval, restart self-test next time, 0x00010001 */ + stcREG->STCGCR0 = 0x00010001U; + + /* Enable comparator self-check and stuck-at-0 fault insertion in CPU, 0x1A */ + stcREG->STCSCSCR = 0x1AU; + + /* Maximum time-out period */ + stcREG->STCTPR = 0xFFFFFFFFU; + + /* wait for 16 VBUS clock cycles at least, based on HCLK to VCLK ratio */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + for (i=0U; i<(16U + (16U * 1U)); i++){ /* Wait */ } + + /* Enable self-test */ + stcREG->STCGCR1 = 0xAU; + +/* USER CODE BEGIN (9) */ +/* USER CODE END */ + + /* Idle the CPU so that the self-test can start */ + _gotoCPUIdle_(); + +/* USER CODE BEGIN (10) */ +/* USER CODE END */ +} + +/** @fn void cpuSelfTest(uint32 no_of_intervals, uint32 max_timeout, boolean restart_test) +* @brief CPU self test Driver +* @param[in] no_of_intervals - Number of Test Intervals to be +* @param[in] max_timeout - Maximum Timeout to complete selected test Intervals +* @param[in] restart_test - Restart the test from Interval 0 or Continue from where it stopped. +* +* This function is called to perform CPU self test using STC module. +*/ +/* SourceId : SELFTEST_SourceId_004 */ +/* DesignId : SELFTEST_DesignId_003 */ +/* Requirements : HL_SR398 */ +void cpuSelfTest(uint32 no_of_intervals, uint32 max_timeout, boolean restart_test) +{ + volatile uint32 i = 0U; + +/* USER CODE BEGIN (11) */ +/* USER CODE END */ + + /* Run specified no of test intervals starting from interval 0 */ + /* Start test from interval 0 or continue the test. */ + stcREG->STCGCR0 = no_of_intervals << 16U; + if(restart_test) + { + stcREG->STCGCR0 |= 0x00000001U; + } + + /* Configure Maximum time-out period */ + stcREG->STCTPR = max_timeout; + + /* wait for 16 VBUS clock cycles at least, based on HCLK to VCLK ratio */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + for (i=0U; i<(16U + (16U * 1U)); i++){ /* Wait */ } + + /* Enable self-test */ + stcREG->STCGCR1 = 0xAU; + +/* USER CODE BEGIN (12) */ +/* USER CODE END */ + /* Idle the CPU so that the self-test can start */ + + _gotoCPUIdle_(); + +} + +/** @fn void pbistSelfCheck(void) +* @brief PBIST self test Driver +* +* This function is called to perform PBIST self test. +* +* @note This Function uses register's which are not exposed to users through +* TRM , to run custom algorithm to make PBIST Fail. Users can use this function as Black box. +* +*/ +/* SourceId : SELFTEST_SourceId_005 */ +/* DesignId : SELFTEST_DesignId_005 */ +/* Requirements : HL_SR399 */ +void pbistSelfCheck(void) +{ + volatile uint32 i = 0U; + uint32 PBIST_wait_done_loop = 0U; +/* USER CODE BEGIN (13) */ +/* USER CODE END */ + /* Run a diagnostic check on the memory self-test controller */ + /* First set up the PBIST ROM clock as this clock frequency is limited to 90MHz */ + + /* Disable PBIST clocks and ROM clock */ + pbistREG->PACT = 0x0U; + + /* PBIST ROM clock frequency = HCLK frequency /2 */ + /* Disable memory self controller */ + systemREG1->MSTGCR = 0x00000105U; + + /* Disable Memory Initialization controller */ + systemREG1->MINITGCR = 0x5U; + + /* Enable memory self controller */ + systemREG1->MSTGCR = 0x0000010AU; + + /* Clear PBIST Done */ + systemREG1->MSTCGSTAT = 0x1U; + + /* Enable PBIST controller */ + systemREG1->MSINENA = 0x1U; + + /* wait for 32 VBUS clock cycles at least, based on HCLK to VCLK ratio */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + for (i=0U; i<(32U + (32U * 1U)); i++){ /* Wait */ } + +/* USER CODE BEGIN (14) */ +/* USER CODE END */ + + /* Enable PBIST clocks and ROM clock */ + pbistREG->PACT = 0x3U; + + /* CPU control of PBIST */ + pbistREG->DLR = 0x10U; + + /* Custom always fail algo, this will not use the ROM and just set a fail */ + pbistREG->RAMT = 0x00002000U; + *(volatile uint32 *)0xFFFFE400U = 0x4C000001U; + *(volatile uint32 *)0xFFFFE440U = 0x00000075U; + *(volatile uint32 *)0xFFFFE404U = 0x4C000002U; + *(volatile uint32 *)0xFFFFE444U = 0x00000075U; + *(volatile uint32 *)0xFFFFE408U = 0x4C000003U; + *(volatile uint32 *)0xFFFFE448U = 0x00000075U; + *(volatile uint32 *)0xFFFFE40CU = 0x4C000004U; + *(volatile uint32 *)0xFFFFE44CU = 0x00000075U; + *(volatile uint32 *)0xFFFFE410U = 0x4C000005U; + *(volatile uint32 *)0xFFFFE450U = 0x00000075U; + *(volatile uint32 *)0xFFFFE414U = 0x4C000006U; + *(volatile uint32 *)0xFFFFE454U = 0x00000075U; + *(volatile uint32 *)0xFFFFE418U = 0x00000000U; + *(volatile uint32 *)0xFFFFE458U = 0x00000001U; + + /* PBIST_RUN */ + pbistREG->rsvd1[1U] = 1U; + + /* wait until memory self-test done is indicated */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((systemREG1->MSTCGSTAT & 0x1U) != 0x1U) + { + PBIST_wait_done_loop++; + }/* Wait */ + + /* Check for the failure */ + if ((pbistREG->FSRF0 & 0x1U) != 0x1U) + { + /* No failure was indicated even if the always fail algorithm was run*/ + selftestFailNotification(PBISTSELFCHECK_FAIL1); + +/* USER CODE BEGIN (15) */ +/* USER CODE END */ + } + else + { + /* Check that the algorithm executed in the expected amount of time. */ + /* This time is dependent on the ROMCLKDIV selected above */ + if (PBIST_wait_done_loop >= 2U) + { + selftestFailNotification(PBISTSELFCHECK_FAIL2); + } + + /* Disable PBIST clocks and ROM clock */ + pbistREG->PACT = 0x0U; + + /* Disable PBIST */ + systemREG1->MSTGCR &= 0xFFFFFFF0U; + systemREG1->MSTGCR |= 0x5U; + +/* USER CODE BEGIN (16) */ +/* USER CODE END */ + } +} + +/** @fn void pbistRun(uint32 raminfoL, uint32 algomask) +* @brief CPU self test Driver +* @param[in] raminfoL - Select the list of RAM to be tested. +* @param[in] algomask - Select the list of Algorithm to be run. +* +* This function performs Memory Built-in Self test using PBIST module. +*/ +/* SourceId : SELFTEST_SourceId_006 */ +/* DesignId : SELFTEST_DesignId_006 */ +/* Requirements : HL_SR400 */ +void pbistRun(uint32 raminfoL, uint32 algomask) +{ + volatile uint32 i = 0U; + +/* USER CODE BEGIN (17) */ +/* USER CODE END */ + + /* PBIST ROM clock frequency = HCLK frequency /2 */ + /* Disable memory self controller */ + systemREG1->MSTGCR = 0x00000105U; + + /* Disable Memory Initialization controller */ + systemREG1->MINITGCR = 0x5U; + + /* Enable PBIST controller */ + systemREG1->MSINENA = 0x1U; + + /* Enable memory self controller */ + systemREG1->MSTGCR = 0x0000010AU; + + /* wait for 32 VBUS clock cycles at least, based on HCLK to VCLK ratio */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + for (i=0U; i<(32U + (32U * 1U)); i++){ /* Wait */ } + +/* USER CODE BEGIN (18) */ +/* USER CODE END */ + + /* Enable PBIST clocks and ROM clock */ + pbistREG->PACT = 0x3U; + + /* Select all algorithms to be tested */ + pbistREG->ALGO = algomask; + + /* Select RAM groups */ + pbistREG->RINFOL = raminfoL; + + /* Select all RAM groups */ + pbistREG->RINFOU = 0x00000000U; + + /* ROM contents will not override RINFOx settings */ + pbistREG->OVER = 0x0U; + + /* Algorithm code is loaded from ROM */ + pbistREG->ROM = 0x3U; + + /* Start PBIST */ + pbistREG->DLR = 0x14U; + +/* USER CODE BEGIN (19) */ +/* USER CODE END */ +} + +/** @fn void pbistStop(void) +* @brief Routine to stop PBIST test enabled. +* +* This function is called to stop PBIST after test is performed. +*/ +/* SourceId : SELFTEST_SourceId_007 */ +/* DesignId : SELFTEST_DesignId_007 */ +/* Requirements : HL_SR523 */ +void pbistStop(void) +{ +/* USER CODE BEGIN (20) */ +/* USER CODE END */ + /* disable pbist clocks and ROM clock */ + pbistREG->PACT = 0x0U; + systemREG1->MSTGCR &= 0xFFFFFFF0U; + systemREG1->MSTGCR |= 0x5U; +/* USER CODE BEGIN (21) */ +/* USER CODE END */ +} + +/** @fn boolean pbistIsTestCompleted(void) +* @brief Checks to see if the PBIST test is completed. +* @return 1 if PBIST test completed, otherwise 0. +* +* Checks to see if the PBIST test is completed. +*/ +/* SourceId : SELFTEST_SourceId_008 */ +/* DesignId : SELFTEST_DesignId_008 */ +/* Requirements : HL_SR401 */ +boolean pbistIsTestCompleted(void) +{ +/* USER CODE BEGIN (22) */ +/* USER CODE END */ + + return ((systemREG1->MSTCGSTAT & 0x1U) != 0U); +/* USER CODE BEGIN (23) */ +/* USER CODE END */ +} + +/** @fn boolean pbistIsTestPassed(void) +* @brief Checks to see if the PBIST test is completed successfully. +* @return 1 if PBIST test passed, otherwise 0. +* +* Checks to see if the PBIST test is completed successfully. +*/ +/* SourceId : SELFTEST_SourceId_009 */ +/* DesignId : SELFTEST_DesignId_009 */ +/* Requirements : HL_SR401 */ +boolean pbistIsTestPassed(void) +{ +/* USER CODE BEGIN (24) */ +/* USER CODE END */ + boolean status; + + if (pbistREG->FSRF0 == 0U) + { + status = TRUE; + } + else + { + status = FALSE; + } +/* USER CODE BEGIN (25) */ +/* USER CODE END */ + return status; +} + +/** @fn boolean pbistPortTestStatus(uint32 port) +* @brief Checks to see if the PBIST Port test is completed successfully. +* @param[in] port - Select the port to get the status. +* @return 1 if PBIST Port test completed successfully, otherwise 0. +* +* Checks to see if the selected PBIST Port test is completed successfully. +*/ +/* SourceId : SELFTEST_SourceId_010 */ +/* DesignId : SELFTEST_DesignId_010 */ +/* Requirements : HL_SR401 */ +boolean pbistPortTestStatus(uint32 port) +{ + boolean status; +/* USER CODE BEGIN (26) */ +/* USER CODE END */ + + if(port == (uint32)PBIST_PORT0) + { + status = (pbistREG->FSRF0 == 0U); + } + else + { + /* Invalid Input */ + status = FALSE; + } + + return status; +} + +/** @fn uint32 efcCheck(void) +* @brief EFUSE module self check Driver +* @return Returns 0 if no error was detected during autoload and Stuck At Zero Test passed +* 1 if no error was detected during autoload but Stuck At Zero Test failed +* 2 if there was a single-bit error detected during autoload +* 3 if some other error occurred during autoload +* +* This function self checks the EFUSE module. +*/ +/* SourceId : SELFTEST_SourceId_011 */ +/* DesignId : SELFTEST_DesignId_012 */ +/* Requirements : HL_SR402 */ +uint32 efcCheck(void) +{ + uint32 efcStatus = 0U; + uint32 status; + +/* USER CODE BEGIN (27) */ +/* USER CODE END */ + + /* read the EFC Error Status Register */ + efcStatus = efcREG->ERROR; + +/* USER CODE BEGIN (28) */ +/* USER CODE END */ + + if (efcStatus == 0x0U) + { + /* run stuck-at-zero test and check if it passed */ + if (efcStuckZeroTest()== TRUE) + { + /* start EFC ECC logic self-test */ + efcSelfTest(); + status = 0U; + } + else + { + /* EFC output is stuck-at-zero, device operation unreliable */ + selftestFailNotification(EFCCHECK_FAIL1); + status = 1U; + } + } + /* EFC Error Register is not zero */ + else + { + /* one-bit error detected during autoload */ + if (efcStatus == 0x15U) + { + /* start EFC ECC logic self-test */ + efcSelfTest(); + status = 2U; + } + else + { + /* Some other EFC error was detected */ + selftestFailNotification(EFCCHECK_FAIL1); + status = 3U; + } + } + return status; +} + +/** @fn boolean efcStuckZeroTest(void) +* @brief Checks to see if the EFUSE Stuck at zero test is completed successfully. +* @return 1 if EFUSE Stuck at zero test completed, otherwise 0. +* +* Checks to see if the EFUSE Stuck at zero test is completed successfully. +*/ +/* SourceId : SELFTEST_SourceId_012 */ +/* DesignId : SELFTEST_DesignId_014 */ +/* Requirements : HL_SR402 */ +boolean efcStuckZeroTest(void) +{ +/* USER CODE BEGIN (29) */ +/* USER CODE END */ + + uint32 ESM_ESTATUS4, ESM_ESTATUS1; + + boolean result = FALSE; + uint32 error_checks = EFC_INSTRUCTION_INFO_EN | + EFC_INSTRUCTION_ERROR_EN | + EFC_AUTOLOAD_ERROR_EN | + EFC_SELF_TEST_ERROR_EN ; + + /* configure the output enable for auto load error , instruction info, + instruction error, and self test error using boundary register + and drive values one across all the errors */ + efcREG->BOUNDARY = ((uint32)OUTPUT_ENABLE | error_checks); + + /* Read from the pin register. This register holds the current values + of above errors. This value should be 0x5c00.If not at least one of + the above errors is stuck at 0. */ + if ((efcREG->PINS & 0x5C00U) == 0x5C00U) + { + ESM_ESTATUS4 = esmREG->SR4[0U]; + ESM_ESTATUS1 = esmREG->SR1[2U]; + /* check if the ESM group1 channel 41 is set and group3 channel 1 is set */ + if (((ESM_ESTATUS4 & 0x200U) == 0x200U) && ((ESM_ESTATUS1 & 0x2U) == 0x2U)) + { + /* stuck-at-zero test passed */ + result = TRUE; + } + } + + /* put the pins back low */ + efcREG->BOUNDARY = OUTPUT_ENABLE; + + /* clear group1 flag */ + esmREG->SR4[0U] = 0x200U; + + /* clear group3 flag */ + esmREG->SR1[2U] = 0x2U; + + /* The nERROR pin will become inactive once the LTC counter expires */ + esmREG->EKR = 0x5U; + + return result; +} + +/** @fn void efcSelfTest(void) +* @brief EFUSE module self check Driver +* +* This function self checks the EFSUE module. +*/ +/* SourceId : SELFTEST_SourceId_013 */ +/* DesignId : SELFTEST_DesignId_013 */ +/* Requirements : HL_SR402 */ +void efcSelfTest(void) +{ +/* USER CODE BEGIN (30) */ +/* USER CODE END */ + /* configure self-test cycles */ + efcREG->SELF_TEST_CYCLES = 0x258U; + + /* configure self-test signature */ + efcREG->SELF_TEST_SIGN = 0x5362F97FU; + + /* configure boundary register to start ECC self-test */ + efcREG->BOUNDARY = 0x0000200FU; +} + +/** @fn boolean checkefcSelfTest(void) +* @brief EFUSE module self check Driver +* @return Returns TRUE if EFC Selftest was a PASS, else FALSE +* +* This function returns the status of efcSelfTest. +* Note: This function can be called only after calling efcSelfTest +*/ +/* SourceId : SELFTEST_SourceId_014 */ +/* DesignId : SELFTEST_DesignId_015 */ +/* Requirements : HL_SR403 */ +boolean checkefcSelfTest(void) +{ +/* USER CODE BEGIN (31) */ +/* USER CODE END */ + boolean result = FALSE; + + uint32 EFC_PINS, EFC_ERROR; + uint32 esmCh40Stat, esmCh41Stat = 0U; + + /* wait until EFC self-test is done */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((efcREG->PINS & EFC_SELF_TEST_DONE) == 0U) + { + }/* Wait */ + + /* check if EFC self-test error occurred */ + EFC_PINS = efcREG->PINS; + EFC_ERROR = efcREG->ERROR; + if(((EFC_PINS & EFC_SELF_TEST_ERROR) == 0U) && ((EFC_ERROR & 0x1FU) == 0U)) + { + /* check if EFC self-test error is set */ + esmCh40Stat = esmREG->SR4[0U] & 0x100U; + esmCh41Stat = esmREG->SR4[0U] & 0x200U; + if ((esmCh40Stat == 0U) && (esmCh41Stat == 0U)) + { + result = TRUE; + } + } + return result; +} + +/** @fn void fmcBus2Check(void) +* @brief Self Check Flash Bus2 Interface +* +* This function self checks Flash Bus2 Interface +*/ +/* SourceId : SELFTEST_SourceId_015 */ +/* DesignId : SELFTEST_DesignId_016 */ +/* Requirements : HL_SR404, HL_SR405 */ +void fmcBus2Check(void) +{ +/* USER CODE BEGIN (32) */ +/* USER CODE END */ + /* enable ECC logic inside FMC */ + flashWREG->FEDACCTRL1 = 0x000A060AU; + + if ((esmREG->SR1[0U] & 0x40U) == 0x40U) + { + /* a 1-bit error was detected during flash OTP read by flash module + run a self-check on ECC logic inside FMC */ + + /* clear ESM group1 channel 6 flag */ + esmREG->SR1[0U] = 0x40U; + + fmcECCcheck(); + } + + /* no 2-bit or 1-bit error detected during power-up */ + else + { + fmcECCcheck(); + } +/* USER CODE BEGIN (33) */ +/* USER CODE END */ +} + +/** @fn void fmcECCcheck(void) +* @brief Check Flash ECC Single Bit and multi Bit errors detection logic. +* +* This function Checks Flash ECC Single Bit and multi Bit errors detection logic. +*/ +/* SourceId : SELFTEST_SourceId_016 */ +/* DesignId : SELFTEST_DesignId_017 */ +/* Requirements : HL_SR404, HL_SR405 */ +void fmcECCcheck(void) +{ + volatile uint32 otpread; + volatile uint32 temp; + +/* USER CODE BEGIN (34) */ +/* USER CODE END */ + + /* read location with deliberate 1-bit error */ + otpread = flash1bitError; + if ((esmREG->SR1[0U] & 0x40U) == 0x40U) + { + /* 1-bit failure was indicated and corrected */ + flashWREG->FEDACSTATUS = 0x00010006U; + + /* clear ESM group1 channel 6 flag */ + esmREG->SR1[0U] = 0x40U; + + /* read location with deliberate 2-bit error */ + otpread = flash2bitError; + if ((esmREG->SR1[2U] & 0x80U) == 0x80U) + { + /* 2-bit failure was detected correctly */ + temp = flashWREG->FUNCERRADD; + flashWREG->FEDACSTATUS = 0x00020100U; + + /* clear ESM group3 channel 7 */ + esmREG->SR1[2U] = 0x80U; + + /* The nERROR pin will become inactive once the LTC counter expires */ + esmREG->EKR = 0x5U; + + } + else + { + /* ECC logic inside FMC cannot detect 2-bit error */ + selftestFailNotification(FMCECCCHECK_FAIL1); + } + } + else + { + /* ECC logic inside FMC cannot detect 1-bit error */ + selftestFailNotification(FMCECCCHECK_FAIL1); + } +/* USER CODE BEGIN (35) */ +/* USER CODE END */ +} + +/** @fn void checkB0RAMECC(void) +* @brief Check TCRAM1 ECC error detection logic. +* +* This function checks TCRAM1 ECC error detection logic. +*/ +/* SourceId : SELFTEST_SourceId_017 */ +/* DesignId : SELFTEST_DesignId_019 */ +/* Requirements : HL_SR408 */ +void checkB0RAMECC(void) +{ + volatile uint64 ramread = 0U; + volatile uint32 regread = 0U; + uint32 tcram1ErrStat, tcram2ErrStat = 0U; + + uint64 tcramA1_bk = tcramA1bit; + uint64 tcramA2_bk = tcramA2bit; + volatile uint32 i; +/* USER CODE BEGIN (36) */ +/* USER CODE END */ + + /* enable writes to ECC RAM, enable ECC error response */ + tcram1REG->RAMCTRL = 0x0005010AU; + tcram2REG->RAMCTRL = 0x0005010AU; + + /* the first 1-bit error will cause an error response */ + tcram1REG->RAMTHRESHOLD = 0x1U; + tcram2REG->RAMTHRESHOLD = 0x1U; + + /* allow SERR to be reported to ESM */ + tcram1REG->RAMINTCTRL = 0x1U; + tcram2REG->RAMINTCTRL = 0x1U; + + /* cause a 1-bit ECC error */ + _coreDisableRamEcc_(); + tcramA1bitError ^= 0x1U; + _coreEnableRamEcc_(); + + /* disable writes to ECC RAM */ + tcram1REG->RAMCTRL = 0x0005000AU; + tcram2REG->RAMCTRL = 0x0005000AU; + + /* read from location with 1-bit ECC error */ + ramread = tcramA1bit; + + /* Check for error status */ + tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x1U; + tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x1U; + /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ + /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ + if((tcram1ErrStat == 0U) && (tcram2ErrStat == 0U)) + { + /* TCRAM module does not reflect 1-bit error reported by CPU */ + selftestFailNotification(CHECKB0RAMECC_FAIL1); + } + else + { + /* clear SERR flag */ + tcram1REG->RAMERRSTATUS = 0x1U; + tcram2REG->RAMERRSTATUS = 0x1U; + + /* clear status flags for ESM group1 channels 26 and 28 */ + esmREG->SR1[0U] = 0x14000000U; + } + + /* enable writes to ECC RAM, enable ECC error response */ + tcram1REG->RAMCTRL = 0x0005010AU; + tcram2REG->RAMCTRL = 0x0005010AU; + + /* cause a 2-bit ECC error */ + _coreDisableRamEcc_(); + tcramA2bitError ^= 0x3U; + _coreEnableRamEcc_(); + + /* read from location with 2-bit ECC error this will cause a data abort to be generated */ + ramread = tcramA2bit; + + /* delay before restoring the ram value */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + for(i=0U;i<10U;i++) + { + }/* Wait */ + + regread = tcram1REG->RAMUERRADDR; + regread = tcram2REG->RAMUERRADDR; + + /* disable writes to ECC RAM */ + tcram1REG->RAMCTRL = 0x0005000AU; + tcram2REG->RAMCTRL = 0x0005000AU; + + /* Compute correct ECC */ + tcramA1bit = tcramA1_bk; + tcramA2bit = tcramA2_bk; + +/* USER CODE BEGIN (37) */ +/* USER CODE END */ +} + +/** @fn void checkB1RAMECC(void) +* @brief Check TCRAM2 ECC error detection logic. +* +* This function checks TCRAM2 ECC error detection logic. +*/ +/* SourceId : SELFTEST_SourceId_018 */ +/* DesignId : SELFTEST_DesignId_019 */ +/* Requirements : HL_SR408 */ +void checkB1RAMECC(void) +{ + volatile uint64 ramread = 0U; + volatile uint32 regread = 0U; + uint32 tcram1ErrStat, tcram2ErrStat = 0U; + + uint64 tcramB1_bk = tcramB1bit; + uint64 tcramB2_bk = tcramB2bit; + volatile uint32 i; +/* USER CODE BEGIN (38) */ +/* USER CODE END */ + + /* enable writes to ECC RAM, enable ECC error response */ + tcram1REG->RAMCTRL = 0x0005010AU; + tcram2REG->RAMCTRL = 0x0005010AU; + + /* the first 1-bit error will cause an error response */ + tcram1REG->RAMTHRESHOLD = 0x1U; + tcram2REG->RAMTHRESHOLD = 0x1U; + + /* allow SERR to be reported to ESM */ + tcram1REG->RAMINTCTRL = 0x1U; + tcram2REG->RAMINTCTRL = 0x1U; + + /* cause a 1-bit ECC error */ + _coreDisableRamEcc_(); + tcramB1bitError ^= 0x1U; + _coreEnableRamEcc_(); + + /* disable writes to ECC RAM */ + tcram1REG->RAMCTRL = 0x0005000AU; + tcram2REG->RAMCTRL = 0x0005000AU; + + /* read from location with 1-bit ECC error */ + ramread = tcramB1bit; + + /* Check for error status */ + tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x1U; + tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x1U; + /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ + /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ + if((tcram1ErrStat == 0U) && (tcram2ErrStat == 0U)) + { + /* TCRAM module does not reflect 1-bit error reported by CPU */ + selftestFailNotification(CHECKB1RAMECC_FAIL1); + } + else + { + /* clear SERR flag */ + tcram1REG->RAMERRSTATUS = 0x1U; + tcram2REG->RAMERRSTATUS = 0x1U; + + /* clear status flags for ESM group1 channels 26 and 28 */ + esmREG->SR1[0U] = 0x14000000U; + } + + /* enable writes to ECC RAM, enable ECC error response */ + tcram1REG->RAMCTRL = 0x0005010AU; + tcram2REG->RAMCTRL = 0x0005010AU; + + /* cause a 2-bit ECC error */ + _coreDisableRamEcc_(); + tcramB2bitError ^= 0x3U; + _coreEnableRamEcc_(); + + /* read from location with 2-bit ECC error this will cause a data abort to be generated */ + ramread = tcramB2bit; + + /* delay before restoring the ram value */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + for(i=0U;i<10U;i++) + { + }/* Wait */ + + regread = tcram1REG->RAMUERRADDR; + regread = tcram2REG->RAMUERRADDR; + + /* disable writes to ECC RAM */ + tcram1REG->RAMCTRL = 0x0005000AU; + tcram2REG->RAMCTRL = 0x0005000AU; + + /* Compute correct ECC */ + tcramB1bit = tcramB1_bk; + tcramB2bit = tcramB2_bk; + +/* USER CODE BEGIN (39) */ +/* USER CODE END */ +} + +/** @fn void checkFlashECC(void) +* @brief Check Flash ECC error detection logic. +* +* This function checks Flash ECC error detection logic. +*/ +/* SourceId : SELFTEST_SourceId_019 */ +/* DesignId : SELFTEST_DesignId_020 */ +/* Requirements : HL_SR405 */ +void checkFlashECC(void) +{ + /* Routine to check operation of ECC logic inside CPU for accesses to program flash */ + volatile uint32 flashread = 0U; + +/* USER CODE BEGIN (40) */ +/* USER CODE END */ + + /* Flash Module ECC Response enabled */ + flashWREG->FEDACCTRL1 = 0x000A060AU; + + /* Enable diagnostic mode and select diag mode 7 */ + flashWREG->FDIAGCTRL = 0x00050007U; + + /* Select ECC diagnostic mode, single-bit to be corrupted */ + flashWREG->FPAROVR = 0x00005A01U; + + /* Set the trigger for the diagnostic mode */ + flashWREG->FDIAGCTRL |= 0x01000000U; + + /* read a flash location from the mirrored memory map */ + flashread = flashBadECC1; + + /* disable diagnostic mode */ + flashWREG->FDIAGCTRL = 0x000A0007U; + + /* this will have caused a single-bit error to be generated and corrected by CPU */ + /* single-bit error not captured in flash module */ + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + if ((flashWREG->FEDACSTATUS & 0x2U) == 0U) + { + selftestFailNotification(CHECKFLASHECC_FAIL1); + } + else + { + /* clear single-bit error flag */ + flashWREG->FEDACSTATUS = 0x2U; + + /* clear ESM flag */ + esmREG->SR1[0U] = 0x40U; + + /* Enable diagnostic mode and select diag mode 7 */ + flashWREG->FDIAGCTRL = 0x00050007U; + + /* Select ECC diagnostic mode, two bits of ECC to be corrupted */ + flashWREG->FPAROVR = 0x00005A03U; + + /* Set the trigger for the diagnostic mode */ + flashWREG->FDIAGCTRL |= 0x01000000U; + + /* read from flash location from mirrored memory map this will cause a data abort */ + flashread = flashBadECC2; + + /* Read FUNCERRADD register */ + flashread = flashWREG->FUNCERRADD; + + /* disable diagnostic mode */ + flashWREG->FDIAGCTRL = 0x000A0007U; + } + +/* USER CODE BEGIN (41) */ +/* USER CODE END */ +} + +/** @fn void custom_dabort(void) +* @brief Custom Data abort routine for the application. +* +* Custom Data abort routine for the application. +*/ +void custom_dabort(void) +{ + /* Need custom data abort handler here. + * This data abort is not caused due to diagnostic checks of flash and TCRAM ECC logic. + */ +/* USER CODE BEGIN (42) */ +/* USER CODE END */ +} + +/** @fn void stcSelfCheckFail(void) +* @brief STC Self test check fail service routine +* +* This function is called if STC Self test check fail. +*/ +void stcSelfCheckFail(void) +{ +/* USER CODE BEGIN (43) */ +/* USER CODE END */ + /* CPU self-test controller's own self-test failed. + * It is not possible to verify that STC is capable of indicating a CPU self-test error. + * It is not recommended to continue operation. + */ + + /* User can add small piece of code to take system to Safe state using user code section. + * Note: Just removing the for(;;) will take the system to unknown state under ST failure, + * since it is not handled by HALCoGen driver */ +/* USER CODE BEGIN (44) */ +/* USER CODE END */ + /*SAFETYMCUSW 5 C MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + /*SAFETYMCUSW 26 S MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + /*SAFETYMCUSW 28 D MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + for(;;) + { + }/* Wait */ +/* USER CODE BEGIN (45) */ +/* USER CODE END */ +} + +/** @fn void cpuSelfTestFail(void) +* @brief CPU Self test check fail service routine +* +* This function is called if CPU Self test check fail. +*/ +void cpuSelfTestFail(void) +{ +/* USER CODE BEGIN (46) */ +/* USER CODE END */ + /* CPU self-test has failed. + * CPU operation is not reliable. + */ +/* USER CODE BEGIN (47) */ +/* USER CODE END */ + /*SAFETYMCUSW 5 C MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + /*SAFETYMCUSW 26 S MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + /*SAFETYMCUSW 28 D MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + for(;;) + { + }/* Wait */ +/* USER CODE BEGIN (48) */ +/* USER CODE END */ +} + + +/** @fn void vimParityCheck(void) +* @brief Routine to check VIM RAM parity error detection and signaling mechanism +* +* Routine to check VIM RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_020 */ +/* DesignId : SELFTEST_DesignId_021 */ +/* Requirements : HL_SR385 */ +void vimParityCheck(void) +{ + volatile uint32 vimramread = 0U; + uint32 vimparctl_bk = VIM_PARCTL; + +/* USER CODE BEGIN (49) */ +/* USER CODE END */ + + /* Enable parity checking and parity test mode */ + VIM_PARCTL = 0x0000010AU; + + /* flip a bit in the VIM RAM parity location */ + VIMRAMPARLOC ^= 0x1U; + + /* disable parity test mode */ + VIM_PARCTL = 0x0000000AU; + + /* cause parity error */ + vimramread = VIMRAMLOC; + + /* check if ESM group1 channel 15 is flagged */ + if ((esmREG->SR1[0U] & 0x8000U) ==0U) + { + /* VIM RAM parity error was not flagged to ESM. */ + selftestFailNotification(VIMPARITYCHECK_FAIL1); + } + else + { + /* clear VIM RAM parity error flag in VIM */ + VIM_PARFLG = 0x1U; + + /* clear ESM group1 channel 15 flag */ + esmREG->SR1[0U] = 0x8000U; + + /* Enable parity checking and parity test mode */ + VIM_PARCTL = 0x0000010AU; + + /* Revert back to correct data, flip bit 0 of the parity location */ + VIMRAMPARLOC ^= 0x1U; + } + + /* Restore Parity Control register */ + VIM_PARCTL = vimparctl_bk; + +/* USER CODE BEGIN (50) */ +/* USER CODE END */ +} + + +/** @fn void dmaParityCheck(void) +* @brief Routine to check DMA control packet RAM parity error detection and signaling mechanism +* +* Routine to check DMA control packet RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_021 */ +/* DesignId : SELFTEST_DesignId_022 */ +/* Requirements : HL_SR388 */ +void dmaParityCheck(void) +{ + volatile uint32 dmaread = 0U; + uint32 dmaparcr_bk = DMA_PARCR; + +/* USER CODE BEGIN (51) */ +/* USER CODE END */ + + /* Enable parity checking and parity test mode */ + DMA_PARCR = 0x0000010AU; + + /* Flip a bit in DMA RAM parity location */ + DMARAMPARLOC ^= 0x1U; + + /* Disable parity test mode */ + DMA_PARCR = 0x0000000AU; + + /* Cause parity error */ + dmaread = DMARAMLOC; + + /* Check if ESM group1 channel 3 is flagged */ + if ((esmREG->SR1[0U] & 0x8U) == 0U) + { + /* DMA RAM parity error was not flagged to ESM. */ + selftestFailNotification(DMAPARITYCHECK_FAIL1); + } + else + { + /* clear DMA parity error flag in DMA */ + DMA_PARADDR = 0x01000000U; + + /* clear ESM group1 channel 3 flag */ + esmREG->SR1[0U] = 0x8U; + + /* Enable parity checking and parity test mode */ + DMA_PARCR = 0x0000010AU; + + /* Revert back to correct data, flip bit 0 of the parity location */ + DMARAMPARLOC ^= 0x1U; + } + + /* Restrore Parity Control register */ + DMA_PARCR = dmaparcr_bk; + +/* USER CODE BEGIN (52) */ +/* USER CODE END */ +} + + +/** @fn void het1ParityCheck(void) +* @brief Routine to check HET1 RAM parity error detection and signaling mechanism +* +* Routine to check HET1 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_022 */ +/* DesignId : SELFTEST_DesignId_024 */ +/* Requirements : HL_SR389 */ +void het1ParityCheck(void) +{ + volatile uint32 nhetread = 0U; + uint32 hetpcr_bk = hetREG1->PCR; + +/* USER CODE BEGIN (53) */ +/* USER CODE END */ + + /* Set TEST mode and enable parity checking */ + hetREG1->PCR = 0x0000010AU; + + /* flip parity bit */ + NHET1RAMPARLOC ^= 0x1U; + + /* Disable TEST mode */ + hetREG1->PCR = 0x0000000AU; + + /* read to cause parity error */ + nhetread = NHET1RAMLOC; + + /* check if ESM group1 channel 7 is flagged */ + if ((esmREG->SR1[0U] & 0x80U) ==0U) + { + /* NHET1 RAM parity error was not flagged to ESM. */ + selftestFailNotification(HET1PARITYCHECK_FAIL1); + } + else + { + /* clear ESM group1 channel 7 flag */ + esmREG->SR1[0U] = 0x80U; + + /* Set TEST mode and enable parity checking */ + hetREG1->PCR = 0x0000010AU; + + /* Revert back to correct data, flip bit 0 of the parity location */ + NHET1RAMPARLOC ^= 0x1U; + } + + /* Restore Parity comtrol register */ + hetREG1->PCR = hetpcr_bk; + +/* USER CODE BEGIN (54) */ +/* USER CODE END */ +} + + +/** @fn void htu1ParityCheck(void) +* @brief Routine to check HTU1 RAM parity error detection and signaling mechanism +* +* Routine to check HTU1 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_023 */ +/* DesignId : SELFTEST_DesignId_025 */ +/* Requirements : HL_SR390 */ +void htu1ParityCheck(void) +{ + volatile uint32 hturead = 0U; + uint32 htupcr_bk = htuREG1->PCR; + +/* USER CODE BEGIN (55) */ +/* USER CODE END */ + + /* Enable parity and TEST mode */ + htuREG1->PCR = 0x0000010AU; + + /* flip parity bit */ + HTU1PARLOC ^= 0x1U; + + /* Disable parity RAM test mode */ + htuREG1->PCR = 0x0000000AU; + + /* read to cause parity error */ + hturead = HTU1RAMLOC; + + /* check if ESM group1 channel 8 is flagged */ + if ((esmREG->SR1[0U] & 0x100U) == 0U) + { + /* HTU1 RAM parity error was not flagged to ESM. */ + selftestFailNotification(HTU1PARITYCHECK_FAIL1); + } + else + { + /* Clear HTU parity error flag */ + htuREG1->PAR = 0x00010000U; + esmREG->SR1[0U] = 0x100U; + + /* Enable parity and TEST mode */ + htuREG1->PCR = 0x0000010AU; + + /* Revert back to correct data, flip bit 0 of the parity location */ + HTU1PARLOC ^= 0x1U; + } + + /* Restore Parity control register */ + htuREG1->PCR = htupcr_bk; + +/* USER CODE BEGIN (56) */ +/* USER CODE END */ + +} + + +/** @fn void het2ParityCheck(void) +* @brief Routine to check HET2 RAM parity error detection and signaling mechanism +* +* Routine to check HET2 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_024 */ +/* DesignId : SELFTEST_DesignId_024 */ +/* Requirements : HL_SR389 */ +void het2ParityCheck(void) +{ + volatile uint32 nhetread = 0U; + uint32 hetpcr_bk = hetREG2->PCR; + uint32 esmCh7Stat, esmCh34Stat = 0U; + +/* USER CODE BEGIN (57) */ +/* USER CODE END */ + + /* Set TEST mode and enable parity checking */ + hetREG2->PCR = 0x0000010AU; + + /* flip parity bit */ + NHET2RAMPARLOC ^= 0x1U; + + /* Disable TEST mode */ + hetREG2->PCR = 0x0000000AU; + + /* read to cause parity error */ + nhetread = NHET2RAMLOC; + + /* check if ESM group1 channel 7 or 34 (If not reserved) is flagged */ + esmCh7Stat = esmREG->SR1[0U] & 0x80U; + esmCh34Stat = esmREG->SR4[0U] & 0x4U; + if ((esmCh7Stat == 0U) && (esmCh34Stat ==0U)) + { + /* NHET2 RAM parity error was not flagged to ESM. */ + selftestFailNotification(HET2PARITYCHECK_FAIL1); + } + else + { + /* clear ESM group1 channel 7 flag */ + esmREG->SR1[0U] = 0x80U; + + /* clear ESM group1 channel 34 flag */ + esmREG->SR4[0U] = 0x4U; + + /* Set TEST mode and enable parity checking */ + hetREG2->PCR = 0x0000010AU; + + /* Revert back to correct data, flip bit 0 of the parity location */ + NHET2RAMPARLOC ^= 0x1U; + } + + /* Restore parity control register */ + hetREG2->PCR = hetpcr_bk; + +/* USER CODE BEGIN (58) */ +/* USER CODE END */ +} + + +/** @fn void htu2ParityCheck(void) +* @brief Routine to check HTU2 RAM parity error detection and signaling mechanism +* +* Routine to check HTU2 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_025 */ +/* DesignId : SELFTEST_DesignId_025 */ +/* Requirements : HL_SR390 */ +void htu2ParityCheck(void) +{ + volatile uint32 hturead = 0U; + uint32 htupcr_bk = htuREG2->PCR; + +/* USER CODE BEGIN (59) */ +/* USER CODE END */ + + /* Enable parity and TEST mode */ + htuREG2->PCR = 0x0000010AU; + + /* flip parity bit */ + HTU2PARLOC ^= 0x1U; + + /* Disable parity RAM test mode */ + htuREG2->PCR = 0x0000000AU; + + /* read to cause parity error */ + hturead = HTU2RAMLOC; + + /* check if ESM group1 channel 8 is flagged */ + if ((esmREG->SR1[0U] & 0x100U) == 0U) + { + /* HTU2 RAM parity error was not flagged to ESM. */ + selftestFailNotification(HTU2PARITYCHECK_FAIL1); + } + else + { + /* Clear HTU parity error flag */ + htuREG2->PAR = 0x00010000U; + esmREG->SR1[0U] = 0x100U; + + /* Enable parity and TEST mode */ + htuREG2->PCR = 0x0000010AU; + + /* Revert back to correct data, flip bit 0 of the parity location */ + HTU2PARLOC ^= 0x1U; + } + + /* Restore parity control register*/ + htuREG2->PCR = htupcr_bk; + +/* USER CODE BEGIN (60) */ +/* USER CODE END */ +} + + +/** @fn void adc1ParityCheck(void) +* @brief Routine to check ADC1 RAM parity error detection and signaling mechanism +* +* Routine to check ADC1 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_026 */ +/* DesignId : SELFTEST_DesignId_023 */ +/* Requirements : HL_SR387 */ +void adc1ParityCheck(void) +{ + volatile uint32 adcramread = 0U; + uint32 adcparcr_bk = adcREG1->PARCR; + +/* USER CODE BEGIN (61) */ +/* USER CODE END */ + + /* Set the TEST bit in the PARCR and enable parity checking */ + adcREG1->PARCR = 0x10AU; + + /* Invert the parity bits inside the ADC1 RAM's first location */ + adcPARRAM1 = ~(adcPARRAM1); + + /* clear the TEST bit */ + adcREG1->PARCR = 0x00AU; + + /* This read is expected to trigger a parity error */ + adcramread = adcRAM1; + + /* Check for ESM group1 channel 19 to be flagged */ + if ((esmREG->SR1[0U] & 0x80000U) ==0U) + { + /* no ADC1 RAM parity error was flagged to ESM */ + selftestFailNotification(ADC1PARITYCHECK_FAIL1); + } + else + { + /* clear ADC1 RAM parity error flag */ + esmREG->SR1[0U] = 0x80000U; + + /* Set the TEST bit in the PARCR and enable parity checking */ + adcREG1->PARCR = 0x10AU; + + /* Revert back the parity bits to correct data */ + adcPARRAM1 = ~(adcPARRAM1); + } + + /* Restore parity control register */ + adcREG1->PARCR = adcparcr_bk; + +/* USER CODE BEGIN (62) */ +/* USER CODE END */ +} + + +/** @fn void adc2ParityCheck(void) +* @brief Routine to check ADC2 RAM parity error detection and signaling mechanism +* +* Routine to check ADC2 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_027 */ +/* DesignId : SELFTEST_DesignId_023 */ +/* Requirements : HL_SR387 */ +void adc2ParityCheck(void) +{ + volatile uint32 adcramread = 0U; + uint32 adcparcr_bk = adcREG2->PARCR; + +/* USER CODE BEGIN (63) */ +/* USER CODE END */ + + /* Set the TEST bit in the PARCR and enable parity checking */ + adcREG2->PARCR = 0x10AU; + + /* Invert the parity bits inside the ADC2 RAM's first location */ + adcPARRAM2 = ~(adcPARRAM2); + + /* clear the TEST bit */ + adcREG2->PARCR = 0x00AU; + + /* This read is expected to trigger a parity error */ + adcramread = adcRAM2; + + /* Check for ESM group1 channel 1 to be flagged */ + if ((esmREG->SR1[0U] & 0x2U) == 0U) + { + /* no ADC2 RAM parity error was flagged to ESM */ + selftestFailNotification(ADC2PARITYCHECK_FAIL1); + } + else + { + /* clear ADC2 RAM parity error flag */ + esmREG->SR1[0U] = 0x2U; + + /* Set the TEST bit in the PARCR and enable parity checking */ + adcREG2->PARCR = 0x10AU; + + /* Revert back the parity bits to correct data */ + adcPARRAM2 = ~(adcPARRAM2); + } + + /* Restore parity control register*/ + adcREG2->PARCR = adcparcr_bk; + +/* USER CODE BEGIN (64) */ +/* USER CODE END */ +} + +/** @fn void can1ParityCheck(void) +* @brief Routine to check CAN1 RAM parity error detection and signaling mechanism +* +* Routine to check CAN1 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_028 */ +/* DesignId : SELFTEST_DesignId_026 */ +/* Requirements : HL_SR393 */ +void can1ParityCheck(void) +{ + volatile uint32 canread = 0U; + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + uint32 canctl_bk = canREG1->CTL; + +/* USER CODE BEGIN (65) */ +/* USER CODE END */ + + /* Disable parity, init mode, TEST mode */ + canREG1->CTL = 0x00001481U; + + /* Enable RAM Direct Access mode */ + canREG1->TEST = 0x00000200U; + + /* flip the parity bit */ + canPARRAM1 ^= 0x00001000U; + + /* Enable parity, disable init, still TEST mode */ + canREG1->CTL = 0x00002880U; + + /* Read location with parity error */ + canread = canRAM1; + + /* check if ESM group1 channel 21 is flagged */ + if ((esmREG->SR1[0U] & 0x00200000U) == 0U) + { + /* No DCAN1 RAM parity error was flagged to ESM */ + selftestFailNotification(CAN1PARITYCHECK_FAIL1); + } + else + { + /* clear ESM group1 channel 21 flag */ + esmREG->SR1[0U] = 0x00200000U; + + /* Disable parity, init mode, TEST mode */ + canREG1->CTL = 0x00001481U; + + /* Revert back to correct data, flip bit 0 of the parity location */ + canPARRAM1 ^= 0x00001000U; + } + + /* Disable RAM Direct Access mode */ + canREG1->TEST = 0x00000000U; + + /* Restore CTL register */ + canREG1->CTL = canctl_bk; + + /* Read Error and Status register to clear Parity Error bit */ + canread = canREG1->ES; + +/* USER CODE BEGIN (66) */ +/* USER CODE END */ +} + + +/** @fn void can2ParityCheck(void) +* @brief Routine to check CAN2 RAM parity error detection and signaling mechanism +* +* Routine to check CAN2 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_029 */ +/* DesignId : SELFTEST_DesignId_026 */ +/* Requirements : HL_SR393 */ +void can2ParityCheck(void) +{ + volatile uint32 canread = 0U; + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + uint32 canctl_bk = canREG2->CTL; + +/* USER CODE BEGIN (67) */ +/* USER CODE END */ + + /* Disable parity, init mode, TEST mode */ + canREG2->CTL = 0x00001481U; + + /* Enable RAM Direct Access mode */ + canREG2->TEST = 0x00000200U; + + /* flip the parity bit */ + canPARRAM2 ^= 0x00001000U; + + /* Enable parity, disable init, still TEST mode */ + canREG2->CTL = 0x00002880U; + + /* Read location with parity error */ + canread = canRAM2; + + /* check if ESM group1 channel 23 is flagged */ + if ((esmREG->SR1[0U] & 0x00800000U) == 0U) + { + /* No DCAN2 RAM parity error was flagged to ESM */ + selftestFailNotification(CAN2PARITYCHECK_FAIL1); + } + else + { + /* clear ESM group1 channel 23 flag */ + esmREG->SR1[0U] = 0x00800000U; + + /* Disable parity, init mode, TEST mode */ + canREG2->CTL = 0x00001481U; + + /* Revert back to correct data, flip bit 0 of the parity location */ + canPARRAM2 ^= 0x00001000U; + } + + /* Disable RAM Direct Access mode */ + canREG2->TEST = 0x00000000U; + + /* disable TEST mode */ + canREG2->CTL = canctl_bk; + + /* Read Error and Status register to clear Parity Error bit */ + canread = canREG2->ES; + +/* USER CODE BEGIN (68) */ +/* USER CODE END */ +} + + +/** @fn void can3ParityCheck(void) +* @brief Routine to check CAN3 RAM parity error detection and signaling mechanism +* +* Routine to check CAN3 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_030 */ +/* DesignId : SELFTEST_DesignId_026 */ +/* Requirements : HL_SR393 */ +void can3ParityCheck(void) +{ + volatile uint32 canread = 0U; + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + uint32 canctl_bk = canREG3->CTL; + +/* USER CODE BEGIN (69) */ +/* USER CODE END */ + + /* Disable parity, init mode, TEST mode */ + canREG3->CTL = 0x00001481U; + + /* Enable RAM Direct Access mode */ + canREG3->TEST = 0x00000200U; + + /* flip the parity bit */ + canPARRAM3 ^= 0x00001000U; + + /* Enable parity, disable init, still TEST mode */ + canREG3->CTL = 0x00002880U; + + /* Read location with parity error */ + canread = canRAM3; + + /* check if ESM group1 channel 22 is flagged */ + if ((esmREG->SR1[0U] & 0x00400000U) == 0U) + { + /* No DCAN3 RAM parity error was flagged to ESM */ + selftestFailNotification(CAN3PARITYCHECK_FAIL1); + } + else + { + /* clear ESM group1 channel 22 flag */ + esmREG->SR1[0U] = 0x00400000U; + + /* Disable parity, init mode, TEST mode */ + canREG3->CTL = 0x00001481U; + + /* Revert back to correct data, flip bit 0 of the parity location */ + canPARRAM3 ^= 0x00001000U; + } + + /* Disable RAM Direct Access mode */ + canREG3->TEST = 0x00000000U; + + /* disable TEST mode */ + canREG3->CTL = canctl_bk; + + /* Read Error and Status register to clear Parity Error bit */ + canread = canREG3->ES; + +/* USER CODE BEGIN (70) */ +/* USER CODE END */ +} + + +/** @fn void mibspi1ParityCheck(void) +* @brief Routine to check MIBSPI1 RAM parity error detection and signaling mechanism +* +* Routine to check MIBSPI1 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_031 */ +/* DesignId : SELFTEST_DesignId_027 */ +/* Requirements : HL_SR386 */ +void mibspi1ParityCheck(void) +{ + volatile uint32 spiread = 0U; + uint32 mibspie_bk = mibspiREG1->MIBSPIE; + uint32 mibspictl_bk = mibspiREG1->UERRCTRL; + +/* USER CODE BEGIN (71) */ +/* USER CODE END */ + + /* enable multi-buffered mode */ + mibspiREG1->MIBSPIE = 0x1U; + + /* enable parity error detection */ + mibspiREG1->UERRCTRL = (mibspiREG1->UERRCTRL & 0xFFFFFFF0U) | (0xAU); + + /* enable parity test mode */ + mibspiREG1->UERRCTRL |= 0x00000100U; + + /* flip bit 0 of the parity location */ + mibspiPARRAM1 ^= 0x1U; + + /* disable parity test mode */ + mibspiREG1->UERRCTRL &= 0xFFFFFEFFU; + + /* read from MibSPI1 RAM to cause parity error */ + spiread = MIBSPI1RAMLOC; + + /* check if ESM group1 channel 17 is flagged */ + if ((esmREG->SR1[0U] & 0x20000U) == 0U) + { + /* No MibSPI1 RAM parity error was flagged to ESM. */ + selftestFailNotification(MIBSPI1PARITYCHECK_FAIL1); + } + else + { + /* clear parity error flags */ + mibspiREG1->UERRSTAT = 0x3U; + + /* clear ESM group1 channel 17 flag */ + esmREG->SR1[0U] = 0x20000U; + + /* enable parity test mode */ + mibspiREG1->UERRCTRL |= 0x00000100U; + + /* Revert back to correct data, flip bit 0 of the parity location */ + mibspiPARRAM1 ^= 0x1U; + } + + /* Restore MIBSPI control registers */ + mibspiREG1->UERRCTRL = mibspictl_bk; + mibspiREG1->MIBSPIE = mibspie_bk; + +/* USER CODE BEGIN (72) */ +/* USER CODE END */ +} + +/** @fn void mibspi3ParityCheck(void) +* @brief Routine to check MIBSPI3 RAM parity error detection and signaling mechanism +* +* Routine to check MIBSPI3 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_032 */ +/* DesignId : SELFTEST_DesignId_027 */ +/* Requirements : HL_SR386 */ +void mibspi3ParityCheck(void) +{ + volatile uint32 spiread = 0U; + uint32 mibspie_bk = mibspiREG3->MIBSPIE; + uint32 mibspictl_bk = mibspiREG3->UERRCTRL; + +/* USER CODE BEGIN (73) */ +/* USER CODE END */ + + /* enable multi-buffered mode */ + mibspiREG3->MIBSPIE = 0x1U; + + /* enable parity test mode */ + mibspiREG3->UERRCTRL |= 0x00000100U; + + /* flip bit 0 of the parity location */ + mibspiPARRAM3 ^= 0x1U; + + /* enable parity error detection */ + mibspiREG3->UERRCTRL = (mibspiREG3->UERRCTRL & 0xFFFFFFF0U) | (0xAU); + + /* disable parity test mode */ + mibspiREG3->UERRCTRL &= 0xFFFFFEFFU; + + /* read from MibSPI3 RAM to cause parity error */ + spiread = MIBSPI3RAMLOC; + + /* check if ESM group1 channel 18 is flagged */ + if ((esmREG->SR1[0U] & 0x40000U) == 0U) + { + /* No MibSPI3 RAM parity error was flagged to ESM. */ + selftestFailNotification(MIBSPI3PARITYCHECK_FAIL1); + } + else + { + /* clear parity error flags */ + mibspiREG3->UERRSTAT = 0x3U; + + /* clear ESM group1 channel 18 flag */ + esmREG->SR1[0U] = 0x40000U; + + /* enable parity test mode */ + mibspiREG3->UERRCTRL |= 0x00000100U; + + /* Revert back to correct data, flip bit 0 of the parity location */ + mibspiPARRAM3 ^= 0x1U; + } + + /* Restore MIBSPI control registers */ + mibspiREG3->UERRCTRL = mibspictl_bk; + mibspiREG3->MIBSPIE = mibspie_bk; + +/* USER CODE BEGIN (74) */ +/* USER CODE END */ +} + +/** @fn void mibspi5ParityCheck(void) +* @brief Routine to check MIBSPI5 RAM parity error detection and signaling mechanism +* +* Routine to check MIBSPI5 RAM parity error detection and signaling mechanism +*/ +/* SourceId : SELFTEST_SourceId_033 */ +/* DesignId : SELFTEST_DesignId_027 */ +/* Requirements : HL_SR386 */ +void mibspi5ParityCheck(void) +{ + volatile uint32 spiread = 0U; + uint32 mibspie_bk = mibspiREG5->MIBSPIE; + uint32 mibspictl_bk = mibspiREG5->UERRCTRL; + +/* USER CODE BEGIN (75) */ +/* USER CODE END */ + + /* enable multi-buffered mode */ + mibspiREG5->MIBSPIE = 0x1U; + + /* enable parity test mode */ + mibspiREG5->UERRCTRL |= 0x00000100U; + + /* flip bit 0 of the parity location */ + mibspiPARRAM5 ^= 0x1U; + + /* enable parity error detection */ + mibspiREG5->UERRCTRL = (mibspiREG5->UERRCTRL & 0xFFFFFFF0U) | (0xAU); + + /* disable parity test mode */ + mibspiREG5->UERRCTRL &= 0xFFFFFEFFU; + + /* read from MibSPI5 RAM to cause parity error */ + spiread = MIBSPI5RAMLOC; + + /* check if ESM group1 channel 24 is flagged */ + if ((esmREG->SR1[0U] & 0x01000000U) == 0U) + { + /* No MibSPI5 RAM parity error was flagged to ESM. */ + selftestFailNotification(MIBSPI5PARITYCHECK_FAIL1); + } + else + { + /* clear parity error flags */ + mibspiREG5->UERRSTAT = 0x3U; + + /* clear ESM group1 channel 24 flag */ + esmREG->SR1[0U] = 0x01000000U; + + /* enable parity test mode */ + mibspiREG5->UERRCTRL |= 0x00000100U; + + /* Revert back to correct data, flip bit 0 of the parity location */ + mibspiPARRAM5 ^= 0x1U; + } + + /* Restore MIBSPI control registers */ + mibspiREG5->UERRCTRL = mibspictl_bk; + mibspiREG5->MIBSPIE = mibspie_bk; + +/* USER CODE BEGIN (76) */ +/* USER CODE END */ +} + +/** @fn void checkRAMECC(void) +* @brief Check TCRAM ECC error detection logic. +* +* This function checks TCRAM ECC error detection logic. +*/ +/* SourceId : SELFTEST_SourceId_034 */ +/* DesignId : SELFTEST_DesignId_019 */ +/* Requirements : HL_SR408 */ +void checkRAMECC(void) +{ + volatile uint64 ramread = 0U; + volatile uint32 regread = 0U; + uint32 tcram1ErrStat, tcram2ErrStat = 0U; + + uint64 tcramA1_bk = tcramA1bit; + uint64 tcramB1_bk = tcramB1bit; + uint64 tcramA2_bk = tcramA2bit; + uint64 tcramB2_bk = tcramB2bit; + + /* Clear RAMOCUUR before setting RAMTHRESHOLD register */ + tcram1REG->RAMOCCUR = 0U; + tcram2REG->RAMOCCUR = 0U; + + /* Set Single-bit Error Threshold Count as 1 */ + tcram1REG->RAMTHRESHOLD = 1U; + tcram2REG->RAMTHRESHOLD = 1U; + + /* Enable single bit error generation */ + tcram1REG->RAMINTCTRL = 1U; + tcram2REG->RAMINTCTRL = 1U; + + /* Enable writes to ECC RAM, enable ECC error response */ + tcram1REG->RAMCTRL = 0x0005010AU; + tcram2REG->RAMCTRL = 0x0005010AU; + + /* Force a single bit error in both the banks */ + _coreDisableRamEcc_(); + tcramA1bitError ^= 1U; + tcramB1bitError ^= 1U; + _coreEnableRamEcc_(); + + /* Read the corrupted data to generate single bit error */ + ramread = tcramA1bit; + ramread = tcramB1bit; + + /* Check for error status */ + tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x1U; + tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x1U; + /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ + /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ + if((tcram1ErrStat == 0U) || (tcram2ErrStat == 0U)) + { + /* TCRAM module does not reflect 1-bit error reported by CPU */ + selftestFailNotification(CHECKRAMECC_FAIL1); + } + else + { + if((esmREG->SR1[0U] & 0x14000000U) != 0x14000000U) + { + /* TCRAM 1-bit error not flagged in ESM */ + selftestFailNotification(CHECKRAMECC_FAIL2); + } + else + { + /* Clear single bit error flag in TCRAM module */ + tcram1REG->RAMERRSTATUS = 0x1U; + tcram2REG->RAMERRSTATUS = 0x1U; + + /* Clear ESM status */ + esmREG->SR1[0U] = 0x14000000U; + } + } + + /* Force a double bit error in both the banks */ + _coreDisableRamEcc_(); + tcramA2bitError ^= 3U; + tcramB2bitError ^= 3U; + _coreEnableRamEcc_(); + + /* Read the corrupted data to generate double bit error */ + ramread = tcramA2bit; + ramread = tcramB2bit; + + regread = tcram1REG->RAMUERRADDR; + regread = tcram2REG->RAMUERRADDR; + + /* disable writes to ECC RAM */ + tcram1REG->RAMCTRL = 0x0005000AU; + tcram2REG->RAMCTRL = 0x0005000AU; + + /* Compute correct ECC */ + tcramA1bit = tcramA1_bk; + tcramB1bit = tcramB1_bk; + tcramA2bit = tcramA2_bk; + tcramB2bit = tcramB2_bk; +} + +/** @fn void checkClockMonitor(void) +* @brief Check clock monitor failure detection logic. +* +* This function checks clock monitor failure detection logic. +*/ +/* SourceId : SELFTEST_SourceId_035 */ +/* DesignId : SELFTEST_DesignId_028 */ +/* Requirements : HL_SR394 */ +void checkClockMonitor(void) +{ + uint32 ghvsrc_bk; + + /* Enable clock monitor range detection circuitry */ + systemREG1->CLKTEST |= 0x03000000U; + + /* Backup register GHVSRC */ + ghvsrc_bk = systemREG1->GHVSRC; + + /* Switch all clock domains to HF LPO */ + systemREG1->GHVSRC = 0x05050005U; + + /* Disable oscillator to cause a oscillator fail */ + systemREG1->CSDISSET = 0x1U; + + /* Wait till oscillator fail flag is set */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((systemREG1->GBLSTAT & 0x1U) == 0U) + { + } /* Wait */ + + if((esmREG->SR1[0U] & 0x800U) != 0x800U) + { + selftestFailNotification(CHECKCLOCKMONITOR_FAIL1); + } + else + { + /* Clear ESM flag */ + esmREG->SR1[0U] = 0x800U; + + /* Disable clock monitor range detection circuitry */ + systemREG1->CLKTEST &= ~(0x03000000U); + + /* Enable oscillator */ + systemREG1->CSDISCLR = 0x1U; + + /* Wait until oscillator is enabled */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((systemREG1->CSVSTAT & 0x3U) == 0U) + { + } /* Wait */ + + /* Clear oscillator fail flag and PLL slip flag if any*/ + systemREG1->GBLSTAT = 0x301U; + + /* Switch back all clock domains */ + systemREG1->GHVSRC = ghvsrc_bk; + } +} + +/** @fn void checkFlashEEPROMECC(void) +* @brief Check Flash EEPROM ECC error detection logic. +* +* This function checks Flash EEPROM ECC error detection logic. +*/ +/* SourceId : SELFTEST_SourceId_036 */ +/* DesignId : SELFTEST_DesignId_029 */ +/* Requirements : HL_SR406 */ +void checkFlashEEPROMECC(void) +{ + uint32 ecc; + volatile uint32 regread; + + /* Set Single Error Correction Threshold as 1 */ + flashWREG->EECTRL2 |= 1U; + + /* Enable EEPROM Emulation Error Profiling */ + flashWREG->EECTRL1 |= 0x00000100U; + + /* Load FEMU_XX regs in order to generate ECC */ + flashWREG->FEMUADDR = 0xF0200000U; + flashWREG->FEMUDMSW = 0U; + flashWREG->FEMUDLSW = 0U; + + /* ECC for the correct data*/ + ecc = flashWREG->FEMUECC; + + /* Load data with 1 bit error */ + flashWREG->FEMUDMSW = 0U; + flashWREG->FEMUDLSW = 1U; + + /* Enable Diagnostic ECC data correction mode and select FEE SECDED for diagnostic testing */ + flashWREG->FDIAGCTRL = 0x00055001U; + + flashWREG->FEMUECC = ecc; + + /* Diagnostic trigger */ + flashWREG->FDIAGCTRL |= 0x01000000U; + + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + if((flashWREG->EESTATUS & 0x1U) != 0x1U) + { + /* No single bit error was detected */ + selftestFailNotification(CHECKFLASHEEPROMECC_FAIL1); + } + else + { + if((esmREG->SR4[0U] & 0x8U) != 0x8U) + { + /* EEPROM single bit error not captured in ESM */ + selftestFailNotification(CHECKFLASHEEPROMECC_FAIL2); + } + else + { + /* Clear single bit error flag in flash wrapper */ + flashWREG->EESTATUS = 0xFU; + + /* Clear ESM flag */ + esmREG->SR4[0U] = 0x8U; + } + } + + /* Load data with 2 bit error */ + flashWREG->FEMUDMSW = 0U; + flashWREG->FEMUDLSW = 3U; + + /* Enable Diagnostic ECC data correction mode and select FEE SECDED for diagnostic testing */ + flashWREG->FDIAGCTRL = 0x00055001U; + + flashWREG->FEMUECC = ecc; + + /* Diagnostic trigger */ + flashWREG->FDIAGCTRL |= 0x01000000U; + + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + if((flashWREG->EESTATUS & 0x100U) != 0x100U) + { + /* No double bit error was detected */ + selftestFailNotification(CHECKFLASHEEPROMECC_FAIL3); + } + else + { + if((esmREG->SR4[0U] & 0x10U) != 0x10U) + { + /* EEPROM double bit error not captured in ESM */ + selftestFailNotification(CHECKFLASHEEPROMECC_FAIL4); + } + else + { + /* Clear uncorrectable error flag in flash wrapper */ + flashWREG->EESTATUS = 0x1100U; + + /* Read EEUNCERRADD register */ + regread = flashWREG->EEUNCERRADD; + + /* Clear ESM flag */ + esmREG->SR4[0U] = 0x10U; + + + } + } +} + +/** @fn void checkPLL1Slip(void) +* @brief Check PLL1 Slip detection logic. +* +* This function checks PLL1 Slip detection logic. +*/ +/* SourceId : SELFTEST_SourceId_037 */ +/* DesignId : SELFTEST_DesignId_030 */ +/* Requirements : HL_SR384 */ +void checkPLL1Slip(void) +{ + uint32 ghvsrc_bk, pllctl1_bk; + + /* Back up the the registers GHVSRC and PLLCTRL1 */ + ghvsrc_bk = systemREG1->GHVSRC; + pllctl1_bk = systemREG1->PLLCTL1; + + /* Switch all clock domains to oscillator */ + systemREG1->GHVSRC = 0x00000000U; + + /* Disable Reset on PLL Slip and enable Bypass on PLL slip */ + systemREG1->PLLCTL1 &= 0x1FFFFFFFU; + + /* Force a PLL Slip */ + systemREG1->PLLCTL1 ^= 0x8000U; + + /* Wait till PLL slip flag is set */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((systemREG1->GBLSTAT & 0x300U) == 0U) + { + } /* Wait */ + + if((esmREG->SR1[0U] & 0x400U) != 0x400U) + { + /* ESM flag not set */ + selftestFailNotification(CHECKPLL1SLIP_FAIL1); + } + else + { + /* Disable PLL1 */ + systemREG1->CSDISSET = 0x2U; + + /* Wait till PLL1 is disabled */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((systemREG1->CSDIS & 0x2U) == 0U) + { + } /* Wait */ + + /* Restore the PLL multiplier value */ + systemREG1->PLLCTL1 ^= 0x8000U; + + /* Enable PLL1 */ + systemREG1->CSDISCLR = 0x2U; + + /* Wait till PLL1 is disabled */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((systemREG1->CSDIS & 0x2U) != 0U) + { + } /* Wait */ + + /* Switch back to the initial clock source */ + systemREG1->GHVSRC = ghvsrc_bk; + + /* Clear PLL slip flag */ + systemREG1->GBLSTAT = 0x300U; + + /* Clear ESM flag */ + esmREG->SR1[0U] = 0x400U; + + /* Restore the PLLCTL1 register */ + systemREG1->PLLCTL1 = pllctl1_bk; + } +} + +/** @fn void checkPLL2Slip(void) +* @brief Check PLL2 Slip detection logic. +* +* This function checks PLL2 Slip detection logic. +*/ +/* SourceId : SELFTEST_SourceId_038 */ +/* DesignId : SELFTEST_DesignId_031 */ +/* Requirements : HL_SR384 */ +void checkPLL2Slip(void) +{ + uint32 ghvsrc_bk; + + /* Back up the the register GHVSRC */ + ghvsrc_bk = systemREG1->GHVSRC; + + /* Switch all clock domains to oscillator */ + systemREG1->GHVSRC = 0x00000000U; + + /* Force a PLL2 Slip */ + systemREG2->PLLCTL3 ^= 0x8000U; + + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((esmREG->SR4[0U] & 0x400U) != 0x400U) + { + /* Wait till ESM flag is set */ + } + + /* Disable PLL2 */ + systemREG1->CSDISSET = 0x40U; + + /* Wait till PLL2 is disabled */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((systemREG1->CSDIS & 0x40U) == 0U) + { + } /* Wait */ + + /* Restore the PLL 2 multiplier value */ + systemREG2->PLLCTL3 ^= 0x8000U; + + /* Enable PLL2 */ + systemREG1->CSDISCLR = 0x40U; + + /* Wait till PLL2 is disabled */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((systemREG1->CSDIS & 0x40U) != 0U) + { + } /* Wait */ + + /* Switch back to the initial clock source */ + systemREG1->GHVSRC = ghvsrc_bk; + + /* Clear PLL slip flag */ + systemREG1->GBLSTAT = 0x300U; + + /* Clear ESM flag */ + esmREG->SR4[0U] = 0x400U; +} + + +/** @fn void checkRAMAddrParity(void) +* @brief Check TCRAM Address parity error detection and signaling mechanism. +* +* This function TCRAM Address parity error detection and signaling mechanism. +*/ +/* SourceId : SELFTEST_SourceId_039 */ +/* DesignId : SELFTEST_DesignId_032 */ +/* Requirements : HL_SR409 */ +void checkRAMAddrParity(void) +{ + register uint64 ramread; + volatile uint32 regread; + uint32 tcram1ErrStat, tcram2ErrStat; + + /* Invert Address parity scheme */ + tcram1REG->RAMCTRL = 0x0D05000AU; + tcram2REG->RAMCTRL = 0x0D05000AU; + + /* Read from both RAM banks */ + ramread = tcramA1bit; + ramread = ramread | tcramB1bit; /* XOR-ing with ramread to avoid warnings */ + + /* Switch back to Address parity scheme */ + tcram1REG->RAMCTRL = 0x0005000AU; + tcram2REG->RAMCTRL = 0x0005000AU; + + /* Check for error status */ + tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x100U; + tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x100U; + /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ + /*SAFETYMCUSW 139 S MR:13.7 "LDRA Tool issue" */ + if((tcram1ErrStat == 0U) || (tcram2ErrStat == 0U)) + { + /* No Address parity error detected */ + selftestFailNotification(CHECKRAMADDRPARITY_FAIL1); + } + else + { + if((esmREG->SR1[1U] & 0x1400U) != 0x1400U) + { + /* Address parity error not reported to ESM */ + selftestFailNotification(CHECKRAMADDRPARITY_FAIL2); + } + else + { + /* Clear Address parity error flag */ + tcram1REG->RAMERRSTATUS = 0x300U; + tcram2REG->RAMERRSTATUS = 0x300U; + + /* Clear ESM flag */ + esmREG->SR1[1U] = 0x1400U; + + /* The nERROR pin will become inactive once the LTC counter expires */ + esmREG->EKR = 0x5U; + + regread = tcram1REG->RAMPERADDR; + regread = tcram2REG->RAMPERADDR; + } + } +} + +/** @fn void checkRAMUERRTest(void) +* @brief Run RAM test +* +* This function runs RAM test to test the redundant address decode and compare logic. +*/ +/* SourceId : SELFTEST_SourceId_040 */ +/* DesignId : SELFTEST_DesignId_033 */ +/* Requirements : HL_SR410 */ +void checkRAMUERRTest(void) +{ + uint32 tcram1ErrStat, tcram2ErrStat = 0U; + + /* Trigger equality check */ + tcram1REG->RAMTEST = 0x018AU; + tcram2REG->RAMTEST = 0x018AU; + + /* Wait till test is completed */ + while(tcram1REG->RAMTEST != 0x008AU) + { + } /* Wait */ + while(tcram2REG->RAMTEST != 0x008AU) + { + } /* Wait */ + + /* Check for error status */ + tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x10U; + tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x10U; + if((tcram1ErrStat == 0x10U) || (tcram2ErrStat == 0x10U)) + { + /* test failed */ + selftestFailNotification(CHECKRAMUERRTEST_FAIL1); + } + + /* Trigger inequality check */ + tcram1REG->RAMTEST = 0x014AU; + tcram2REG->RAMTEST = 0x014AU; + + /* Wait till test is completed */ + while(tcram1REG->RAMTEST != 0x004AU) + { + }/* Wait */ + while(tcram2REG->RAMTEST != 0x004AU) + { + }/* Wait */ + + tcram1ErrStat = tcram1REG->RAMERRSTATUS & 0x10U; + tcram2ErrStat = tcram2REG->RAMERRSTATUS & 0x10U; + if((tcram1ErrStat == 0x10U) || (tcram2ErrStat == 0x10U)) + { + /* test failed */ + selftestFailNotification(CHECKRAMUERRTEST_FAIL2); + } + else + { + tcram1REG->RAMERRSTATUS = 0x4U; + tcram2REG->RAMERRSTATUS = 0x4U; + + /* Clear ESM flag */ + esmREG->SR1[1U] = 0x140U; + esmREG->SSR2 = 0x140U; + esmREG->EKR = 0x5U; + } + + /* Disable RAM test mode */ + tcram1REG->RAMTEST = 0x5U; + tcram2REG->RAMTEST = 0x5U; +} + +/* SourceId : SELFTEST_SourceId_041 */ +/* DesignId : SELFTEST_DesignId_018 */ +/* Requirements : HL_SR407 */ +void fmcBus1ParityCheck(void) +{ + uint32 regBkupFparOvr,regBckupFdiagctrl; + volatile uint32 flashread = 0U; + + /* Backup registers */ + regBkupFparOvr = flashWREG->FPAROVR; + regBckupFdiagctrl = flashWREG->FDIAGCTRL; + + /* Read to unfreeze the error address registers */ + flashread = flashWREG->FUNCERRADD; + + /* clear status register */ + flashWREG->FEDACSTATUS = 0x400U; + + /* Enable Parity Error */ + flashWREG->FPAROVR = (uint32)((uint32)0x5U << 9U) + | (uint32)((uint32)0x5U << 12U); + + /* set Diag test mode */ + flashWREG->FDIAGCTRL = 0x00050000U | 0x00000007U; + + /* Add parity */ + flashWREG->FPAROVR |= 0x00000100U; + + /* Start Test */ + flashWREG->FDIAGCTRL |= 0x1000000U; + + /* Wait until test done */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + while((flashWREG->FDIAGCTRL & 0x1000000U) == 0x1000000U) + { + }/* Wait */ + + /* Check address Error */ + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + if((flashWREG->FEDACSTATUS & 0x400U) != 0x400U) + { + selftestFailNotification(FMCBUS1PARITYCHECK_FAIL1); + } + else + { + /* clear status register */ + flashWREG->FEDACSTATUS = 0x400U; + + /* check if ESM is flagged */ + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + if((esmREG->SR1[1U] & 0x0000010U) == 0U) + { + selftestFailNotification(FMCBUS1PARITYCHECK_FAIL2); + } + else + { + /* clear ESM flag */ + esmREG->SR1[1U] |= 0x0000010U; + esmREG->SSR2 |= 0x0000010U; + esmREG->EKR = 0x5U; + + /* Stop Diag test mode */ + flashWREG->FDIAGCTRL = regBckupFdiagctrl; + flashWREG->FPAROVR = regBkupFparOvr; + } + } + + /* Read to unfreeze the error address registers */ + flashread = flashWREG->FUNCERRADD; +} + +/* SourceId : SELFTEST_SourceId_042 */ +/* DesignId : SELFTEST_DesignId_011 */ +/* Requirements : HL_SR401 */ +void pbistFail(void) +{ + uint32 PBIST_RAMT, PBIST_FSRA0, PBIST_FSRDL0; + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + PBIST_RAMT = pbistREG->RAMT; + PBIST_FSRA0 = pbistREG->FSRA0; + PBIST_FSRDL0 = pbistREG->FSRDL0; + + if(pbistPortTestStatus((uint32)PBIST_PORT0) != TRUE) + { + memoryPort0TestFailNotification((uint32)((PBIST_RAMT & 0xFF000000U) >> 24U), (uint32)((PBIST_RAMT & 0x00FF0000U) >> 16U),(uint32)PBIST_FSRA0, (uint32)PBIST_FSRDL0); + } + else + { +/* USER CODE BEGIN (77) */ +/* USER CODE END */ +/*SAFETYMCUSW 5 C MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ +/*SAFETYMCUSW 26 S MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ +/*SAFETYMCUSW 28 D MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + for(;;) + { + }/* Wait */ + +/* USER CODE BEGIN (78) */ +/* USER CODE END */ + } +} + +/** @fn void pbistGetConfigValue(pbist_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : SELFTEST_SourceId_043 */ +/* DesignId : SELFTEST_DesignId_034 */ +/* Requirements : HL_SR506 */ +void pbistGetConfigValue(pbist_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_RAMT = PBIST_RAMT_CONFIGVALUE; + config_reg->CONFIG_DLR = PBIST_DLR_CONFIGVALUE; + config_reg->CONFIG_PACT = PBIST_PACT_CONFIGVALUE; + config_reg->CONFIG_PBISTID = PBIST_PBISTID_CONFIGVALUE; + config_reg->CONFIG_OVER = PBIST_OVER_CONFIGVALUE; + config_reg->CONFIG_FSRDL1 = PBIST_FSRDL1_CONFIGVALUE; + config_reg->CONFIG_ROM = PBIST_ROM_CONFIGVALUE; + config_reg->CONFIG_ALGO = PBIST_ALGO_CONFIGVALUE; + config_reg->CONFIG_RINFOL = PBIST_RINFOL_CONFIGVALUE; + config_reg->CONFIG_RINFOU = PBIST_RINFOU_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_RAMT = pbistREG->RAMT; + config_reg->CONFIG_DLR = pbistREG->DLR; + config_reg->CONFIG_PACT = pbistREG->PACT; + config_reg->CONFIG_PBISTID = pbistREG->PBISTID; + config_reg->CONFIG_OVER = pbistREG->OVER; + config_reg->CONFIG_FSRDL1 = pbistREG->FSRDL1; + config_reg->CONFIG_ROM = pbistREG->ROM; + config_reg->CONFIG_ALGO = pbistREG->ALGO; + config_reg->CONFIG_RINFOL = pbistREG->RINFOL; + config_reg->CONFIG_RINFOU = pbistREG->RINFOU; + } +} + +/** @fn void stcGetConfigValue(stc_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : SELFTEST_SourceId_044 */ +/* DesignId : SELFTEST_DesignId_035 */ +/* Requirements : HL_SR506 */ +void stcGetConfigValue(stc_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_STCGCR0 = STC_STCGCR0_CONFIGVALUE; + config_reg->CONFIG_STCGCR1 = STC_STCGCR1_CONFIGVALUE; + config_reg->CONFIG_STCTPR = STC_STCTPR_CONFIGVALUE; + config_reg->CONFIG_STCSCSCR = STC_STCSCSCR_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_STCGCR0 = stcREG->STCGCR0; + config_reg->CONFIG_STCGCR1 = stcREG->STCGCR1; + config_reg->CONFIG_STCTPR = stcREG->STCTPR; + config_reg->CONFIG_STCSCSCR = stcREG->STCSCSCR; + } +} + + +/** @fn void efcGetConfigValue(efc_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : SELFTEST_SourceId_045 */ +/* DesignId : SELFTEST_DesignId_036 */ +/* Requirements : HL_SR506 */ +void efcGetConfigValue(efc_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_BOUNDARY = EFC_BOUNDARY_CONFIGVALUE; + config_reg->CONFIG_PINS = EFC_PINS_CONFIGVALUE; + config_reg->CONFIG_SELFTESTCYCLES = EFC_SELFTESTCYCLES_CONFIGVALUE; + config_reg->CONFIG_SELFTESTSIGN = EFC_SELFTESTSIGN_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_BOUNDARY = efcREG->BOUNDARY; + config_reg->CONFIG_PINS = efcREG->PINS; + config_reg->CONFIG_SELFTESTCYCLES = efcREG->SELF_TEST_CYCLES; + config_reg->CONFIG_SELFTESTSIGN = efcREG->SELF_TEST_SIGN; + } +} + + +/** @fn void ccmr4GetConfigValue(ccmr4_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : SELFTEST_SourceId_046 */ +/* DesignId : SELFTEST_DesignId_037 */ +/* Requirements : HL_SR506 */ +void ccmr4GetConfigValue(ccmr4_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_CCMKEYR = CCMR4_CCMKEYR_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_CCMKEYR = CCMKEYR; + } +} + + +/** @fn void errata_PBIST_4(void) +* @brief Workaround for the Errata PBIST#4. +* +* This function is workaround for Errata PBIST#4. +* This function is designed to initialize the ROMs using the PBIST controller. +* The CPU will configure the PBIST controller to test the PBIST ROM and STC ROM. +* This function should be called at startup after system init before using the ROMs. +* +* @note : This Function uses register's which are not exposed to users through +* TRM , to run custom algorithm. User can use this function as Black box. +* +*/ +void errata_PBIST_4(void) +{ + volatile uint32 i = 0U; + uint8 ROM_count; + sint32 PBIST_wait_done_loop; + uint32 pmuCalibration, pmuCount; + + /* PMU calibration */ + _pmuEnableCountersGlobal_(); + _pmuResetCounters_(); + _pmuStartCounters_(pmuCYCLE_COUNTER); + _pmuStopCounters_(pmuCYCLE_COUNTER); + pmuCalibration=_pmuGetCycleCount_(); + + /* ROM_init Setup using special reserved registers as part of errata fix */ + /* (Only to be used in this function) */ + *(volatile uint32 *)0xFFFF0400U = 0x0000000AU; + *(volatile uint32 *)0xFFFF040CU = 0x0000EE0AU; + + /* Loop for Executing PBIST ROM and STC ROM */ + for (ROM_count = 0U; ROM_count < 2U; ROM_count++) + { + PBIST_wait_done_loop = 0; + + /* Disable PBIST clocks and ROM clock */ + pbistREG->PACT = 0x0U; + + /* PBIST Clocks did not disable */ + if(pbistREG->PACT != 0x0U ) + { + selftestFailNotification(PBISTSELFCHECK_FAIL3); + } + else + { + /* PBIST ROM clock frequency = HCLK frequency /2 */ + /* Disable memory self controller */ + systemREG1->MSTGCR = 0x00000105U; + + /* Disable Memory Initialization controller */ + systemREG1->MINITGCR = 0x5U; + + /* Enable memory self controller */ + systemREG1->MSTGCR = 0x0000010AU; + + /* Clear PBIST Done */ + systemREG1->MSTCGSTAT = 0x1U; + + /* Enable PBIST controller */ + systemREG1->MSINENA = 0x1U; + + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + /*SAFETYMCUSW 134 S MR:12.2 "Wait for few clock cycles (Value of i not used)" */ + /* wait for 32 VBUS clock cycles at least, based on HCLK to VCLK ratio */ + for (i=0U; i<(32U + (32U * 1U)); i++){ /* Wait */ } + + /* Enable PBIST clocks and ROM clock */ + pbistREG->PACT = 0x3U; + + /* CPU control of PBIST */ + pbistREG->DLR = 0x10U; + + /* Load PBIST ALGO to initialize the ROMs */ + *(volatile uint32 *)0xFFFFE400U = 0x00000001U; + *(volatile uint32 *)0xFFFFE440U = 0x00000025U; + *(volatile uint32 *)0xFFFFE404U = 0x62400001U; + *(volatile uint32 *)0xFFFFE444U = 0x00000004U; + *(volatile uint32 *)0xFFFFE408U = 0x00068003U; + *(volatile uint32 *)0xFFFFE448U = 0x00000000U; + *(volatile uint32 *)0xFFFFE40CU = 0x00000004U; + *(volatile uint32 *)0xFFFFE44CU = 0x00006860U; + *(volatile uint32 *)0xFFFFE410U = 0x00000000U; + *(volatile uint32 *)0xFFFFE450U = 0x00000001U; + *(volatile uint32 *)0xFFFFE540U = 0x000003E8U; + *(volatile uint32 *)0xFFFFE550U = 0x00000001U; + *(volatile uint32 *)0xFFFFE530U = 0x00000000U; + + /* SELECT ROM */ + if (ROM_count == 1U) + { + /* SELECT PBIST ROM */ + *(volatile uint32 *)0xFFFFE520U = 0x00000002U; + *(volatile uint32 *)0xFFFFE524U = 0x00000000U; + pbistREG->RAMT = 0x01002008U; + } + else + { + /* SELECT STC ROM */ + *(volatile uint32 *)0xFFFFE520U = 0xFFF0007CU; + *(volatile uint32 *)0xFFFFE524U = 0x0A63FFFFU; + pbistREG->RAMT = 0x02002008U; + } + + /* Setup using special reserved registers as part of errata fix */ + /* (Only to be used in this function) */ + pbistREG->rsvd1[4U] = 1U; + pbistREG->rsvd1[0U] = 3U; + + /* Start PMU counter */ + _pmuResetCounters_(); + _pmuStartCounters_(pmuCYCLE_COUNTER); + + /* PBIST_RUN */ + pbistREG->rsvd1[1U] = 1U; + + /* wait until memory self-test done is indicated */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((systemREG1->MSTCGSTAT & 0x1U) != 0x1U) + { + }/* Wait */ + + /* Stop PMU counter */ + _pmuStopCounters_(pmuCYCLE_COUNTER); + + /* Get CPU cycle count */ + pmuCount =_pmuGetCycleCount_(); + + /* Calculate PBIST test complete time in ROM Clock */ + /* 2 - Divide value ( Default is 2 in HALCoGen) */ + /* 1000 = 0x3E8 - Test Loop count in ROM Algorithm */ + pmuCount = pmuCount - pmuCalibration; + PBIST_wait_done_loop = ((sint32)pmuCount/2) - 1000; + + /* Check PBIST status results (Address, Status, Count, etc...) */ + if ((pbistREG->FSRA0 | pbistREG->FSRA1 | pbistREG->FSRDL0 | pbistREG->rsvd3 | + pbistREG->FSRDL1 | pbistREG->rsvd4[0U] | pbistREG->rsvd4[1U]) != 0U) + { + /* PBIST Failure for the Algorithm chosen above */ + selftestFailNotification(PBISTSELFCHECK_FAIL1); + } + + /* Check that the algorithm executed in the expected amount of time. */ + /* This time is dependent on the ROMCLKDIV selected */ + if ((PBIST_wait_done_loop <= 20) || (PBIST_wait_done_loop >= 200) ) + { + selftestFailNotification(PBISTSELFCHECK_FAIL2); + } + + /* Disable PBIST clocks and ROM clock */ + pbistREG->PACT = 0x0U; + + /* Disable PBIST */ + systemREG1->MSTGCR &= 0xFFFFFFF0U; + systemREG1->MSTGCR |= 0x5U; + } + } /* ROM Loop */ + + /* ROM restore default setup */ + /* (must be completed before continuing) */ + *(volatile uint32 *)0xFFFF040CU = 0x0000AA0AU; + *(volatile uint32 *)0xFFFF040CU = 0x0000AA05U; + *(volatile uint32 *)0xFFFF0400U = 0x00000005U; + + _pmuDisableCountersGlobal_(); +} + + +/** @fn void enableParity(void) +* @brief Enable peripheral RAM parity +* +* This function enables RAM parity for all peripherals for which RAM parity check is enabled. +* This function is called before memoryInit in the startup +* +*/ +#pragma WEAK(enableParity) +void enableParity(void) +{ + DMA_PARCR = 0xAU; /* Enable DMA RAM parity */ + VIM_PARCTL = 0xAU; /* Enable VIM RAM parity */ + canREG1->CTL = ((uint32)0xAU << 10U) | 1U; /* Enable CAN1 RAM parity */ + canREG2->CTL = ((uint32)0xAU << 10U) | 1U; /* Enable CAN2 RAM parity */ + canREG3->CTL = ((uint32)0xAU << 10U) | 1U; /* Enable CAN3 RAM parity */ + adcREG1->PARCR = 0xAU; /* Enable ADC1 RAM parity */ + adcREG2->PARCR = 0xAU; /* Enable ADC2 RAM parity */ + hetREG1->PCR = 0xAU; /* Enable HET1 RAM parity */ + htuREG1->PCR = 0xAU; /* Enable HTU1 RAM parity */ + hetREG2->PCR = 0xAU; /* Enable HET2 RAM parity */ + htuREG2->PCR = 0xAU; /* Enable HTU2 RAM parity */ +} + +/** @fn void disableParity(void) +* @brief Disable peripheral RAM parity +* +* This function disables RAM parity for all peripherals for which RAM parity check is enabled. +* This function is called after memoryInit in the startup +* +*/ +#pragma WEAK(disableParity) +void disableParity(void) +{ + DMA_PARCR = 0x5U; /* Disable DMA RAM parity */ + VIM_PARCTL = 0x5U; /* Disable VIM RAM parity */ + canREG1->CTL = ((uint32)0x5U << 10U) | 1U; /* Disable CAN1 RAM parity */ + canREG2->CTL = ((uint32)0x5U << 10U) | 1U; /* Disable CAN2 RAM parity */ + canREG3->CTL = ((uint32)0x5U << 10U) | 1U; /* Disable CAN3 RAM parity */ + adcREG1->PARCR = 0x5U; /* Disable ADC1 RAM parity */ + adcREG2->PARCR = 0x5U; /* Disable ADC2 RAM parity */ + hetREG1->PCR = 0x5U; /* Disable HET1 RAM parity */ + htuREG1->PCR = 0x5U; /* Disable HTU1 RAM parity */ + hetREG2->PCR = 0x5U; /* Disable HET2 RAM parity */ + htuREG2->PCR = 0x5U; /* Disable HTU2 RAM parity */ +} diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_startup.c b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_startup.c index 5c0b31ef..783bfb83 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/sys_startup.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/sys_startup.c @@ -1,672 +1,672 @@ -/** @file sys_startup.c -* @brief Startup Source File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - Include Files -* - Type Definitions -* - External Functions -* - VIM RAM Setup -* - Startup Routine -* . -* which are relevant for the Startup. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - - -/* Include Files */ - -#include "sys_common.h" -#include "system.h" -#include "sys_vim.h" -#include "sys_core.h" -#include "sys_selftest.h" -#include "esm.h" -#include "mibspi.h" - -#include "errata_SSWF021_45.h" -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - - -/* External Functions */ -/*SAFETYMCUSW 218 S MR:20.2 "Functions from library" */ -extern void __TI_auto_init(void); -/*SAFETYMCUSW 354 S MR:NA " Startup code(main should be declared by the user)" */ -extern int main(void); -/*SAFETYMCUSW 122 S MR:20.11 "Startup code(exit and abort need to be present)" */ -/*SAFETYMCUSW 354 S MR:NA " Startup code(Extern declaration present in the library)" */ -extern void exit(int _status); - - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ -void handlePLLLockFail(void); -/* Startup Routine */ -void _c_int00(void); -#define PLL_RETRIES 5U -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - -#pragma CODE_STATE(_c_int00, 32) -#pragma INTERRUPT(_c_int00, RESET) -#pragma WEAK(_c_int00) - -/* SourceId : STARTUP_SourceId_001 */ -/* DesignId : STARTUP_DesignId_001 */ -/* Requirements : HL_SR508 */ -void _c_int00(void) -{ -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - - /* Initialize Core Registers to avoid CCM Error */ - _coreInitRegisters_(); - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - - /* Initialize Stack Pointers */ - _coreInitStackPointer_(); - -/* USER CODE BEGIN (7) */ -/* USER CODE END */ - - /* Enable CPU Event Export */ - /* This allows the CPU to signal any single-bit or double-bit errors detected - * by its ECC logic for accesses to program flash or data RAM. - */ - _coreEnableEventBusExport_(); - -/* USER CODE BEGIN (11) */ -/* USER CODE END */ - - /* Workaround for Errata CORTEXR4 66 */ - _errata_CORTEXR4_66_(); - - /* Workaround for Errata CORTEXR4 57 */ - _errata_CORTEXR4_57_(); - - /* Reset handler: the following instructions read from the system exception status register - * to identify the cause of the CPU reset. - */ - - /* check for power-on reset condition */ - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - if ((SYS_EXCEPTION & POWERON_RESET) != 0U) - { -/* USER CODE BEGIN (12) */ -/* USER CODE END */ - /* Add condition to check whether PLL can be started successfully */ - if (_errata_SSWF021_45_both_plls(PLL_RETRIES) != 0U) - { - /* Put system in a safe state */ - handlePLLLockFail(); - } - /* clear all reset status flags */ - SYS_EXCEPTION = 0xFFFFU; - -/* USER CODE BEGIN (13) */ -/* USER CODE END */ -/* USER CODE BEGIN (14) */ -/* USER CODE END */ -/* USER CODE BEGIN (15) */ -/* USER CODE END */ - /* continue with normal start-up sequence */ - } - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - else if ((SYS_EXCEPTION & OSC_FAILURE_RESET) != 0U) - { - /* Reset caused due to oscillator failure. - Add user code here to handle oscillator failure */ - -/* USER CODE BEGIN (16) */ -/* USER CODE END */ - } - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - else if ((SYS_EXCEPTION & WATCHDOG_RESET) !=0U) - { - /* Reset caused due - * 1) windowed watchdog violation - Add user code here to handle watchdog violation. - * 2) ICEPICK Reset - After loading code via CCS / System Reset through CCS - */ - /* Check the WatchDog Status register */ - if(WATCHDOG_STATUS != 0U) - { - /* Add user code here to handle watchdog violation. */ -/* USER CODE BEGIN (17) */ -/* USER CODE END */ - - /* Clear the Watchdog reset flag in Exception Status register */ - SYS_EXCEPTION = WATCHDOG_RESET; - -/* USER CODE BEGIN (18) */ -/* USER CODE END */ - } - else - { - /* Clear the ICEPICK reset flag in Exception Status register */ - SYS_EXCEPTION = ICEPICK_RESET; -/* USER CODE BEGIN (19) */ -/* USER CODE END */ - } - } - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - else if ((SYS_EXCEPTION & CPU_RESET) !=0U) - { - /* Reset caused due to CPU reset. - CPU reset can be caused by CPU self-test completion, or - by toggling the "CPU RESET" bit of the CPU Reset Control Register. */ - -/* USER CODE BEGIN (20) */ -/* USER CODE END */ - - /* clear all reset status flags */ - SYS_EXCEPTION = CPU_RESET; - -/* USER CODE BEGIN (21) */ -/* USER CODE END */ - - } - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - else if ((SYS_EXCEPTION & SW_RESET) != 0U) - { - /* Reset caused due to software reset. - Add user code to handle software reset. */ - -/* USER CODE BEGIN (22) */ -/* USER CODE END */ - } - else - { - /* Reset caused by nRST being driven low externally. - Add user code to handle external reset. */ - -/* USER CODE BEGIN (23) */ -/* USER CODE END */ - } - - /* Check if there were ESM group3 errors during power-up. - * These could occur during eFuse auto-load or during reads from flash OTP - * during power-up. Device operation is not reliable and not recommended - * in this case. - * An ESM group3 error only drives the nERROR pin low. An external circuit - * that monitors the nERROR pin must take the appropriate action to ensure that - * the system is placed in a safe state, as determined by the application. - */ - if ((esmREG->SR1[2]) != 0U) - { -/* USER CODE BEGIN (24) */ -/* USER CODE END */ - /*SAFETYMCUSW 5 C MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - /*SAFETYMCUSW 26 S MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - /*SAFETYMCUSW 28 D MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ - for(;;) - { - }/* Wait */ -/* USER CODE BEGIN (25) */ -/* USER CODE END */ - } - -/* USER CODE BEGIN (26) */ -/* USER CODE END */ - - /* Initialize System - Clock, Flash settings with Efuse self check */ - systemInit(); - - /* Workaround for Errata PBIST#4 */ - errata_PBIST_4(); - - /* Run a diagnostic check on the memory self-test controller. - * This function chooses a RAM test algorithm and runs it on an on-chip ROM. - * The memory self-test is expected to fail. The function ensures that the PBIST controller - * is capable of detecting and indicating a memory self-test failure. - */ - pbistSelfCheck(); - - /* Run PBIST on STC ROM */ - pbistRun((uint32)STC_ROM_PBIST_RAM_GROUP, - ((uint32)PBIST_TripleReadSlow | (uint32)PBIST_TripleReadFast)); - - /* Wait for PBIST for STC ROM to be completed */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while(pbistIsTestCompleted() != TRUE) - { - }/* Wait */ - - /* Check if PBIST on STC ROM passed the self-test */ - if( pbistIsTestPassed() != TRUE) - { - /* PBIST and STC ROM failed the self-test. - * Need custom handler to check the memory failure - * and to take the appropriate next step. - */ - - pbistFail(); - - } - - /* Disable PBIST clocks and disable memory self-test mode */ - pbistStop(); - - /* Run PBIST on PBIST ROM */ - pbistRun((uint32)PBIST_ROM_PBIST_RAM_GROUP, - ((uint32)PBIST_TripleReadSlow | (uint32)PBIST_TripleReadFast)); - - /* Wait for PBIST for PBIST ROM to be completed */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while(pbistIsTestCompleted() != TRUE) - { - }/* Wait */ - - /* Check if PBIST ROM passed the self-test */ - if( pbistIsTestPassed() != TRUE) - { - /* PBIST and STC ROM failed the self-test. - * Need custom handler to check the memory failure - * and to take the appropriate next step. - */ - - pbistFail(); - - } - - /* Disable PBIST clocks and disable memory self-test mode */ - pbistStop(); -/* USER CODE BEGIN (29) */ -/* USER CODE END */ - -/* USER CODE BEGIN (31) */ -/* USER CODE END */ - - /* Disable RAM ECC before doing PBIST for Main RAM */ - _coreDisableRamEcc_(); - - /* Run PBIST on CPU RAM. - * The PBIST controller needs to be configured separately for single-port and dual-port SRAMs. - * The CPU RAM is a single-port memory. The actual "RAM Group" for all on-chip SRAMs is defined in the - * device datasheet. - */ - pbistRun(0x00300020U, /* ESRAM Single Port PBIST */ - (uint32)PBIST_March13N_SP); - -/* USER CODE BEGIN (32) */ -/* USER CODE END */ - - /* Wait for PBIST for CPU RAM to be completed */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while(pbistIsTestCompleted() != TRUE) - { - }/* Wait */ - - -/* USER CODE BEGIN (33) */ -/* USER CODE END */ - - /* Check if CPU RAM passed the self-test */ - if( pbistIsTestPassed() != TRUE) - { - /* CPU RAM failed the self-test. - * Need custom handler to check the memory failure - * and to take the appropriate next step. - */ -/* USER CODE BEGIN (34) */ -/* USER CODE END */ - - pbistFail(); - -/* USER CODE BEGIN (35) */ -/* USER CODE END */ - } - -/* USER CODE BEGIN (36) */ -/* USER CODE END */ - - /* Disable PBIST clocks and disable memory self-test mode */ - pbistStop(); - - -/* USER CODE BEGIN (37) */ -/* USER CODE END */ - - - /* Initialize CPU RAM. - * This function uses the system module's hardware for auto-initialization of memories and their - * associated protection schemes. The CPU RAM is initialized by setting bit 0 of the MSIENA register. - * Hence the value 0x1 passed to the function. - * This function will initialize the entire CPU RAM and the corresponding ECC locations. - */ - memoryInit(0x1U); - -/* USER CODE BEGIN (38) */ -/* USER CODE END */ - - /* Enable ECC checking for TCRAM accesses. - * This function enables the CPU's ECC logic for accesses to B0TCM and B1TCM. - */ - _coreEnableRamEcc_(); - -/* USER CODE BEGIN (39) */ -/* USER CODE END */ - - /* Start PBIST on all dual-port memories */ - /* NOTE : Please Refer DEVICE DATASHEET for the list of Supported Dual port Memories. - PBIST test performed only on the user selected memories in HALCoGen's GUI SAFETY INIT tab. - */ - pbistRun( (uint32)0x00000000U /* EMAC RAM */ - | (uint32)0x00000000U /* USB RAM */ - | (uint32)0x00000800U /* DMA RAM */ - | (uint32)0x00000200U /* VIM RAM */ - | (uint32)0x00000040U /* MIBSPI1 RAM */ - | (uint32)0x00000080U /* MIBSPI3 RAM */ - | (uint32)0x00000100U /* MIBSPI5 RAM */ - | (uint32)0x00000004U /* CAN1 RAM */ - | (uint32)0x00000008U /* CAN2 RAM */ - | (uint32)0x00000010U /* CAN3 RAM */ - | (uint32)0x00000400U /* ADC1 RAM */ - | (uint32)0x00020000U /* ADC2 RAM */ - | (uint32)0x00001000U /* HET1 RAM */ - | (uint32)0x00040000U /* HET2 RAM */ - | (uint32)0x00002000U /* HTU1 RAM */ - | (uint32)0x00080000U /* HTU2 RAM */ - | (uint32)0x00000000U /* RTP RAM */ - | (uint32)0x00000000U /* FRAY RAM */ - ,(uint32) PBIST_March13N_DP); - -/* USER CODE BEGIN (40) */ -/* USER CODE END */ - - /* Test the CPU ECC mechanism for RAM accesses. - * The checkBxRAMECC functions cause deliberate single-bit and double-bit errors in TCRAM accesses - * by corrupting 1 or 2 bits in the ECC. Reading from the TCRAM location with a 2-bit error - * in the ECC causes a data abort exception. The data abort handler is written to look for - * deliberately caused exception and to return the code execution to the instruction - * following the one that caused the abort. - */ - checkRAMECC(); - -/* USER CODE BEGIN (41) */ -/* USER CODE END */ -/* USER CODE BEGIN (43) */ -/* USER CODE END */ - - /* Wait for PBIST for CPU RAM to be completed */ - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while(pbistIsTestCompleted() != TRUE) - { - }/* Wait */ - - -/* USER CODE BEGIN (44) */ -/* USER CODE END */ - - /* Check if CPU RAM passed the self-test */ - if( pbistIsTestPassed() != TRUE) - { - -/* USER CODE BEGIN (45) */ -/* USER CODE END */ - - /* CPU RAM failed the self-test. - * Need custom handler to check the memory failure - * and to take the appropriate next step. - */ -/* USER CODE BEGIN (46) */ -/* USER CODE END */ - - pbistFail(); - -/* USER CODE BEGIN (47) */ -/* USER CODE END */ - } - -/* USER CODE BEGIN (48) */ -/* USER CODE END */ - - /* Disable PBIST clocks and disable memory self-test mode */ - pbistStop(); - -/* USER CODE BEGIN (55) */ -/* USER CODE END */ - - /* Release the MibSPI1 modules from local reset. - * This will cause the MibSPI1 RAMs to get initialized along with the parity memory. - */ - mibspiREG1->GCR0 = 0x1U; - - /* Release the MibSPI3 modules from local reset. - * This will cause the MibSPI3 RAMs to get initialized along with the parity memory. - */ - mibspiREG3->GCR0 = 0x1U; - - /* Release the MibSPI5 modules from local reset. - * This will cause the MibSPI5 RAMs to get initialized along with the parity memory. - */ - mibspiREG5->GCR0 = 0x1U; - -/* USER CODE BEGIN (56) */ -/* USER CODE END */ - - /* Enable parity on selected RAMs */ - enableParity(); - - /* Initialize all on-chip SRAMs except for MibSPIx RAMs - * The MibSPIx modules have their own auto-initialization mechanism which is triggered - * as soon as the modules are brought out of local reset. - */ - /* The system module auto-init will hang on the MibSPI RAM if the module is still in local reset. - */ - /* NOTE : Please Refer DEVICE DATASHEET for the list of Supported Memories and their channel numbers. - Memory Initialization is perfomed only on the user selected memories in HALCoGen's GUI SAFETY INIT tab. - */ - memoryInit( (uint32)((uint32)1U << 1U) /* DMA RAM */ - | (uint32)((uint32)1U << 2U) /* VIM RAM */ - | (uint32)((uint32)1U << 5U) /* CAN1 RAM */ - | (uint32)((uint32)1U << 6U) /* CAN2 RAM */ - | (uint32)((uint32)1U << 10U) /* CAN3 RAM */ - | (uint32)((uint32)1U << 8U) /* ADC1 RAM */ - | (uint32)((uint32)1U << 14U) /* ADC2 RAM */ - | (uint32)((uint32)1U << 3U) /* HET1 RAM */ - | (uint32)((uint32)1U << 4U) /* HTU1 RAM */ - | (uint32)((uint32)1U << 15U) /* HET2 RAM */ - | (uint32)((uint32)1U << 16U) /* HTU2 RAM */ - ); - - /* Disable parity */ - disableParity(); - - /* Test the parity protection mechanism for peripheral RAMs - NOTE : Please Refer DEVICE DATASHEET for the list of Supported Memories with parity. - Parity Self check is perfomed only on the user selected memories in HALCoGen's GUI SAFETY INIT tab. - */ - -/* USER CODE BEGIN (57) */ -/* USER CODE END */ - - het1ParityCheck(); - -/* USER CODE BEGIN (58) */ -/* USER CODE END */ - - htu1ParityCheck(); - -/* USER CODE BEGIN (59) */ -/* USER CODE END */ - - het2ParityCheck(); - -/* USER CODE BEGIN (60) */ -/* USER CODE END */ - - htu2ParityCheck(); - -/* USER CODE BEGIN (61) */ -/* USER CODE END */ - - adc1ParityCheck(); - -/* USER CODE BEGIN (62) */ -/* USER CODE END */ - - adc2ParityCheck(); - -/* USER CODE BEGIN (63) */ -/* USER CODE END */ - - can1ParityCheck(); - -/* USER CODE BEGIN (64) */ -/* USER CODE END */ - - can2ParityCheck(); - -/* USER CODE BEGIN (65) */ -/* USER CODE END */ - - can3ParityCheck(); - -/* USER CODE BEGIN (66) */ -/* USER CODE END */ - - vimParityCheck(); - -/* USER CODE BEGIN (67) */ -/* USER CODE END */ - - dmaParityCheck(); - - -/* USER CODE BEGIN (68) */ -/* USER CODE END */ - -/*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((mibspiREG1->FLG & 0x01000000U) == 0x01000000U) - { - }/* Wait */ - /* wait for MibSPI1 RAM to complete initialization */ -/*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((mibspiREG3->FLG & 0x01000000U) == 0x01000000U) - { - }/* Wait */ - /* wait for MibSPI3 RAM to complete initialization */ -/*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while ((mibspiREG5->FLG & 0x01000000U) == 0x01000000U) - { - }/* Wait */ - /* wait for MibSPI5 RAM to complete initialization */ - -/* USER CODE BEGIN (69) */ -/* USER CODE END */ - - mibspi1ParityCheck(); - -/* USER CODE BEGIN (70) */ -/* USER CODE END */ - - mibspi3ParityCheck(); - -/* USER CODE BEGIN (71) */ -/* USER CODE END */ - - mibspi5ParityCheck(); - - -/* USER CODE BEGIN (72) */ -/* USER CODE END */ - - /* Enable IRQ offset via Vic controller */ - _coreEnableIrqVicOffset_(); - - -/* USER CODE BEGIN (73) */ -/* USER CODE END */ - - /* Initialize VIM table */ - vimInit(); - -/* USER CODE BEGIN (74) */ -/* USER CODE END */ - - /* Configure system response to error conditions signaled to the ESM group1 */ - /* This function can be configured from the ESM tab of HALCoGen */ - esmInit(); - /* initialize copy table */ - __TI_auto_init(); -/* USER CODE BEGIN (75) */ -/* USER CODE END */ - - /* call the application */ -/*SAFETYMCUSW 296 S MR:8.6 "Startup code(library functions at block scope)" */ -/*SAFETYMCUSW 326 S MR:8.2 "Startup code(Declaration for main in library)" */ -/*SAFETYMCUSW 60 D MR:8.8 "Startup code(Declaration for main in library;Only doing an extern for the same)" */ - main(); - -/* USER CODE BEGIN (76) */ -/* USER CODE END */ -/*SAFETYMCUSW 122 S MR:20.11 "Startup code(exit and abort need to be present)" */ - exit(0); - -/* USER CODE BEGIN (77) */ -/* USER CODE END */ -} - -/* USER CODE BEGIN (78) */ -/* USER CODE END */ -/** @fn void handlePLLLockFail(void) -* @brief This function handles PLL lock fail. -*/ -void handlePLLLockFail(void) -{ -/* USER CODE BEGIN (79) */ -/* USER CODE END */ - while(1) - { - - } -/* USER CODE BEGIN (80) */ -/* USER CODE END */ -} -/* USER CODE BEGIN (81) */ -/* USER CODE END */ +/** @file sys_startup.c +* @brief Startup Source File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - Include Files +* - Type Definitions +* - External Functions +* - VIM RAM Setup +* - Startup Routine +* . +* which are relevant for the Startup. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + + +/* Include Files */ + +#include "sys_common.h" +#include "system.h" +#include "sys_vim.h" +#include "sys_core.h" +#include "sys_selftest.h" +#include "esm.h" +#include "mibspi.h" + +#include "errata_SSWF021_45.h" +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + + +/* External Functions */ +/*SAFETYMCUSW 218 S MR:20.2 "Functions from library" */ +extern void __TI_auto_init(void); +/*SAFETYMCUSW 354 S MR:NA " Startup code(main should be declared by the user)" */ +extern int main(void); +/*SAFETYMCUSW 122 S MR:20.11 "Startup code(exit and abort need to be present)" */ +/*SAFETYMCUSW 354 S MR:NA " Startup code(Extern declaration present in the library)" */ +extern void exit(int _status); + + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ +void handlePLLLockFail(void); +/* Startup Routine */ +void _c_int00(void); +#define PLL_RETRIES 5U +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + +#pragma CODE_STATE(_c_int00, 32) +#pragma INTERRUPT(_c_int00, RESET) +#pragma WEAK(_c_int00) + +/* SourceId : STARTUP_SourceId_001 */ +/* DesignId : STARTUP_DesignId_001 */ +/* Requirements : HL_SR508 */ +void _c_int00(void) +{ +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + + /* Initialize Core Registers to avoid CCM Error */ + _coreInitRegisters_(); + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + + /* Initialize Stack Pointers */ + _coreInitStackPointer_(); + +/* USER CODE BEGIN (7) */ +/* USER CODE END */ + + /* Enable CPU Event Export */ + /* This allows the CPU to signal any single-bit or double-bit errors detected + * by its ECC logic for accesses to program flash or data RAM. + */ + _coreEnableEventBusExport_(); + +/* USER CODE BEGIN (11) */ +/* USER CODE END */ + + /* Workaround for Errata CORTEXR4 66 */ + _errata_CORTEXR4_66_(); + + /* Workaround for Errata CORTEXR4 57 */ + _errata_CORTEXR4_57_(); + + /* Reset handler: the following instructions read from the system exception status register + * to identify the cause of the CPU reset. + */ + + /* check for power-on reset condition */ + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + if ((SYS_EXCEPTION & POWERON_RESET) != 0U) + { +/* USER CODE BEGIN (12) */ +/* USER CODE END */ + /* Add condition to check whether PLL can be started successfully */ + if (_errata_SSWF021_45_both_plls(PLL_RETRIES) != 0U) + { + /* Put system in a safe state */ + handlePLLLockFail(); + } + /* clear all reset status flags */ + SYS_EXCEPTION = 0xFFFFU; + +/* USER CODE BEGIN (13) */ +/* USER CODE END */ +/* USER CODE BEGIN (14) */ +/* USER CODE END */ +/* USER CODE BEGIN (15) */ +/* USER CODE END */ + /* continue with normal start-up sequence */ + } + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + else if ((SYS_EXCEPTION & OSC_FAILURE_RESET) != 0U) + { + /* Reset caused due to oscillator failure. + Add user code here to handle oscillator failure */ + +/* USER CODE BEGIN (16) */ +/* USER CODE END */ + } + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + else if ((SYS_EXCEPTION & WATCHDOG_RESET) !=0U) + { + /* Reset caused due + * 1) windowed watchdog violation - Add user code here to handle watchdog violation. + * 2) ICEPICK Reset - After loading code via CCS / System Reset through CCS + */ + /* Check the WatchDog Status register */ + if(WATCHDOG_STATUS != 0U) + { + /* Add user code here to handle watchdog violation. */ +/* USER CODE BEGIN (17) */ +/* USER CODE END */ + + /* Clear the Watchdog reset flag in Exception Status register */ + SYS_EXCEPTION = WATCHDOG_RESET; + +/* USER CODE BEGIN (18) */ +/* USER CODE END */ + } + else + { + /* Clear the ICEPICK reset flag in Exception Status register */ + SYS_EXCEPTION = ICEPICK_RESET; +/* USER CODE BEGIN (19) */ +/* USER CODE END */ + } + } + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + else if ((SYS_EXCEPTION & CPU_RESET) !=0U) + { + /* Reset caused due to CPU reset. + CPU reset can be caused by CPU self-test completion, or + by toggling the "CPU RESET" bit of the CPU Reset Control Register. */ + +/* USER CODE BEGIN (20) */ +/* USER CODE END */ + + /* clear all reset status flags */ + SYS_EXCEPTION = CPU_RESET; + +/* USER CODE BEGIN (21) */ +/* USER CODE END */ + + } + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + else if ((SYS_EXCEPTION & SW_RESET) != 0U) + { + /* Reset caused due to software reset. + Add user code to handle software reset. */ + +/* USER CODE BEGIN (22) */ +/* USER CODE END */ + } + else + { + /* Reset caused by nRST being driven low externally. + Add user code to handle external reset. */ + +/* USER CODE BEGIN (23) */ +/* USER CODE END */ + } + + /* Check if there were ESM group3 errors during power-up. + * These could occur during eFuse auto-load or during reads from flash OTP + * during power-up. Device operation is not reliable and not recommended + * in this case. + * An ESM group3 error only drives the nERROR pin low. An external circuit + * that monitors the nERROR pin must take the appropriate action to ensure that + * the system is placed in a safe state, as determined by the application. + */ + if ((esmREG->SR1[2]) != 0U) + { +/* USER CODE BEGIN (24) */ +/* USER CODE END */ + /*SAFETYMCUSW 5 C MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + /*SAFETYMCUSW 26 S MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + /*SAFETYMCUSW 28 D MR:NA "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ + for(;;) + { + }/* Wait */ +/* USER CODE BEGIN (25) */ +/* USER CODE END */ + } + +/* USER CODE BEGIN (26) */ +/* USER CODE END */ + + /* Initialize System - Clock, Flash settings with Efuse self check */ + systemInit(); + + /* Workaround for Errata PBIST#4 */ + errata_PBIST_4(); + + /* Run a diagnostic check on the memory self-test controller. + * This function chooses a RAM test algorithm and runs it on an on-chip ROM. + * The memory self-test is expected to fail. The function ensures that the PBIST controller + * is capable of detecting and indicating a memory self-test failure. + */ + pbistSelfCheck(); + + /* Run PBIST on STC ROM */ + pbistRun((uint32)STC_ROM_PBIST_RAM_GROUP, + ((uint32)PBIST_TripleReadSlow | (uint32)PBIST_TripleReadFast)); + + /* Wait for PBIST for STC ROM to be completed */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while(pbistIsTestCompleted() != TRUE) + { + }/* Wait */ + + /* Check if PBIST on STC ROM passed the self-test */ + if( pbistIsTestPassed() != TRUE) + { + /* PBIST and STC ROM failed the self-test. + * Need custom handler to check the memory failure + * and to take the appropriate next step. + */ + + pbistFail(); + + } + + /* Disable PBIST clocks and disable memory self-test mode */ + pbistStop(); + + /* Run PBIST on PBIST ROM */ + pbistRun((uint32)PBIST_ROM_PBIST_RAM_GROUP, + ((uint32)PBIST_TripleReadSlow | (uint32)PBIST_TripleReadFast)); + + /* Wait for PBIST for PBIST ROM to be completed */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while(pbistIsTestCompleted() != TRUE) + { + }/* Wait */ + + /* Check if PBIST ROM passed the self-test */ + if( pbistIsTestPassed() != TRUE) + { + /* PBIST and STC ROM failed the self-test. + * Need custom handler to check the memory failure + * and to take the appropriate next step. + */ + + pbistFail(); + + } + + /* Disable PBIST clocks and disable memory self-test mode */ + pbistStop(); +/* USER CODE BEGIN (29) */ +/* USER CODE END */ + +/* USER CODE BEGIN (31) */ +/* USER CODE END */ + + /* Disable RAM ECC before doing PBIST for Main RAM */ + _coreDisableRamEcc_(); + + /* Run PBIST on CPU RAM. + * The PBIST controller needs to be configured separately for single-port and dual-port SRAMs. + * The CPU RAM is a single-port memory. The actual "RAM Group" for all on-chip SRAMs is defined in the + * device datasheet. + */ + pbistRun(0x00300020U, /* ESRAM Single Port PBIST */ + (uint32)PBIST_March13N_SP); + +/* USER CODE BEGIN (32) */ +/* USER CODE END */ + + /* Wait for PBIST for CPU RAM to be completed */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while(pbistIsTestCompleted() != TRUE) + { + }/* Wait */ + + +/* USER CODE BEGIN (33) */ +/* USER CODE END */ + + /* Check if CPU RAM passed the self-test */ + if( pbistIsTestPassed() != TRUE) + { + /* CPU RAM failed the self-test. + * Need custom handler to check the memory failure + * and to take the appropriate next step. + */ +/* USER CODE BEGIN (34) */ +/* USER CODE END */ + + pbistFail(); + +/* USER CODE BEGIN (35) */ +/* USER CODE END */ + } + +/* USER CODE BEGIN (36) */ +/* USER CODE END */ + + /* Disable PBIST clocks and disable memory self-test mode */ + pbistStop(); + + +/* USER CODE BEGIN (37) */ +/* USER CODE END */ + + + /* Initialize CPU RAM. + * This function uses the system module's hardware for auto-initialization of memories and their + * associated protection schemes. The CPU RAM is initialized by setting bit 0 of the MSIENA register. + * Hence the value 0x1 passed to the function. + * This function will initialize the entire CPU RAM and the corresponding ECC locations. + */ + memoryInit(0x1U); + +/* USER CODE BEGIN (38) */ +/* USER CODE END */ + + /* Enable ECC checking for TCRAM accesses. + * This function enables the CPU's ECC logic for accesses to B0TCM and B1TCM. + */ + _coreEnableRamEcc_(); + +/* USER CODE BEGIN (39) */ +/* USER CODE END */ + + /* Start PBIST on all dual-port memories */ + /* NOTE : Please Refer DEVICE DATASHEET for the list of Supported Dual port Memories. + PBIST test performed only on the user selected memories in HALCoGen's GUI SAFETY INIT tab. + */ + pbistRun( (uint32)0x00000000U /* EMAC RAM */ + | (uint32)0x00000000U /* USB RAM */ + | (uint32)0x00000800U /* DMA RAM */ + | (uint32)0x00000200U /* VIM RAM */ + | (uint32)0x00000040U /* MIBSPI1 RAM */ + | (uint32)0x00000080U /* MIBSPI3 RAM */ + | (uint32)0x00000100U /* MIBSPI5 RAM */ + | (uint32)0x00000004U /* CAN1 RAM */ + | (uint32)0x00000008U /* CAN2 RAM */ + | (uint32)0x00000010U /* CAN3 RAM */ + | (uint32)0x00000400U /* ADC1 RAM */ + | (uint32)0x00020000U /* ADC2 RAM */ + | (uint32)0x00001000U /* HET1 RAM */ + | (uint32)0x00040000U /* HET2 RAM */ + | (uint32)0x00002000U /* HTU1 RAM */ + | (uint32)0x00080000U /* HTU2 RAM */ + | (uint32)0x00000000U /* RTP RAM */ + | (uint32)0x00000000U /* FRAY RAM */ + ,(uint32) PBIST_March13N_DP); + +/* USER CODE BEGIN (40) */ +/* USER CODE END */ + + /* Test the CPU ECC mechanism for RAM accesses. + * The checkBxRAMECC functions cause deliberate single-bit and double-bit errors in TCRAM accesses + * by corrupting 1 or 2 bits in the ECC. Reading from the TCRAM location with a 2-bit error + * in the ECC causes a data abort exception. The data abort handler is written to look for + * deliberately caused exception and to return the code execution to the instruction + * following the one that caused the abort. + */ + checkRAMECC(); + +/* USER CODE BEGIN (41) */ +/* USER CODE END */ +/* USER CODE BEGIN (43) */ +/* USER CODE END */ + + /* Wait for PBIST for CPU RAM to be completed */ + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while(pbistIsTestCompleted() != TRUE) + { + }/* Wait */ + + +/* USER CODE BEGIN (44) */ +/* USER CODE END */ + + /* Check if CPU RAM passed the self-test */ + if( pbistIsTestPassed() != TRUE) + { + +/* USER CODE BEGIN (45) */ +/* USER CODE END */ + + /* CPU RAM failed the self-test. + * Need custom handler to check the memory failure + * and to take the appropriate next step. + */ +/* USER CODE BEGIN (46) */ +/* USER CODE END */ + + pbistFail(); + +/* USER CODE BEGIN (47) */ +/* USER CODE END */ + } + +/* USER CODE BEGIN (48) */ +/* USER CODE END */ + + /* Disable PBIST clocks and disable memory self-test mode */ + pbistStop(); + +/* USER CODE BEGIN (55) */ +/* USER CODE END */ + + /* Release the MibSPI1 modules from local reset. + * This will cause the MibSPI1 RAMs to get initialized along with the parity memory. + */ + mibspiREG1->GCR0 = 0x1U; + + /* Release the MibSPI3 modules from local reset. + * This will cause the MibSPI3 RAMs to get initialized along with the parity memory. + */ + mibspiREG3->GCR0 = 0x1U; + + /* Release the MibSPI5 modules from local reset. + * This will cause the MibSPI5 RAMs to get initialized along with the parity memory. + */ + mibspiREG5->GCR0 = 0x1U; + +/* USER CODE BEGIN (56) */ +/* USER CODE END */ + + /* Enable parity on selected RAMs */ + enableParity(); + + /* Initialize all on-chip SRAMs except for MibSPIx RAMs + * The MibSPIx modules have their own auto-initialization mechanism which is triggered + * as soon as the modules are brought out of local reset. + */ + /* The system module auto-init will hang on the MibSPI RAM if the module is still in local reset. + */ + /* NOTE : Please Refer DEVICE DATASHEET for the list of Supported Memories and their channel numbers. + Memory Initialization is perfomed only on the user selected memories in HALCoGen's GUI SAFETY INIT tab. + */ + memoryInit( (uint32)((uint32)1U << 1U) /* DMA RAM */ + | (uint32)((uint32)1U << 2U) /* VIM RAM */ + | (uint32)((uint32)1U << 5U) /* CAN1 RAM */ + | (uint32)((uint32)1U << 6U) /* CAN2 RAM */ + | (uint32)((uint32)1U << 10U) /* CAN3 RAM */ + | (uint32)((uint32)1U << 8U) /* ADC1 RAM */ + | (uint32)((uint32)1U << 14U) /* ADC2 RAM */ + | (uint32)((uint32)1U << 3U) /* HET1 RAM */ + | (uint32)((uint32)1U << 4U) /* HTU1 RAM */ + | (uint32)((uint32)1U << 15U) /* HET2 RAM */ + | (uint32)((uint32)1U << 16U) /* HTU2 RAM */ + ); + + /* Disable parity */ + disableParity(); + + /* Test the parity protection mechanism for peripheral RAMs + NOTE : Please Refer DEVICE DATASHEET for the list of Supported Memories with parity. + Parity Self check is perfomed only on the user selected memories in HALCoGen's GUI SAFETY INIT tab. + */ + +/* USER CODE BEGIN (57) */ +/* USER CODE END */ + + het1ParityCheck(); + +/* USER CODE BEGIN (58) */ +/* USER CODE END */ + + htu1ParityCheck(); + +/* USER CODE BEGIN (59) */ +/* USER CODE END */ + + het2ParityCheck(); + +/* USER CODE BEGIN (60) */ +/* USER CODE END */ + + htu2ParityCheck(); + +/* USER CODE BEGIN (61) */ +/* USER CODE END */ + + adc1ParityCheck(); + +/* USER CODE BEGIN (62) */ +/* USER CODE END */ + + adc2ParityCheck(); + +/* USER CODE BEGIN (63) */ +/* USER CODE END */ + + can1ParityCheck(); + +/* USER CODE BEGIN (64) */ +/* USER CODE END */ + + can2ParityCheck(); + +/* USER CODE BEGIN (65) */ +/* USER CODE END */ + + can3ParityCheck(); + +/* USER CODE BEGIN (66) */ +/* USER CODE END */ + + vimParityCheck(); + +/* USER CODE BEGIN (67) */ +/* USER CODE END */ + + dmaParityCheck(); + + +/* USER CODE BEGIN (68) */ +/* USER CODE END */ + +/*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((mibspiREG1->FLG & 0x01000000U) == 0x01000000U) + { + }/* Wait */ + /* wait for MibSPI1 RAM to complete initialization */ +/*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((mibspiREG3->FLG & 0x01000000U) == 0x01000000U) + { + }/* Wait */ + /* wait for MibSPI3 RAM to complete initialization */ +/*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while ((mibspiREG5->FLG & 0x01000000U) == 0x01000000U) + { + }/* Wait */ + /* wait for MibSPI5 RAM to complete initialization */ + +/* USER CODE BEGIN (69) */ +/* USER CODE END */ + + mibspi1ParityCheck(); + +/* USER CODE BEGIN (70) */ +/* USER CODE END */ + + mibspi3ParityCheck(); + +/* USER CODE BEGIN (71) */ +/* USER CODE END */ + + mibspi5ParityCheck(); + + +/* USER CODE BEGIN (72) */ +/* USER CODE END */ + + /* Enable IRQ offset via Vic controller */ + _coreEnableIrqVicOffset_(); + + +/* USER CODE BEGIN (73) */ +/* USER CODE END */ + + /* Initialize VIM table */ + vimInit(); + +/* USER CODE BEGIN (74) */ +/* USER CODE END */ + + /* Configure system response to error conditions signaled to the ESM group1 */ + /* This function can be configured from the ESM tab of HALCoGen */ + esmInit(); + /* initialize copy table */ + __TI_auto_init(); +/* USER CODE BEGIN (75) */ +/* USER CODE END */ + + /* call the application */ +/*SAFETYMCUSW 296 S MR:8.6 "Startup code(library functions at block scope)" */ +/*SAFETYMCUSW 326 S MR:8.2 "Startup code(Declaration for main in library)" */ +/*SAFETYMCUSW 60 D MR:8.8 "Startup code(Declaration for main in library;Only doing an extern for the same)" */ + main(); + +/* USER CODE BEGIN (76) */ +/* USER CODE END */ +/*SAFETYMCUSW 122 S MR:20.11 "Startup code(exit and abort need to be present)" */ + exit(0); + +/* USER CODE BEGIN (77) */ +/* USER CODE END */ +} + +/* USER CODE BEGIN (78) */ +/* USER CODE END */ +/** @fn void handlePLLLockFail(void) +* @brief This function handles PLL lock fail. +*/ +void handlePLLLockFail(void) +{ +/* USER CODE BEGIN (79) */ +/* USER CODE END */ + while(1) + { + + } +/* USER CODE BEGIN (80) */ +/* USER CODE END */ +} +/* USER CODE BEGIN (81) */ +/* USER CODE END */ diff --git a/TestBoardFirmware/Testboard_HAL_drivers/source/system.c b/TestBoardFirmware/Testboard_HAL_drivers/source/system.c index 6d9d0bf8..a56d4138 100644 --- a/TestBoardFirmware/Testboard_HAL_drivers/source/system.c +++ b/TestBoardFirmware/Testboard_HAL_drivers/source/system.c @@ -1,714 +1,714 @@ -/** @file system.c -* @brief System Driver Source File -* @date 11-Dec-2018 -* @version 04.07.01 -* -* This file contains: -* - API Functions -* . -* which are relevant for the System driver. -*/ - -/* -* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com -* -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* -* Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the -* distribution. -* -* Neither the name of Texas Instruments Incorporated nor the names of -* its contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - - -/* USER CODE BEGIN (0) */ -/* USER CODE END */ - - -/* Include Files */ - -#include "system.h" -#include "sys_selftest.h" -#include "sys_pcr.h" -#include "pinmux.h" - -/* USER CODE BEGIN (1) */ -/* USER CODE END */ - -/** @fn void systemInit(void) -* @brief Initializes System Driver -* -* This function initializes the System driver. -* -*/ - -/* USER CODE BEGIN (2) */ -/* USER CODE END */ - -/* SourceId : SYSTEM_SourceId_001 */ -/* DesignId : SYSTEM_DesignId_001 */ -/* Requirements : HL_SR451 */ -void setupPLL(void) -{ - -/* USER CODE BEGIN (3) */ -/* USER CODE END */ - - /* Disable PLL1 and PLL2 */ - systemREG1->CSDISSET = 0x00000002U | 0x00000040U; - /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ - while((systemREG1->CSDIS & 0x42U) != 0x42U) - { - /* Wait */ - } - - /* Clear Global Status Register */ - systemREG1->GBLSTAT = 0x301U; - - /** - Configure PLL control registers */ - /** @b Initialize @b Pll1: */ - - /** - Setup pll control register 1: - * - Setup reset on oscillator slip - * - Setup bypass on pll slip - * - setup Pll output clock divider to max before Lock - * - Setup reset on oscillator fail - * - Setup reference clock divider - * - Setup Pll multiplier - */ - systemREG1->PLLCTL1 = (uint32)0x00000000U - | (uint32)0x20000000U - | (uint32)((uint32)0x1FU << 24U) - | (uint32)0x00000000U - | (uint32)((uint32)(6U - 1U)<< 16U) - | (uint32)(0x7700U); - - /** - Setup pll control register 2 - * - Setup spreading rate - * - Setup bandwidth adjustment - * - Setup internal Pll output divider - * - Setup spreading amount - */ - systemREG1->PLLCTL2 = (uint32)((uint32)255U << 22U) - | (uint32)((uint32)7U << 12U) - | (uint32)((uint32)(2U - 1U) << 9U) - | (uint32)61U; - - /** @b Initialize @b Pll2: */ - - /** - Setup pll2 control register : - * - setup Pll output clock divider to max before Lock - * - Setup reference clock divider - * - Setup internal Pll output divider - * - Setup Pll multiplier - */ - systemREG2->PLLCTL3 = (uint32)((uint32)(2U - 1U) << 29U) - | (uint32)((uint32)0x1FU << 24U) - | (uint32)((uint32)(6U - 1U)<< 16U) - | (uint32)(0x7700U); - - /** - Enable PLL(s) to start up or Lock */ - systemREG1->CSDIS = 0x00000000U - | 0x00000000U - | 0x00000008U - | 0x00000080U - | 0x00000000U - | 0x00000000U - | 0x00000000U; -} - -/** @fn void trimLPO(void) -* @brief Initialize LPO trim values -* -* Load TRIM values from OTP if present else call customTrimLPO() function -* -*/ -/* SourceId : SYSTEM_SourceId_002 */ -/* DesignId : SYSTEM_DesignId_002 */ -/* Requirements : HL_SR468 */ -void trimLPO(void) -{ - uint32 u32clocktestConfig; - /* Save user clocktest register configuration */ - u32clocktestConfig = systemREG1->CLKTEST; -/* USER CODE BEGIN (4) */ -/* USER CODE END */ - /*The TRM states OTP TRIM value should be stepped to avoid large changes in the HF LPO clock that would result in a LPOCLKMON fault. At issue is the TRM does not specify what the maximum step is so there is no metric to use for the SW implementation - the routine can temporarily disable the LPOCLKMON range check so the sudden change will not cause a fault.*/ - /* Disable clock range detection*/ - systemREG1->CLKTEST = (systemREG1->CLKTEST - | (uint32)((uint32)0x1U << 24U)) - & (uint32)(~((uint32)0x1U << 25U)); - - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - if(LPO_TRIM_VALUE != 0xFFFFU) - { - - systemREG1->LPOMONCTL = (uint32)((uint32)1U << 24U) - | (uint32)((uint32)LPO_TRIM_VALUE); - } - else - { - - customTrimLPO(); - - } - - /* Restore the user clocktest register value configuration */ - systemREG1->CLKTEST = u32clocktestConfig; - -/* USER CODE BEGIN (5) */ -/* USER CODE END */ - -} - -/* SourceId : SYSTEM_SourceId_003 */ -/* DesignId : SYSTEM_DesignId_003 */ -/* Requirements : HL_SR457 */ -void setupFlash(void) -{ - -/* USER CODE BEGIN (6) */ -/* USER CODE END */ - - /** - Setup flash read mode, address wait states and data wait states */ - flashWREG->FRDCNTL = 0x00000000U - | (uint32)((uint32)3U << 8U) - | (uint32)((uint32)1U << 4U) - | 1U; - - /** - Setup flash access wait states for bank 7 */ - FSM_WR_ENA_HL = 0x5U; - EEPROM_CONFIG_HL = 0x00000002U - | (uint32)((uint32)3U << 16U) ; - -/* USER CODE BEGIN (7) */ -/* USER CODE END */ - - /** - Disable write access to flash state machine registers */ - FSM_WR_ENA_HL = 0xAU; - - /** - Setup flash bank power modes */ - flashWREG->FBFALLBACK = 0x00000000U - | (uint32)((uint32)SYS_ACTIVE << 14U) /* BANK 7 */ - | (uint32)((uint32)SYS_ACTIVE << 2U) /* BANK 1 */ - | (uint32)((uint32)SYS_ACTIVE << 0U); /* BANK 0 */ - -/* USER CODE BEGIN (8) */ -/* USER CODE END */ - -} - -/* SourceId : SYSTEM_SourceId_004 */ -/* DesignId : SYSTEM_DesignId_004 */ -/* Requirements : HL_SR470 */ -void periphInit(void) -{ - -/* USER CODE BEGIN (9) */ -/* USER CODE END */ - - /** - Disable Peripherals before peripheral powerup*/ - systemREG1->CLKCNTL &= 0xFFFFFEFFU; - - /** - Release peripherals from reset and enable clocks to all peripherals */ - /** - Power-up all peripherals */ - pcrREG->PSPWRDWNCLR0 = 0xFFFFFFFFU; - pcrREG->PSPWRDWNCLR1 = 0xFFFFFFFFU; - pcrREG->PSPWRDWNCLR2 = 0xFFFFFFFFU; - pcrREG->PSPWRDWNCLR3 = 0xFFFFFFFFU; - - /** - Enable Peripherals */ - systemREG1->CLKCNTL |= 0x00000100U; - -/* USER CODE BEGIN (10) */ -/* USER CODE END */ - -} - -/* SourceId : SYSTEM_SourceId_005 */ -/* DesignId : SYSTEM_DesignId_005 */ -/* Requirements : HL_SR469 */ -void mapClocks(void) -{ - uint32 SYS_CSVSTAT, SYS_CSDIS; - -/* USER CODE BEGIN (11) */ -/* USER CODE END */ - - /** @b Initialize @b Clock @b Tree: */ - /** - Disable / Enable clock domain */ - systemREG1->CDDIS = (uint32)((uint32)0U << 4U ) /* AVCLK1 , 1 - OFF, 0 - ON */ - | (uint32)((uint32)0U << 5U ) /* AVCLK2 , 1 - OFF, 0 - ON */ - | (uint32)((uint32)0U << 8U ) /* VCLK3 , 1 - OFF, 0 - ON */ - | (uint32)((uint32)0U << 9U ) /* VCLK4 , 1 - OFF, 0 - ON */ - | (uint32)((uint32)1U << 10U) /* AVCLK3 , 1 - OFF, 0 - ON */ - | (uint32)((uint32)0U << 11U); /* AVCLK4 , 1 - OFF, 0 - ON */ - - - /* Work Around for Errata SYS#46: - * - * Errata Description: - * Clock Source Switching Not Qualified with Clock Source Enable And Clock Source Valid - * Workaround: - * Always check the CSDIS register to make sure the clock source is turned on and check - * the CSVSTAT register to make sure the clock source is valid. Then write to GHVSRC to switch the clock. - */ - /** - Wait for until clocks are locked */ - SYS_CSVSTAT = systemREG1->CSVSTAT; - SYS_CSDIS = systemREG1->CSDIS; - while ((SYS_CSVSTAT & ((SYS_CSDIS ^ 0xFFU) & 0xFFU)) != ((SYS_CSDIS ^ 0xFFU) & 0xFFU)) - { - SYS_CSVSTAT = systemREG1->CSVSTAT; - SYS_CSDIS = systemREG1->CSDIS; - } /* Wait */ - -/* USER CODE BEGIN (12) */ -/* USER CODE END */ - - /** - Map device clock domains to desired sources and configure top-level dividers */ - /** - All clock domains are working off the default clock sources until now */ - /** - The below assignments can be easily modified using the HALCoGen GUI */ - - /** - Setup GCLK, HCLK and VCLK clock source for normal operation, power down mode and after wakeup */ - systemREG1->GHVSRC = (uint32)((uint32)SYS_OSC << 24U) - | (uint32)((uint32)SYS_OSC << 16U) - | (uint32)((uint32)SYS_PLL1 << 0U); - - /** - Setup RTICLK1 and RTICLK2 clocks */ - systemREG1->RCLKSRC = (uint32)((uint32)1U << 24U) - | (uint32)((uint32)SYS_VCLK << 16U) - | (uint32)((uint32)1U << 8U) - | (uint32)((uint32)SYS_VCLK << 0U); - - /** - Setup asynchronous peripheral clock sources for AVCLK1 and AVCLK2 */ - systemREG1->VCLKASRC = (uint32)((uint32)SYS_VCLK << 8U) - | (uint32)((uint32)SYS_VCLK << 0U); - - /** - Setup synchronous peripheral clock dividers for VCLK1, VCLK2, VCLK3 */ - systemREG1->CLKCNTL = (systemREG1->CLKCNTL & 0xF0FFFFFFU) - | (uint32)((uint32)1U << 24U); - systemREG1->CLKCNTL = (systemREG1->CLKCNTL & 0xFFF0FFFFU) - | (uint32)((uint32)1U << 16U); - - systemREG2->CLK2CNTL = (systemREG2->CLK2CNTL & 0xFFFFF0F0U) - | (uint32)((uint32)1U << 8U) - | (uint32)((uint32)1U << 0U); - - systemREG2->VCLKACON1 = (uint32)((uint32)(1U - 1U) << 24U) - | (uint32)((uint32)0U << 20U) - | (uint32)((uint32)SYS_VCLK << 16U) - | (uint32)((uint32)(1U - 1U) << 8U) - | (uint32)((uint32)0U << 4U) - | (uint32)((uint32)SYS_VCLK << 0U); - -/* USER CODE BEGIN (13) */ -/* USER CODE END */ - - /* Now the PLLs are locked and the PLL outputs can be sped up */ - /* The R-divider was programmed to be 0xF. Now this divider is changed to programmed value */ - systemREG1->PLLCTL1 = (systemREG1->PLLCTL1 & 0xE0FFFFFFU) | (uint32)((uint32)(1U - 1U) << 24U); - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - systemREG2->PLLCTL3 = (systemREG2->PLLCTL3 & 0xE0FFFFFFU) | (uint32)((uint32)(1U - 1U) << 24U); - - /* Enable/Disable Frequency modulation */ - systemREG1->PLLCTL2 |= 0x00000000U; - -/* USER CODE BEGIN (14) */ -/* USER CODE END */ - -} - -/* SourceId : SYSTEM_SourceId_006 */ -/* DesignId : SYSTEM_DesignId_006 */ -/* Requirements : HL_SR471 */ -void systemInit(void) -{ - uint32 efcCheckStatus; - -/* USER CODE BEGIN (15) */ -/* USER CODE END */ - - /* Configure PLL control registers and enable PLLs. - * The PLL takes (127 + 1024 * NR) oscillator cycles to acquire lock. - * This initialization sequence performs all the tasks that are not - * required to be done at full application speed while the PLL locks. - */ - setupPLL(); - -/* USER CODE BEGIN (16) */ -/* USER CODE END */ - - /* Run eFuse controller start-up checks and start eFuse controller ECC self-test. - * This includes a check for the eFuse controller error outputs to be stuck-at-zero. - */ - efcCheckStatus = efcCheck(); - -/* USER CODE BEGIN (17) */ -/* USER CODE END */ - - /* Enable clocks to peripherals and release peripheral reset */ - periphInit(); - -/* USER CODE BEGIN (18) */ -/* USER CODE END */ - - /* Configure device-level multiplexing and I/O multiplexing */ - muxInit(); - -/* USER CODE BEGIN (19) */ -/* USER CODE END */ - - if(efcCheckStatus == 0U) - { - /* Wait for eFuse controller self-test to complete and check results */ - if (checkefcSelfTest() == FALSE) /* eFuse controller ECC logic self-test failed */ - { - selftestFailNotification(EFCCHECK_FAIL1); /* device operation is not reliable */ - } - } - else if(efcCheckStatus == 2U) - { - /* Wait for eFuse controller self-test to complete and check results */ - if (checkefcSelfTest() == FALSE) /* eFuse controller ECC logic self-test failed */ - { - selftestFailNotification(EFCCHECK_FAIL1); /* device operation is not reliable */ - } - else - { - selftestFailNotification(EFCCHECK_FAIL2); - } - } - else - { - /* Empty */ - } -/* USER CODE BEGIN (20) */ -/* USER CODE END */ - - /** - Set up flash address and data wait states based on the target CPU clock frequency - * The number of address and data wait states for the target CPU clock frequency are specified - * in the specific part's datasheet. - */ - setupFlash(); - -/* USER CODE BEGIN (21) */ -/* USER CODE END */ - - /** - Configure the LPO such that HF LPO is as close to 10MHz as possible */ - trimLPO(); - - - -/* USER CODE BEGIN (23) */ -/* USER CODE END */ - - /** - Wait for PLLs to start up and map clock domains to desired clock sources */ - mapClocks(); - -/* USER CODE BEGIN (24) */ -/* USER CODE END */ - - /** - set ECLK pins functional mode */ - systemREG1->SYSPC1 = 0U; - - /** - set ECLK pins default output value */ - systemREG1->SYSPC4 = 0U; - - /** - set ECLK pins output direction */ - systemREG1->SYSPC2 = 1U; - - /** - set ECLK pins open drain enable */ - systemREG1->SYSPC7 = 0U; - - /** - set ECLK pins pullup/pulldown enable */ - systemREG1->SYSPC8 = 0U; - - /** - set ECLK pins pullup/pulldown select */ - systemREG1->SYSPC9 = 1U; - - /** - Setup ECLK */ - systemREG1->ECPCNTL = (uint32)((uint32)0U << 24U) - | (uint32)((uint32)0U << 23U) - | (uint32)((uint32)(8U - 1U) & 0xFFFFU); - -/* USER CODE BEGIN (25) */ -/* USER CODE END */ -} - -/* SourceId : SYSTEM_SourceId_007 */ -/* DesignId : SYSTEM_DesignId_007 */ -/* Requirements : HL_SR493 */ -void systemPowerDown(uint32 mode) -{ - -/* USER CODE BEGIN (26) */ -/* USER CODE END */ - - /* Disable clock sources */ - systemREG1->CSDISSET = mode & 0x000000FFU; - - /* Disable clock domains */ - systemREG1->CDDIS = (mode >> 8U) & 0x00000FFFU; - - /* Idle CPU */ - _gotoCPUIdle_(); - -/* USER CODE BEGIN (27) */ -/* USER CODE END */ - -} - -/* USER CODE BEGIN (28) */ -/* USER CODE END */ - -/** @fn void systemGetConfigValue(system_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : SYSTEM_SourceId_008 */ -/* DesignId : SYSTEM_DesignId_008 */ -/* Requirements : HL_SR506 */ -void systemGetConfigValue(system_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_SYSPC1 = SYS_SYSPC1_CONFIGVALUE; - config_reg->CONFIG_SYSPC2 = SYS_SYSPC2_CONFIGVALUE; - config_reg->CONFIG_SYSPC7 = SYS_SYSPC7_CONFIGVALUE; - config_reg->CONFIG_SYSPC8 = SYS_SYSPC8_CONFIGVALUE; - config_reg->CONFIG_SYSPC9 = SYS_SYSPC9_CONFIGVALUE; - config_reg->CONFIG_CSDIS = SYS_CSDIS_CONFIGVALUE; - config_reg->CONFIG_CDDIS = SYS_CDDIS_CONFIGVALUE; - config_reg->CONFIG_GHVSRC = SYS_GHVSRC_CONFIGVALUE; - config_reg->CONFIG_VCLKASRC = SYS_VCLKASRC_CONFIGVALUE; - config_reg->CONFIG_RCLKSRC = SYS_RCLKSRC_CONFIGVALUE; - config_reg->CONFIG_MSTGCR = SYS_MSTGCR_CONFIGVALUE; - config_reg->CONFIG_MINITGCR = SYS_MINITGCR_CONFIGVALUE; - config_reg->CONFIG_MSINENA = SYS_MSINENA_CONFIGVALUE; - config_reg->CONFIG_PLLCTL1 = SYS_PLLCTL1_CONFIGVALUE_2; - config_reg->CONFIG_PLLCTL2 = SYS_PLLCTL2_CONFIGVALUE; - config_reg->CONFIG_UERFLAG = SYS_UERFLAG_CONFIGVALUE; - /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ - if(LPO_TRIM_VALUE != 0xFFFFU) - { - config_reg->CONFIG_LPOMONCTL = SYS_LPOMONCTL_CONFIGVALUE_1; - } - else - { - config_reg->CONFIG_LPOMONCTL = SYS_LPOMONCTL_CONFIGVALUE_2; - } - config_reg->CONFIG_CLKTEST = SYS_CLKTEST_CONFIGVALUE; - config_reg->CONFIG_DFTCTRLREG1 = SYS_DFTCTRLREG1_CONFIGVALUE; - config_reg->CONFIG_DFTCTRLREG2 = SYS_DFTCTRLREG2_CONFIGVALUE; - config_reg->CONFIG_GPREG1 = SYS_GPREG1_CONFIGVALUE; - config_reg->CONFIG_RAMGCR = SYS_RAMGCR_CONFIGVALUE; - config_reg->CONFIG_BMMCR1 = SYS_BMMCR1_CONFIGVALUE; - config_reg->CONFIG_MMUGCR = SYS_MMUGCR_CONFIGVALUE; - config_reg->CONFIG_CLKCNTL = SYS_CLKCNTL_CONFIGVALUE; - config_reg->CONFIG_ECPCNTL = SYS_ECPCNTL_CONFIGVALUE; - config_reg->CONFIG_DEVCR1 = SYS_DEVCR1_CONFIGVALUE; - config_reg->CONFIG_SYSECR = SYS_SYSECR_CONFIGVALUE; - - config_reg->CONFIG_PLLCTL3 = SYS2_PLLCTL3_CONFIGVALUE_2; - config_reg->CONFIG_STCCLKDIV = SYS2_STCCLKDIV_CONFIGVALUE; - config_reg->CONFIG_CLK2CNTL = SYS2_CLK2CNTL_CONFIGVALUE; - config_reg->CONFIG_VCLKACON1 = SYS2_VCLKACON1_CONFIGVALUE; - config_reg->CONFIG_CLKSLIP = SYS2_CLKSLIP_CONFIGVALUE; - config_reg->CONFIG_EFC_CTLEN = SYS2_EFC_CTLEN_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_SYSPC1 = systemREG1->SYSPC1; - config_reg->CONFIG_SYSPC2 = systemREG1->SYSPC2; - config_reg->CONFIG_SYSPC7 = systemREG1->SYSPC7; - config_reg->CONFIG_SYSPC8 = systemREG1->SYSPC8; - config_reg->CONFIG_SYSPC9 = systemREG1->SYSPC9; - config_reg->CONFIG_CSDIS = systemREG1->CSDIS; - config_reg->CONFIG_CDDIS = systemREG1->CDDIS; - config_reg->CONFIG_GHVSRC = systemREG1->GHVSRC; - config_reg->CONFIG_VCLKASRC = systemREG1->VCLKASRC; - config_reg->CONFIG_RCLKSRC = systemREG1->RCLKSRC; - config_reg->CONFIG_MSTGCR = systemREG1->MSTGCR; - config_reg->CONFIG_MINITGCR = systemREG1->MINITGCR; - config_reg->CONFIG_MSINENA = systemREG1->MSINENA; - config_reg->CONFIG_PLLCTL1 = systemREG1->PLLCTL1; - config_reg->CONFIG_PLLCTL2 = systemREG1->PLLCTL2; - config_reg->CONFIG_UERFLAG = systemREG1->SYSPC10; - config_reg->CONFIG_LPOMONCTL = systemREG1->LPOMONCTL; - config_reg->CONFIG_CLKTEST = systemREG1->CLKTEST; - config_reg->CONFIG_DFTCTRLREG1 = systemREG1->DFTCTRLREG1; - config_reg->CONFIG_DFTCTRLREG2 = systemREG1->DFTCTRLREG2; - config_reg->CONFIG_GPREG1 = systemREG1->GPREG1; - config_reg->CONFIG_RAMGCR = systemREG1->RAMGCR; - config_reg->CONFIG_BMMCR1 = systemREG1->BMMCR1; - config_reg->CONFIG_MMUGCR = systemREG1->CPURSTCR; - config_reg->CONFIG_CLKCNTL = systemREG1->CLKCNTL; - config_reg->CONFIG_ECPCNTL = systemREG1->ECPCNTL; - config_reg->CONFIG_DEVCR1 = systemREG1->DEVCR1; - config_reg->CONFIG_SYSECR = systemREG1->SYSECR; - - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_PLLCTL3 = systemREG2->PLLCTL3; - config_reg->CONFIG_STCCLKDIV = systemREG2->STCCLKDIV; - config_reg->CONFIG_CLK2CNTL = systemREG2->CLK2CNTL; - config_reg->CONFIG_VCLKACON1 = systemREG2->VCLKACON1; - config_reg->CONFIG_CLKSLIP = systemREG2->CLKSLIP; - config_reg->CONFIG_EFC_CTLEN = systemREG2->EFC_CTLEN; - } -} - -/** @fn void tcmflashGetConfigValue(tcmflash_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : SYSTEM_SourceId_009 */ -/* DesignId : SYSTEM_DesignId_009 */ -/* Requirements : HL_SR506 */ -void tcmflashGetConfigValue(tcmflash_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_FRDCNTL = TCMFLASH_FRDCNTL_CONFIGVALUE; - config_reg->CONFIG_FEDACCTRL1 = TCMFLASH_FEDACCTRL1_CONFIGVALUE; - config_reg->CONFIG_FEDACCTRL2 = TCMFLASH_FEDACCTRL2_CONFIGVALUE; - config_reg->CONFIG_FEDACSDIS = TCMFLASH_FEDACSDIS_CONFIGVALUE; - config_reg->CONFIG_FBPROT = TCMFLASH_FBPROT_CONFIGVALUE; - config_reg->CONFIG_FBSE = TCMFLASH_FBSE_CONFIGVALUE; - config_reg->CONFIG_FBAC = TCMFLASH_FBAC_CONFIGVALUE; - config_reg->CONFIG_FBFALLBACK = TCMFLASH_FBFALLBACK_CONFIGVALUE; - config_reg->CONFIG_FPAC1 = TCMFLASH_FPAC1_CONFIGVALUE; - config_reg->CONFIG_FPAC2 = TCMFLASH_FPAC2_CONFIGVALUE; - config_reg->CONFIG_FMAC = TCMFLASH_FMAC_CONFIGVALUE; - config_reg->CONFIG_FLOCK = TCMFLASH_FLOCK_CONFIGVALUE; - config_reg->CONFIG_FDIAGCTRL = TCMFLASH_FDIAGCTRL_CONFIGVALUE; - config_reg->CONFIG_FEDACSDIS2 = TCMFLASH_FEDACSDIS2_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_FRDCNTL = flashWREG->FRDCNTL; - config_reg->CONFIG_FEDACCTRL1 = flashWREG->FEDACCTRL1; - config_reg->CONFIG_FEDACCTRL2 = flashWREG->FEDACCTRL2; - config_reg->CONFIG_FEDACSDIS = flashWREG->FEDACSDIS; - config_reg->CONFIG_FBPROT = flashWREG->FBPROT; - config_reg->CONFIG_FBSE = flashWREG->FBSE; - config_reg->CONFIG_FBAC = flashWREG->FBAC; - config_reg->CONFIG_FBFALLBACK = flashWREG->FBFALLBACK; - config_reg->CONFIG_FPAC1 = flashWREG->FPAC1; - config_reg->CONFIG_FPAC2 = flashWREG->FPAC2; - config_reg->CONFIG_FMAC = flashWREG->FMAC; - config_reg->CONFIG_FLOCK = flashWREG->FLOCK; - config_reg->CONFIG_FDIAGCTRL = flashWREG->FDIAGCTRL; - config_reg->CONFIG_FEDACSDIS2 = flashWREG->FEDACSDIS2; - } -} - - - -/** @fn void sramGetConfigValue(sram_config_reg_t *config_reg, config_value_type_t type) -* @brief Get the initial or current values of the configuration registers -* -* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored -* @param[in] type: whether initial or current value of the configuration registers need to be stored -* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg -* -* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg -* -*/ -/* SourceId : SYSTEM_SourceId_010 */ -/* DesignId : SYSTEM_DesignId_010 */ -/* Requirements : HL_SR506 */ -void sramGetConfigValue(sram_config_reg_t *config_reg, config_value_type_t type) -{ - if (type == InitialValue) - { - config_reg->CONFIG_RAMCTRL[0U] = SRAM_RAMCTRL_CONFIGVALUE; - config_reg->CONFIG_RAMTHRESHOLD[0U] = SRAM_RAMTHRESHOLD_CONFIGVALUE; - config_reg->CONFIG_RAMINTCTRL[0U] = SRAM_RAMINTCTRL_CONFIGVALUE; - config_reg->CONFIG_RAMTEST[0U] = SRAM_RAMTEST_CONFIGVALUE; - config_reg->CONFIG_RAMADDRDECVECT[0U] = SRAM_RAMADDRDECVECT_CONFIGVALUE; - - config_reg->CONFIG_RAMCTRL[1U] = SRAM_RAMCTRL_CONFIGVALUE; - config_reg->CONFIG_RAMTHRESHOLD[1U] = SRAM_RAMTHRESHOLD_CONFIGVALUE; - config_reg->CONFIG_RAMINTCTRL[1U] = SRAM_RAMINTCTRL_CONFIGVALUE; - config_reg->CONFIG_RAMTEST[1U] = SRAM_RAMTEST_CONFIGVALUE; - config_reg->CONFIG_RAMADDRDECVECT[1U] = SRAM_RAMADDRDECVECT_CONFIGVALUE; - } - else - { - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_RAMCTRL[0U] = tcram1REG->RAMCTRL; - config_reg->CONFIG_RAMTHRESHOLD[0U] = tcram1REG->RAMTHRESHOLD; - config_reg->CONFIG_RAMINTCTRL[0U] = tcram1REG->RAMINTCTRL; - config_reg->CONFIG_RAMTEST[0U] = tcram1REG->RAMTEST; - config_reg->CONFIG_RAMADDRDECVECT[0U] = tcram1REG->RAMADDRDECVECT; - - /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ - config_reg->CONFIG_RAMCTRL[1U] = tcram2REG->RAMCTRL; - config_reg->CONFIG_RAMTHRESHOLD[1U] = tcram2REG->RAMTHRESHOLD; - config_reg->CONFIG_RAMINTCTRL[1U] = tcram2REG->RAMINTCTRL; - config_reg->CONFIG_RAMTEST[1U] = tcram2REG->RAMTEST; - config_reg->CONFIG_RAMADDRDECVECT[1U] = tcram2REG->RAMADDRDECVECT; - } -} - -/** @fn customTrimLPO(void) -* @brief custom function to initilize LPO trim values -* -* This function initializes default LPO trim values if OTP value is 0XFFFF, -* user can also write their own code to handle this case . -* -*/ -void customTrimLPO(void) -{ - /* User can write logic to handle the case where LPO trim is set to 0xFFFFu */ -/* USER CODE BEGIN (29) */ -/* USER CODE END */ - - /* Load default trimLPO value */ - systemREG1->LPOMONCTL = (uint32)((uint32)1U << 24U) - | (uint32)((uint32)16U << 8U) - | (uint32)((uint32)16U); - -/* USER CODE BEGIN (30) */ -/* USER CODE END */ -} +/** @file system.c +* @brief System Driver Source File +* @date 11-Dec-2018 +* @version 04.07.01 +* +* This file contains: +* - API Functions +* . +* which are relevant for the System driver. +*/ + +/* +* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com +* +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +/* USER CODE BEGIN (0) */ +/* USER CODE END */ + + +/* Include Files */ + +#include "system.h" +#include "sys_selftest.h" +#include "sys_pcr.h" +#include "pinmux.h" + +/* USER CODE BEGIN (1) */ +/* USER CODE END */ + +/** @fn void systemInit(void) +* @brief Initializes System Driver +* +* This function initializes the System driver. +* +*/ + +/* USER CODE BEGIN (2) */ +/* USER CODE END */ + +/* SourceId : SYSTEM_SourceId_001 */ +/* DesignId : SYSTEM_DesignId_001 */ +/* Requirements : HL_SR451 */ +void setupPLL(void) +{ + +/* USER CODE BEGIN (3) */ +/* USER CODE END */ + + /* Disable PLL1 and PLL2 */ + systemREG1->CSDISSET = 0x00000002U | 0x00000040U; + /*SAFETYMCUSW 28 D MR:NA "Hardware status bit read check" */ + while((systemREG1->CSDIS & 0x42U) != 0x42U) + { + /* Wait */ + } + + /* Clear Global Status Register */ + systemREG1->GBLSTAT = 0x301U; + + /** - Configure PLL control registers */ + /** @b Initialize @b Pll1: */ + + /** - Setup pll control register 1: + * - Setup reset on oscillator slip + * - Setup bypass on pll slip + * - setup Pll output clock divider to max before Lock + * - Setup reset on oscillator fail + * - Setup reference clock divider + * - Setup Pll multiplier + */ + systemREG1->PLLCTL1 = (uint32)0x00000000U + | (uint32)0x20000000U + | (uint32)((uint32)0x1FU << 24U) + | (uint32)0x00000000U + | (uint32)((uint32)(6U - 1U)<< 16U) + | (uint32)(0x7700U); + + /** - Setup pll control register 2 + * - Setup spreading rate + * - Setup bandwidth adjustment + * - Setup internal Pll output divider + * - Setup spreading amount + */ + systemREG1->PLLCTL2 = (uint32)((uint32)255U << 22U) + | (uint32)((uint32)7U << 12U) + | (uint32)((uint32)(2U - 1U) << 9U) + | (uint32)61U; + + /** @b Initialize @b Pll2: */ + + /** - Setup pll2 control register : + * - setup Pll output clock divider to max before Lock + * - Setup reference clock divider + * - Setup internal Pll output divider + * - Setup Pll multiplier + */ + systemREG2->PLLCTL3 = (uint32)((uint32)(2U - 1U) << 29U) + | (uint32)((uint32)0x1FU << 24U) + | (uint32)((uint32)(6U - 1U)<< 16U) + | (uint32)(0x7700U); + + /** - Enable PLL(s) to start up or Lock */ + systemREG1->CSDIS = 0x00000000U + | 0x00000000U + | 0x00000008U + | 0x00000080U + | 0x00000000U + | 0x00000000U + | 0x00000000U; +} + +/** @fn void trimLPO(void) +* @brief Initialize LPO trim values +* +* Load TRIM values from OTP if present else call customTrimLPO() function +* +*/ +/* SourceId : SYSTEM_SourceId_002 */ +/* DesignId : SYSTEM_DesignId_002 */ +/* Requirements : HL_SR468 */ +void trimLPO(void) +{ + uint32 u32clocktestConfig; + /* Save user clocktest register configuration */ + u32clocktestConfig = systemREG1->CLKTEST; +/* USER CODE BEGIN (4) */ +/* USER CODE END */ + /*The TRM states OTP TRIM value should be stepped to avoid large changes in the HF LPO clock that would result in a LPOCLKMON fault. At issue is the TRM does not specify what the maximum step is so there is no metric to use for the SW implementation - the routine can temporarily disable the LPOCLKMON range check so the sudden change will not cause a fault.*/ + /* Disable clock range detection*/ + systemREG1->CLKTEST = (systemREG1->CLKTEST + | (uint32)((uint32)0x1U << 24U)) + & (uint32)(~((uint32)0x1U << 25U)); + + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + if(LPO_TRIM_VALUE != 0xFFFFU) + { + + systemREG1->LPOMONCTL = (uint32)((uint32)1U << 24U) + | (uint32)((uint32)LPO_TRIM_VALUE); + } + else + { + + customTrimLPO(); + + } + + /* Restore the user clocktest register value configuration */ + systemREG1->CLKTEST = u32clocktestConfig; + +/* USER CODE BEGIN (5) */ +/* USER CODE END */ + +} + +/* SourceId : SYSTEM_SourceId_003 */ +/* DesignId : SYSTEM_DesignId_003 */ +/* Requirements : HL_SR457 */ +void setupFlash(void) +{ + +/* USER CODE BEGIN (6) */ +/* USER CODE END */ + + /** - Setup flash read mode, address wait states and data wait states */ + flashWREG->FRDCNTL = 0x00000000U + | (uint32)((uint32)3U << 8U) + | (uint32)((uint32)1U << 4U) + | 1U; + + /** - Setup flash access wait states for bank 7 */ + FSM_WR_ENA_HL = 0x5U; + EEPROM_CONFIG_HL = 0x00000002U + | (uint32)((uint32)3U << 16U) ; + +/* USER CODE BEGIN (7) */ +/* USER CODE END */ + + /** - Disable write access to flash state machine registers */ + FSM_WR_ENA_HL = 0xAU; + + /** - Setup flash bank power modes */ + flashWREG->FBFALLBACK = 0x00000000U + | (uint32)((uint32)SYS_ACTIVE << 14U) /* BANK 7 */ + | (uint32)((uint32)SYS_ACTIVE << 2U) /* BANK 1 */ + | (uint32)((uint32)SYS_ACTIVE << 0U); /* BANK 0 */ + +/* USER CODE BEGIN (8) */ +/* USER CODE END */ + +} + +/* SourceId : SYSTEM_SourceId_004 */ +/* DesignId : SYSTEM_DesignId_004 */ +/* Requirements : HL_SR470 */ +void periphInit(void) +{ + +/* USER CODE BEGIN (9) */ +/* USER CODE END */ + + /** - Disable Peripherals before peripheral powerup*/ + systemREG1->CLKCNTL &= 0xFFFFFEFFU; + + /** - Release peripherals from reset and enable clocks to all peripherals */ + /** - Power-up all peripherals */ + pcrREG->PSPWRDWNCLR0 = 0xFFFFFFFFU; + pcrREG->PSPWRDWNCLR1 = 0xFFFFFFFFU; + pcrREG->PSPWRDWNCLR2 = 0xFFFFFFFFU; + pcrREG->PSPWRDWNCLR3 = 0xFFFFFFFFU; + + /** - Enable Peripherals */ + systemREG1->CLKCNTL |= 0x00000100U; + +/* USER CODE BEGIN (10) */ +/* USER CODE END */ + +} + +/* SourceId : SYSTEM_SourceId_005 */ +/* DesignId : SYSTEM_DesignId_005 */ +/* Requirements : HL_SR469 */ +void mapClocks(void) +{ + uint32 SYS_CSVSTAT, SYS_CSDIS; + +/* USER CODE BEGIN (11) */ +/* USER CODE END */ + + /** @b Initialize @b Clock @b Tree: */ + /** - Disable / Enable clock domain */ + systemREG1->CDDIS = (uint32)((uint32)0U << 4U ) /* AVCLK1 , 1 - OFF, 0 - ON */ + | (uint32)((uint32)0U << 5U ) /* AVCLK2 , 1 - OFF, 0 - ON */ + | (uint32)((uint32)0U << 8U ) /* VCLK3 , 1 - OFF, 0 - ON */ + | (uint32)((uint32)0U << 9U ) /* VCLK4 , 1 - OFF, 0 - ON */ + | (uint32)((uint32)1U << 10U) /* AVCLK3 , 1 - OFF, 0 - ON */ + | (uint32)((uint32)0U << 11U); /* AVCLK4 , 1 - OFF, 0 - ON */ + + + /* Work Around for Errata SYS#46: + * + * Errata Description: + * Clock Source Switching Not Qualified with Clock Source Enable And Clock Source Valid + * Workaround: + * Always check the CSDIS register to make sure the clock source is turned on and check + * the CSVSTAT register to make sure the clock source is valid. Then write to GHVSRC to switch the clock. + */ + /** - Wait for until clocks are locked */ + SYS_CSVSTAT = systemREG1->CSVSTAT; + SYS_CSDIS = systemREG1->CSDIS; + while ((SYS_CSVSTAT & ((SYS_CSDIS ^ 0xFFU) & 0xFFU)) != ((SYS_CSDIS ^ 0xFFU) & 0xFFU)) + { + SYS_CSVSTAT = systemREG1->CSVSTAT; + SYS_CSDIS = systemREG1->CSDIS; + } /* Wait */ + +/* USER CODE BEGIN (12) */ +/* USER CODE END */ + + /** - Map device clock domains to desired sources and configure top-level dividers */ + /** - All clock domains are working off the default clock sources until now */ + /** - The below assignments can be easily modified using the HALCoGen GUI */ + + /** - Setup GCLK, HCLK and VCLK clock source for normal operation, power down mode and after wakeup */ + systemREG1->GHVSRC = (uint32)((uint32)SYS_OSC << 24U) + | (uint32)((uint32)SYS_OSC << 16U) + | (uint32)((uint32)SYS_PLL1 << 0U); + + /** - Setup RTICLK1 and RTICLK2 clocks */ + systemREG1->RCLKSRC = (uint32)((uint32)1U << 24U) + | (uint32)((uint32)SYS_VCLK << 16U) + | (uint32)((uint32)1U << 8U) + | (uint32)((uint32)SYS_VCLK << 0U); + + /** - Setup asynchronous peripheral clock sources for AVCLK1 and AVCLK2 */ + systemREG1->VCLKASRC = (uint32)((uint32)SYS_VCLK << 8U) + | (uint32)((uint32)SYS_VCLK << 0U); + + /** - Setup synchronous peripheral clock dividers for VCLK1, VCLK2, VCLK3 */ + systemREG1->CLKCNTL = (systemREG1->CLKCNTL & 0xF0FFFFFFU) + | (uint32)((uint32)1U << 24U); + systemREG1->CLKCNTL = (systemREG1->CLKCNTL & 0xFFF0FFFFU) + | (uint32)((uint32)1U << 16U); + + systemREG2->CLK2CNTL = (systemREG2->CLK2CNTL & 0xFFFFF0F0U) + | (uint32)((uint32)1U << 8U) + | (uint32)((uint32)1U << 0U); + + systemREG2->VCLKACON1 = (uint32)((uint32)(1U - 1U) << 24U) + | (uint32)((uint32)0U << 20U) + | (uint32)((uint32)SYS_VCLK << 16U) + | (uint32)((uint32)(1U - 1U) << 8U) + | (uint32)((uint32)0U << 4U) + | (uint32)((uint32)SYS_VCLK << 0U); + +/* USER CODE BEGIN (13) */ +/* USER CODE END */ + + /* Now the PLLs are locked and the PLL outputs can be sped up */ + /* The R-divider was programmed to be 0xF. Now this divider is changed to programmed value */ + systemREG1->PLLCTL1 = (systemREG1->PLLCTL1 & 0xE0FFFFFFU) | (uint32)((uint32)(1U - 1U) << 24U); + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + systemREG2->PLLCTL3 = (systemREG2->PLLCTL3 & 0xE0FFFFFFU) | (uint32)((uint32)(1U - 1U) << 24U); + + /* Enable/Disable Frequency modulation */ + systemREG1->PLLCTL2 |= 0x00000000U; + +/* USER CODE BEGIN (14) */ +/* USER CODE END */ + +} + +/* SourceId : SYSTEM_SourceId_006 */ +/* DesignId : SYSTEM_DesignId_006 */ +/* Requirements : HL_SR471 */ +void systemInit(void) +{ + uint32 efcCheckStatus; + +/* USER CODE BEGIN (15) */ +/* USER CODE END */ + + /* Configure PLL control registers and enable PLLs. + * The PLL takes (127 + 1024 * NR) oscillator cycles to acquire lock. + * This initialization sequence performs all the tasks that are not + * required to be done at full application speed while the PLL locks. + */ + setupPLL(); + +/* USER CODE BEGIN (16) */ +/* USER CODE END */ + + /* Run eFuse controller start-up checks and start eFuse controller ECC self-test. + * This includes a check for the eFuse controller error outputs to be stuck-at-zero. + */ + efcCheckStatus = efcCheck(); + +/* USER CODE BEGIN (17) */ +/* USER CODE END */ + + /* Enable clocks to peripherals and release peripheral reset */ + periphInit(); + +/* USER CODE BEGIN (18) */ +/* USER CODE END */ + + /* Configure device-level multiplexing and I/O multiplexing */ + muxInit(); + +/* USER CODE BEGIN (19) */ +/* USER CODE END */ + + if(efcCheckStatus == 0U) + { + /* Wait for eFuse controller self-test to complete and check results */ + if (checkefcSelfTest() == FALSE) /* eFuse controller ECC logic self-test failed */ + { + selftestFailNotification(EFCCHECK_FAIL1); /* device operation is not reliable */ + } + } + else if(efcCheckStatus == 2U) + { + /* Wait for eFuse controller self-test to complete and check results */ + if (checkefcSelfTest() == FALSE) /* eFuse controller ECC logic self-test failed */ + { + selftestFailNotification(EFCCHECK_FAIL1); /* device operation is not reliable */ + } + else + { + selftestFailNotification(EFCCHECK_FAIL2); + } + } + else + { + /* Empty */ + } +/* USER CODE BEGIN (20) */ +/* USER CODE END */ + + /** - Set up flash address and data wait states based on the target CPU clock frequency + * The number of address and data wait states for the target CPU clock frequency are specified + * in the specific part's datasheet. + */ + setupFlash(); + +/* USER CODE BEGIN (21) */ +/* USER CODE END */ + + /** - Configure the LPO such that HF LPO is as close to 10MHz as possible */ + trimLPO(); + + + +/* USER CODE BEGIN (23) */ +/* USER CODE END */ + + /** - Wait for PLLs to start up and map clock domains to desired clock sources */ + mapClocks(); + +/* USER CODE BEGIN (24) */ +/* USER CODE END */ + + /** - set ECLK pins functional mode */ + systemREG1->SYSPC1 = 0U; + + /** - set ECLK pins default output value */ + systemREG1->SYSPC4 = 0U; + + /** - set ECLK pins output direction */ + systemREG1->SYSPC2 = 1U; + + /** - set ECLK pins open drain enable */ + systemREG1->SYSPC7 = 0U; + + /** - set ECLK pins pullup/pulldown enable */ + systemREG1->SYSPC8 = 0U; + + /** - set ECLK pins pullup/pulldown select */ + systemREG1->SYSPC9 = 1U; + + /** - Setup ECLK */ + systemREG1->ECPCNTL = (uint32)((uint32)0U << 24U) + | (uint32)((uint32)0U << 23U) + | (uint32)((uint32)(8U - 1U) & 0xFFFFU); + +/* USER CODE BEGIN (25) */ +/* USER CODE END */ +} + +/* SourceId : SYSTEM_SourceId_007 */ +/* DesignId : SYSTEM_DesignId_007 */ +/* Requirements : HL_SR493 */ +void systemPowerDown(uint32 mode) +{ + +/* USER CODE BEGIN (26) */ +/* USER CODE END */ + + /* Disable clock sources */ + systemREG1->CSDISSET = mode & 0x000000FFU; + + /* Disable clock domains */ + systemREG1->CDDIS = (mode >> 8U) & 0x00000FFFU; + + /* Idle CPU */ + _gotoCPUIdle_(); + +/* USER CODE BEGIN (27) */ +/* USER CODE END */ + +} + +/* USER CODE BEGIN (28) */ +/* USER CODE END */ + +/** @fn void systemGetConfigValue(system_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : SYSTEM_SourceId_008 */ +/* DesignId : SYSTEM_DesignId_008 */ +/* Requirements : HL_SR506 */ +void systemGetConfigValue(system_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_SYSPC1 = SYS_SYSPC1_CONFIGVALUE; + config_reg->CONFIG_SYSPC2 = SYS_SYSPC2_CONFIGVALUE; + config_reg->CONFIG_SYSPC7 = SYS_SYSPC7_CONFIGVALUE; + config_reg->CONFIG_SYSPC8 = SYS_SYSPC8_CONFIGVALUE; + config_reg->CONFIG_SYSPC9 = SYS_SYSPC9_CONFIGVALUE; + config_reg->CONFIG_CSDIS = SYS_CSDIS_CONFIGVALUE; + config_reg->CONFIG_CDDIS = SYS_CDDIS_CONFIGVALUE; + config_reg->CONFIG_GHVSRC = SYS_GHVSRC_CONFIGVALUE; + config_reg->CONFIG_VCLKASRC = SYS_VCLKASRC_CONFIGVALUE; + config_reg->CONFIG_RCLKSRC = SYS_RCLKSRC_CONFIGVALUE; + config_reg->CONFIG_MSTGCR = SYS_MSTGCR_CONFIGVALUE; + config_reg->CONFIG_MINITGCR = SYS_MINITGCR_CONFIGVALUE; + config_reg->CONFIG_MSINENA = SYS_MSINENA_CONFIGVALUE; + config_reg->CONFIG_PLLCTL1 = SYS_PLLCTL1_CONFIGVALUE_2; + config_reg->CONFIG_PLLCTL2 = SYS_PLLCTL2_CONFIGVALUE; + config_reg->CONFIG_UERFLAG = SYS_UERFLAG_CONFIGVALUE; + /*SAFETYMCUSW 139 S MR:13.7 "Hardware status bit read check" */ + if(LPO_TRIM_VALUE != 0xFFFFU) + { + config_reg->CONFIG_LPOMONCTL = SYS_LPOMONCTL_CONFIGVALUE_1; + } + else + { + config_reg->CONFIG_LPOMONCTL = SYS_LPOMONCTL_CONFIGVALUE_2; + } + config_reg->CONFIG_CLKTEST = SYS_CLKTEST_CONFIGVALUE; + config_reg->CONFIG_DFTCTRLREG1 = SYS_DFTCTRLREG1_CONFIGVALUE; + config_reg->CONFIG_DFTCTRLREG2 = SYS_DFTCTRLREG2_CONFIGVALUE; + config_reg->CONFIG_GPREG1 = SYS_GPREG1_CONFIGVALUE; + config_reg->CONFIG_RAMGCR = SYS_RAMGCR_CONFIGVALUE; + config_reg->CONFIG_BMMCR1 = SYS_BMMCR1_CONFIGVALUE; + config_reg->CONFIG_MMUGCR = SYS_MMUGCR_CONFIGVALUE; + config_reg->CONFIG_CLKCNTL = SYS_CLKCNTL_CONFIGVALUE; + config_reg->CONFIG_ECPCNTL = SYS_ECPCNTL_CONFIGVALUE; + config_reg->CONFIG_DEVCR1 = SYS_DEVCR1_CONFIGVALUE; + config_reg->CONFIG_SYSECR = SYS_SYSECR_CONFIGVALUE; + + config_reg->CONFIG_PLLCTL3 = SYS2_PLLCTL3_CONFIGVALUE_2; + config_reg->CONFIG_STCCLKDIV = SYS2_STCCLKDIV_CONFIGVALUE; + config_reg->CONFIG_CLK2CNTL = SYS2_CLK2CNTL_CONFIGVALUE; + config_reg->CONFIG_VCLKACON1 = SYS2_VCLKACON1_CONFIGVALUE; + config_reg->CONFIG_CLKSLIP = SYS2_CLKSLIP_CONFIGVALUE; + config_reg->CONFIG_EFC_CTLEN = SYS2_EFC_CTLEN_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_SYSPC1 = systemREG1->SYSPC1; + config_reg->CONFIG_SYSPC2 = systemREG1->SYSPC2; + config_reg->CONFIG_SYSPC7 = systemREG1->SYSPC7; + config_reg->CONFIG_SYSPC8 = systemREG1->SYSPC8; + config_reg->CONFIG_SYSPC9 = systemREG1->SYSPC9; + config_reg->CONFIG_CSDIS = systemREG1->CSDIS; + config_reg->CONFIG_CDDIS = systemREG1->CDDIS; + config_reg->CONFIG_GHVSRC = systemREG1->GHVSRC; + config_reg->CONFIG_VCLKASRC = systemREG1->VCLKASRC; + config_reg->CONFIG_RCLKSRC = systemREG1->RCLKSRC; + config_reg->CONFIG_MSTGCR = systemREG1->MSTGCR; + config_reg->CONFIG_MINITGCR = systemREG1->MINITGCR; + config_reg->CONFIG_MSINENA = systemREG1->MSINENA; + config_reg->CONFIG_PLLCTL1 = systemREG1->PLLCTL1; + config_reg->CONFIG_PLLCTL2 = systemREG1->PLLCTL2; + config_reg->CONFIG_UERFLAG = systemREG1->SYSPC10; + config_reg->CONFIG_LPOMONCTL = systemREG1->LPOMONCTL; + config_reg->CONFIG_CLKTEST = systemREG1->CLKTEST; + config_reg->CONFIG_DFTCTRLREG1 = systemREG1->DFTCTRLREG1; + config_reg->CONFIG_DFTCTRLREG2 = systemREG1->DFTCTRLREG2; + config_reg->CONFIG_GPREG1 = systemREG1->GPREG1; + config_reg->CONFIG_RAMGCR = systemREG1->RAMGCR; + config_reg->CONFIG_BMMCR1 = systemREG1->BMMCR1; + config_reg->CONFIG_MMUGCR = systemREG1->CPURSTCR; + config_reg->CONFIG_CLKCNTL = systemREG1->CLKCNTL; + config_reg->CONFIG_ECPCNTL = systemREG1->ECPCNTL; + config_reg->CONFIG_DEVCR1 = systemREG1->DEVCR1; + config_reg->CONFIG_SYSECR = systemREG1->SYSECR; + + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_PLLCTL3 = systemREG2->PLLCTL3; + config_reg->CONFIG_STCCLKDIV = systemREG2->STCCLKDIV; + config_reg->CONFIG_CLK2CNTL = systemREG2->CLK2CNTL; + config_reg->CONFIG_VCLKACON1 = systemREG2->VCLKACON1; + config_reg->CONFIG_CLKSLIP = systemREG2->CLKSLIP; + config_reg->CONFIG_EFC_CTLEN = systemREG2->EFC_CTLEN; + } +} + +/** @fn void tcmflashGetConfigValue(tcmflash_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : SYSTEM_SourceId_009 */ +/* DesignId : SYSTEM_DesignId_009 */ +/* Requirements : HL_SR506 */ +void tcmflashGetConfigValue(tcmflash_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_FRDCNTL = TCMFLASH_FRDCNTL_CONFIGVALUE; + config_reg->CONFIG_FEDACCTRL1 = TCMFLASH_FEDACCTRL1_CONFIGVALUE; + config_reg->CONFIG_FEDACCTRL2 = TCMFLASH_FEDACCTRL2_CONFIGVALUE; + config_reg->CONFIG_FEDACSDIS = TCMFLASH_FEDACSDIS_CONFIGVALUE; + config_reg->CONFIG_FBPROT = TCMFLASH_FBPROT_CONFIGVALUE; + config_reg->CONFIG_FBSE = TCMFLASH_FBSE_CONFIGVALUE; + config_reg->CONFIG_FBAC = TCMFLASH_FBAC_CONFIGVALUE; + config_reg->CONFIG_FBFALLBACK = TCMFLASH_FBFALLBACK_CONFIGVALUE; + config_reg->CONFIG_FPAC1 = TCMFLASH_FPAC1_CONFIGVALUE; + config_reg->CONFIG_FPAC2 = TCMFLASH_FPAC2_CONFIGVALUE; + config_reg->CONFIG_FMAC = TCMFLASH_FMAC_CONFIGVALUE; + config_reg->CONFIG_FLOCK = TCMFLASH_FLOCK_CONFIGVALUE; + config_reg->CONFIG_FDIAGCTRL = TCMFLASH_FDIAGCTRL_CONFIGVALUE; + config_reg->CONFIG_FEDACSDIS2 = TCMFLASH_FEDACSDIS2_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_FRDCNTL = flashWREG->FRDCNTL; + config_reg->CONFIG_FEDACCTRL1 = flashWREG->FEDACCTRL1; + config_reg->CONFIG_FEDACCTRL2 = flashWREG->FEDACCTRL2; + config_reg->CONFIG_FEDACSDIS = flashWREG->FEDACSDIS; + config_reg->CONFIG_FBPROT = flashWREG->FBPROT; + config_reg->CONFIG_FBSE = flashWREG->FBSE; + config_reg->CONFIG_FBAC = flashWREG->FBAC; + config_reg->CONFIG_FBFALLBACK = flashWREG->FBFALLBACK; + config_reg->CONFIG_FPAC1 = flashWREG->FPAC1; + config_reg->CONFIG_FPAC2 = flashWREG->FPAC2; + config_reg->CONFIG_FMAC = flashWREG->FMAC; + config_reg->CONFIG_FLOCK = flashWREG->FLOCK; + config_reg->CONFIG_FDIAGCTRL = flashWREG->FDIAGCTRL; + config_reg->CONFIG_FEDACSDIS2 = flashWREG->FEDACSDIS2; + } +} + + + +/** @fn void sramGetConfigValue(sram_config_reg_t *config_reg, config_value_type_t type) +* @brief Get the initial or current values of the configuration registers +* +* @param[in] *config_reg: pointer to the struct to which the initial or current value of the configuration registers need to be stored +* @param[in] type: whether initial or current value of the configuration registers need to be stored +* - InitialValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* - CurrentValue: initial value of the configuration registers will be stored in the struct pointed by config_reg +* +* This function will copy the initial or current value (depending on the parameter 'type') of the configuration registers to the struct pointed by config_reg +* +*/ +/* SourceId : SYSTEM_SourceId_010 */ +/* DesignId : SYSTEM_DesignId_010 */ +/* Requirements : HL_SR506 */ +void sramGetConfigValue(sram_config_reg_t *config_reg, config_value_type_t type) +{ + if (type == InitialValue) + { + config_reg->CONFIG_RAMCTRL[0U] = SRAM_RAMCTRL_CONFIGVALUE; + config_reg->CONFIG_RAMTHRESHOLD[0U] = SRAM_RAMTHRESHOLD_CONFIGVALUE; + config_reg->CONFIG_RAMINTCTRL[0U] = SRAM_RAMINTCTRL_CONFIGVALUE; + config_reg->CONFIG_RAMTEST[0U] = SRAM_RAMTEST_CONFIGVALUE; + config_reg->CONFIG_RAMADDRDECVECT[0U] = SRAM_RAMADDRDECVECT_CONFIGVALUE; + + config_reg->CONFIG_RAMCTRL[1U] = SRAM_RAMCTRL_CONFIGVALUE; + config_reg->CONFIG_RAMTHRESHOLD[1U] = SRAM_RAMTHRESHOLD_CONFIGVALUE; + config_reg->CONFIG_RAMINTCTRL[1U] = SRAM_RAMINTCTRL_CONFIGVALUE; + config_reg->CONFIG_RAMTEST[1U] = SRAM_RAMTEST_CONFIGVALUE; + config_reg->CONFIG_RAMADDRDECVECT[1U] = SRAM_RAMADDRDECVECT_CONFIGVALUE; + } + else + { + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_RAMCTRL[0U] = tcram1REG->RAMCTRL; + config_reg->CONFIG_RAMTHRESHOLD[0U] = tcram1REG->RAMTHRESHOLD; + config_reg->CONFIG_RAMINTCTRL[0U] = tcram1REG->RAMINTCTRL; + config_reg->CONFIG_RAMTEST[0U] = tcram1REG->RAMTEST; + config_reg->CONFIG_RAMADDRDECVECT[0U] = tcram1REG->RAMADDRDECVECT; + + /*SAFETYMCUSW 134 S MR:12.2 "LDRA Tool issue" */ + config_reg->CONFIG_RAMCTRL[1U] = tcram2REG->RAMCTRL; + config_reg->CONFIG_RAMTHRESHOLD[1U] = tcram2REG->RAMTHRESHOLD; + config_reg->CONFIG_RAMINTCTRL[1U] = tcram2REG->RAMINTCTRL; + config_reg->CONFIG_RAMTEST[1U] = tcram2REG->RAMTEST; + config_reg->CONFIG_RAMADDRDECVECT[1U] = tcram2REG->RAMADDRDECVECT; + } +} + +/** @fn customTrimLPO(void) +* @brief custom function to initilize LPO trim values +* +* This function initializes default LPO trim values if OTP value is 0XFFFF, +* user can also write their own code to handle this case . +* +*/ +void customTrimLPO(void) +{ + /* User can write logic to handle the case where LPO trim is set to 0xFFFFu */ +/* USER CODE BEGIN (29) */ +/* USER CODE END */ + + /* Load default trimLPO value */ + systemREG1->LPOMONCTL = (uint32)((uint32)1U << 24U) + | (uint32)((uint32)16U << 8U) + | (uint32)((uint32)16U); + +/* USER CODE BEGIN (30) */ +/* USER CODE END */ +} diff --git a/TestBoardFirmware/phantom_drivers/bms/source/bms_slaves.c b/TestBoardFirmware/phantom_drivers/bms/source/bms_slaves.c index 91c2890e..0942d276 100644 --- a/TestBoardFirmware/phantom_drivers/bms/source/bms_slaves.c +++ b/TestBoardFirmware/phantom_drivers/bms/source/bms_slaves.c @@ -19,19 +19,19 @@ // BMS Slave specific definitions, not accessed outside bms_slaves.c #define VOLTAGE_STEP 0.04 -#define DEFAULT_VOLTAGE 84 -#define DEFAULT_TEMPERATURE 25 -#define NUMBER_OF_TEMPERATURE_READINGS 16 +#define DEFAULT_VOLTAGE 840 +#define DEFAULT_TEMPERATURE 250 +#define NUMBER_OF_TEMPERATURE_READINGS 160 #define TRANSFER_GROUP 2 // THESE VALUES NEED TO BE CHECKED - all must be an INT -#define TEMP_MAX_VOLT 113 // 1.131 == 55 degrees -#define TEMP_MIN_VOLT 268 // 2.682 = 0 degrees -#define TEMP_HIGH_VOLT 67 //66.83 // 0.6683 = 76 degrees -#define TEMP_LOW_VOLT 270 // 2.70 = 0 degrees -#define VOLT_MIN 76 // 0.7608 * 100 -#define VOLT_MAX 100 // 0.9985 * 100 +#define TEMP_MAX_VOLT 1131 // 1.131 == 55 degrees +#define TEMP_MIN_VOLT 2682 // 2.682 = 0 degrees +#define TEMP_HIGH_VOLT 668 //66.83 // 0.6683 = 76 degrees +#define TEMP_LOW_VOLT 2700 // 2.70 = 0 degrees +#define VOLT_MIN 761 // 0.7608 * 100 +#define VOLT_MAX 999 // 0.9985 * 100 // CHANGE THIS VALUE TO #define VOLT_TEST 0 //102 = 84.5 diff --git a/TestBoardFirmware/phantom_drivers/common/include/common.h b/TestBoardFirmware/phantom_drivers/common/include/common.h index 34f40370..01e64c26 100644 --- a/TestBoardFirmware/phantom_drivers/common/include/common.h +++ b/TestBoardFirmware/phantom_drivers/common/include/common.h @@ -40,7 +40,9 @@ //Common defines -#define SWEEP_STEP 25 +#define TIMER_DEBUG +//#define HV_VS_DEBUG +#define SWEEP_STEP 250 #define SWEEP_PERIOD 500 diff --git a/TestBoardFirmware/phantom_drivers/common/source/MCP48FV_DAC_SPI.c b/TestBoardFirmware/phantom_drivers/common/source/MCP48FV_DAC_SPI.c index 5f1e90e4..2921adc5 100644 --- a/TestBoardFirmware/phantom_drivers/common/source/MCP48FV_DAC_SPI.c +++ b/TestBoardFirmware/phantom_drivers/common/source/MCP48FV_DAC_SPI.c @@ -24,20 +24,26 @@ bool MCP48FV_Init(){ return true; } +uint32_t voltstep_calc(uint16_t voltage, uint16_t dacsize){ + + uint32_t enableBitPercent= (voltage*1000)/(DAC_HIGHEST_VOLTAGE*1000); + uint32_t steps = (enableBitPercent*dacsize)/1000; + + return steps; +} + /* Main DAC controllers, configure to set output voltage(s) from 0-5VDC - * Example Use: targetVoltage = 500 for 5.00V, 251 = 2.51V + * Example Use: targetVoltage = 5000 for 5.00V, 2510 = 2.51V */ bool MCP48FV_Set_Value_Double(uint16_t targetVoltage1, uint16_t targetVoltage2, uint16_t dac_size, uint32_t transfer_group){ - targetVoltage1 = (targetVoltage1>496) ? 496 : targetVoltage1; - targetVoltage2 = (targetVoltage2>496) ? 496 : targetVoltage2; + targetVoltage1 = (targetVoltage1>4960) ? 4960 : targetVoltage1; + targetVoltage2 = (targetVoltage2>4960) ? 4960 : targetVoltage2; - uint32_t enableBitPercent1= ((targetVoltage1)*1000)/(DAC_HIGHEST_VOLTAGE*100); - uint32_t dacData1= (enableBitPercent1*dac_size)/1000; + uint32_t dacData1= voltstep_calc(targetVoltage1, dac_size); MCP48FV_Write(cmdCreator(DAC0_REGISTER_ADDRESS, DAC_WRITE_CMD, CMDERR, dacData1), transfer_group); - uint32_t enableBitPercent2= ((targetVoltage2)*1000)/(DAC_HIGHEST_VOLTAGE*100); - uint32_t dacData2= (enableBitPercent2*dac_size)/1000; + uint32_t dacData2= voltstep_calc(targetVoltage2, dac_size); MCP48FV_Write(cmdCreator(DAC1_REGISTER_ADDRESS, DAC_WRITE_CMD, CMDERR, dacData2), transfer_group); return true; @@ -45,10 +51,9 @@ bool MCP48FV_Set_Value_Double(uint16_t targetVoltage1, uint16_t targetVoltage2, bool MCP48FV_Set_Value_Single(uint16_t targetVoltage, uint16_t dac_size, uint8_t dacVout, uint32_t transfer_group){ - targetVoltage = (targetVoltage>496) ? 496 : targetVoltage; + targetVoltage = (targetVoltage>4960) ? 4960 : targetVoltage; - uint32_t enableBitPercent= ((targetVoltage)*1000)/(DAC_HIGHEST_VOLTAGE*100); - uint32_t dacData= (enableBitPercent*dac_size)/1000; + uint32_t dacData= voltstep_calc(targetVoltage, dac_size); MCP48FV_Write(cmdCreator(dacVout, DAC_WRITE_CMD, CMDERR, dacData), transfer_group); diff --git a/TestBoardFirmware/phantom_drivers/vcu/source/apps.c b/TestBoardFirmware/phantom_drivers/vcu/source/apps.c index e03fbbf6..9a53141c 100644 --- a/TestBoardFirmware/phantom_drivers/vcu/source/apps.c +++ b/TestBoardFirmware/phantom_drivers/vcu/source/apps.c @@ -7,10 +7,11 @@ #include "apps.h" -#define APPS1_MAX 440 -#define APPS1_MIN 150 -#define APPS2_MAX 150 -#define APPS2_MIN 50 +#define APPS1_MAX 4400 +#define APPS1_MIN 1500 +#define APPS2_MAX 1500 +#define APPS2_MIN 500 +#define DAC_SIZE_APPS 0xFF // Static function prototypes static void normal_apps_on(); diff --git a/TestBoardFirmware/phantom_drivers/vcu/source/bse.c b/TestBoardFirmware/phantom_drivers/vcu/source/bse.c index e0bb27af..b082c0c5 100644 --- a/TestBoardFirmware/phantom_drivers/vcu/source/bse.c +++ b/TestBoardFirmware/phantom_drivers/vcu/source/bse.c @@ -7,10 +7,10 @@ #include "bse.h" -#define BSE_MAX 430 -#define BSE_MIN 150 +#define BSE_MAX 4300 +#define BSE_MIN 1500 #define BSE_OPEN 0 -#define BSE_SHORT 500 +#define BSE_SHORT 5000 #define VOUT1 1 #define DAC_SIZE_BSE 0xFF