REG= { SYS_SYS_PDID=1342177280, SYS_SYS_RSTSTS=1342177284, SYS_SYS_IPRST0=1342177288, SYS_SYS_IPRST1=1342177292, SYS_SYS_IPRST2=1342177296, SYS_SYS_BODCTL=1342177304, SYS_SYS_IVSCTL=1342177308, SYS_SYS_PORCTL=1342177316, SYS_SYS_VREFCTL=1342177320, SYS_SYS_GPA_MFPL=1342177328, SYS_SYS_GPA_MFPH=1342177332, SYS_SYS_GPB_MFPL=1342177336, SYS_SYS_GPB_MFPH=1342177340, SYS_SYS_GPC_MFPL=1342177344, SYS_SYS_GPC_MFPH=1342177348, SYS_SYS_GPD_MFPL=1342177352, SYS_SYS_GPD_MFPH=1342177356, SYS_SYS_GPE_MFPL=1342177360, SYS_SYS_GPE_MFPH=1342177364, SYS_SYS_GPF_MFPL=1342177368, SYS_SYS_IRCTCTL0=1342177408, SYS_SYS_IRCTIEN=1342177412, SYS_SYS_IRCTISTS=1342177416, SYS_SYS_IRCTCTL1=1342177424, SYS_SYS_MODCTL=1342177472, SYS_SYS_SRAM_BISTCTL=1342177488, SYS_SYS_SRAM_BISTSTS=1342177492, SYS_SYS_REGLCTL=1342177536, SYS_SYS_TSOFFSET=1342177556, SCS_SYST_CSR=3758153744, SCS_SYST_RVR=3758153748, SCS_SYST_CVR=3758153752, SCS_NVIC_ISER=3758153984, SCS_NVIC_ICER=3758154112, SCS_NVIC_ISPR=3758154240, SCS_NVIC_ICPR=3758154368, SCS_NVIC_IPR0=3758154752, SCS_NVIC_IPR1=3758154756, SCS_NVIC_IPR2=3758154760, SCS_NVIC_IPR3=3758154764, SCS_NVIC_IPR4=3758154768, SCS_NVIC_IPR5=3758154772, SCS_NVIC_IPR6=3758154776, SCS_NVIC_IPR7=3758154780, SCS_CPUID=3758157056, SCS_ICSR=3758157060, SCS_AIRCR=3758157068, SCS_SCR=3758157072, SCS_SHPR2=3758157084, SCS_SHPR3=3758157088, INT_IRQ0_SRC=1342178048, INT_IRQ1_SRC=1342178052, INT_IRQ2_SRC=1342178056, INT_IRQ3_SRC=1342178060, INT_IRQ4_SRC=1342178064, INT_IRQ5_SRC=1342178068, INT_IRQ6_SRC=1342178072, INT_IRQ7_SRC=1342178076, INT_IRQ8_SRC=1342178080, INT_IRQ9_SRC=1342178084, INT_IRQ10_SRC=1342178088, INT_IRQ11_SRC=1342178092, INT_IRQ12_SRC=1342178096, INT_IRQ13_SRC=1342178100, INT_IRQ14_SRC=1342178104, INT_IRQ15_SRC=1342178108, INT_IRQ16_SRC=1342178112, INT_IRQ17_SRC=1342178116, INT_IRQ18_SRC=1342178120, INT_IRQ19_SRC=1342178124, INT_IRQ20_SRC=1342178128, INT_IRQ21_SRC=1342178132, INT_IRQ22_SRC=1342178136, INT_IRQ23_SRC=1342178140, INT_IRQ24_SRC=1342178144, INT_IRQ25_SRC=1342178148, INT_IRQ26_SRC=1342178152, INT_IRQ27_SRC=1342178156, INT_IRQ28_SRC=1342178160, INT_IRQ29_SRC=1342178164, INT_IRQ30_SRC=1342178168, INT_IRQ31_SRC=1342178172, INT_NMI_SEL=1342178176, CLK_CLK_PWRCTL=1342177792, CLK_CLK_AHBCLK=1342177796, CLK_CLK_APBCLK0=1342177800, CLK_CLK_STATUS=1342177804, CLK_CLK_CLKSEL0=1342177808, CLK_CLK_CLKSEL1=1342177812, CLK_CLK_CLKDIV0=1342177816, CLK_CLK_CLKSEL2=1342177820, CLK_CLK_PLLCTL=1342177824, CLK_CLK_CLKOCTL=1342177828, CLK_CLK_APBCLK1=1342177840, CLK_CLK_CLKSEL3=1342177844, CLK_CLK_CLKDIV1=1342177848, CLK_CLK_BODCLK=1342177856, CLK_CLK_CLKDCTL=1342177904, CLK_CLK_CLKDSTS=1342177908, CLK_CLK_CDUPB=1342177912, CLK_CLK_CDLOWB=1342177916, FMC_FMC_ISPCTL=1342226432, FMC_FMC_ISPADDR=1342226436, FMC_FMC_ISPDAT=1342226440, FMC_FMC_ISPCMD=1342226444, FMC_FMC_ISPTRG=1342226448, FMC_FMC_DFBA=1342226452, FMC_FMC_FTCTL=1342226456, FMC_FMC_ISPSTS=1342226496, FMC_FMC_MPDAT0=1342226560, FMC_FMC_MPDAT1=1342226564, FMC_FMC_MPDAT2=1342226568, FMC_FMC_MPDAT3=1342226572, FMC_FMC_MPSTS=1342226624, FMC_FMC_MPADDR=1342226628, ACMP01_ACMP_CTL0=1074593792, ACMP01_ACMP_CTL1=1074593796, ACMP01_ACMP_STATUS=1074593800, ACMP01_ACMP_VREF=1074593804, ADC_ADC_ADDR0=1074659328, ADC_ADC_ADDR1=1074659332, ADC_ADC_ADDR2=1074659336, ADC_ADC_ADDR3=1074659340, ADC_ADC_ADDR4=1074659344, ADC_ADC_ADDR5=1074659348, ADC_ADC_ADDR6=1074659352, ADC_ADC_ADDR7=1074659356, ADC_ADC_ADDR8=1074659360, ADC_ADC_ADDR9=1074659364, ADC_ADC_ADDR10=1074659368, ADC_ADC_ADDR11=1074659372, ADC_ADC_ADDR12=1074659376, ADC_ADC_ADDR13=1074659380, ADC_ADC_ADDR14=1074659384, ADC_ADC_ADDR15=1074659388, ADC_ADC_ADDR16=1074659392, ADC_ADC_ADDR17=1074659396, ADC_ADC_ADDR18=1074659400, ADC_ADC_ADDR19=1074659404, ADC_ADC_ADDR29=1074659444, ADC_ADC_ADDR30=1074659448, ADC_ADC_ADDR31=1074659452, ADC_ADC_ADCR=1074659456, ADC_ADC_ADCHER=1074659460, ADC_ADC_ADCMPR0=1074659464, ADC_ADC_ADCMPR1=1074659468, ADC_ADC_ADSR0=1074659472, ADC_ADC_ADSR1=1074659476, ADC_ADC_ADSR2=1074659480, ADC_ADC_ADTDCR=1074659484, ADC_ADC_ADPDMA=1074659584, CRC_CRC_CTL=1342275584, CRC_CRC_DAT=1342275588, CRC_CRC_SEED=1342275592, CRC_CRC_CHECKSUM=1342275596, EBI_EBI_CTL0=1342242816, EBI_EBI_TCTL0=1342242820, EBI_EBI_CTL1=1342242832, EBI_EBI_TCTL1=1342242836, GPIO_PA_MODE=1342193664, GPIO_PA_DINOFF=1342193668, GPIO_PA_DOUT=1342193672, GPIO_PA_DATMSK=1342193676, GPIO_PA_PIN=1342193680, GPIO_PA_DBEN=1342193684, GPIO_PA_INTTYPE=1342193688, GPIO_PA_INTEN=1342193692, GPIO_PA_INTSRC=1342193696, GPIO_PA_SMTEN=1342193700, GPIO_PA_SLEWCTL=1342193704, GPIO_PB_MODE=1342193728, GPIO_PB_DINOFF=1342193732, GPIO_PB_DOUT=1342193736, GPIO_PB_DATMSK=1342193740, GPIO_PB_PIN=1342193744, GPIO_PB_DBEN=1342193748, GPIO_PB_INTTYPE=1342193752, GPIO_PB_INTEN=1342193756, GPIO_PB_INTSRC=1342193760, GPIO_PB_SMTEN=1342193764, GPIO_PB_SLEWCTL=1342193768, GPIO_PC_MODE=1342193792, GPIO_PC_DINOFF=1342193796, GPIO_PC_DOUT=1342193800, GPIO_PC_DATMSK=1342193804, GPIO_PC_PIN=1342193808, GPIO_PC_DBEN=1342193812, GPIO_PC_INTTYPE=1342193816, GPIO_PC_INTEN=1342193820, GPIO_PC_INTSRC=1342193824, GPIO_PC_SMTEN=1342193828, GPIO_PC_SLEWCTL=1342193832, GPIO_PD_MODE=1342193856, GPIO_PD_DINOFF=1342193860, GPIO_PD_DOUT=1342193864, GPIO_PD_DATMSK=1342193868, GPIO_PD_PIN=1342193872, GPIO_PD_DBEN=1342193876, GPIO_PD_INTTYPE=1342193880, GPIO_PD_INTEN=1342193884, GPIO_PD_INTSRC=1342193888, GPIO_PD_SMTEN=1342193892, GPIO_PD_SLEWCTL=1342193896, GPIO_PE_MODE=1342193920, GPIO_PE_DINOFF=1342193924, GPIO_PE_DOUT=1342193928, GPIO_PE_DATMSK=1342193932, GPIO_PE_PIN=1342193936, GPIO_PE_DBEN=1342193940, GPIO_PE_INTTYPE=1342193944, GPIO_PE_INTEN=1342193948, GPIO_PE_INTSRC=1342193952, GPIO_PE_SMTEN=1342193956, GPIO_PE_SLEWCTL=1342193960, GPIO_PE_DRVCTL=1342193964, GPIO_PF_MODE=1342193984, GPIO_PF_DINOFF=1342193988, GPIO_PF_DOUT=1342193992, GPIO_PF_DATMSK=1342193996, GPIO_PF_PIN=1342194000, GPIO_PF_DBEN=1342194004, GPIO_PF_INTTYPE=1342194008, GPIO_PF_INTEN=1342194012, GPIO_PF_INTSRC=1342194016, GPIO_PF_SMTEN=1342194020, GPIO_PF_SLEWCTL=1342194024, GPIO_GPIO_DBCTL=1342194048, GPIO_PA0_PDIO=1342194176, GPIO_PA1_PDIO=1342194180, GPIO_PA2_PDIO=1342194184, GPIO_PA3_PDIO=1342194188, GPIO_PA4_PDIO=1342194192, GPIO_PA5_PDIO=1342194196, GPIO_PA6_PDIO=1342194200, GPIO_PA7_PDIO=1342194204, GPIO_PA8_PDIO=1342194208, GPIO_PA9_PDIO=1342194212, GPIO_PA10_PDIO=1342194216, GPIO_PA11_PDIO=1342194220, GPIO_PA12_PDIO=1342194224, GPIO_PA13_PDIO=1342194228, GPIO_PA14_PDIO=1342194232, GPIO_PA15_PDIO=1342194236, GPIO_PB0_PDIO=1342194240, GPIO_PB1_PDIO=1342194244, GPIO_PB2_PDIO=1342194248, GPIO_PB3_PDIO=1342194252, GPIO_PB4_PDIO=1342194256, GPIO_PB5_PDIO=1342194260, GPIO_PB6_PDIO=1342194264, GPIO_PB7_PDIO=1342194268, GPIO_PB8_PDIO=1342194272, GPIO_PB9_PDIO=1342194276, GPIO_PB10_PDIO=1342194280, GPIO_PB11_PDIO=1342194284, GPIO_PB12_PDIO=1342194288, GPIO_PB13_PDIO=1342194292, GPIO_PB14_PDIO=1342194296, GPIO_PB15_PDIO=1342194300, GPIO_PC0_PDIO=1342194304, GPIO_PC1_PDIO=1342194308, GPIO_PC2_PDIO=1342194312, GPIO_PC3_PDIO=1342194316, GPIO_PC4_PDIO=1342194320, GPIO_PC5_PDIO=1342194324, GPIO_PC6_PDIO=1342194328, GPIO_PC7_PDIO=1342194332, GPIO_PC8_PDIO=1342194336, GPIO_PC9_PDIO=1342194340, GPIO_PC10_PDIO=1342194344, GPIO_PC11_PDIO=1342194348, GPIO_PC12_PDIO=1342194352, GPIO_PC13_PDIO=1342194356, GPIO_PC14_PDIO=1342194360, GPIO_PC15_PDIO=1342194364, GPIO_PD0_PDIO=1342194368, GPIO_PD1_PDIO=1342194372, GPIO_PD2_PDIO=1342194376, GPIO_PD3_PDIO=1342194380, GPIO_PD4_PDIO=1342194384, GPIO_PD5_PDIO=1342194388, GPIO_PD6_PDIO=1342194392, GPIO_PD7_PDIO=1342194396, GPIO_PD8_PDIO=1342194400, GPIO_PD9_PDIO=1342194404, GPIO_PD10_PDIO=1342194408, GPIO_PD11_PDIO=1342194412, GPIO_PD12_PDIO=1342194416, GPIO_PD13_PDIO=1342194420, GPIO_PD14_PDIO=1342194424, GPIO_PD15_PDIO=1342194428, GPIO_PE0_PDIO=1342194432, GPIO_PE1_PDIO=1342194436, GPIO_PE2_PDIO=1342194440, GPIO_PE3_PDIO=1342194444, GPIO_PE4_PDIO=1342194448, GPIO_PE5_PDIO=1342194452, GPIO_PE6_PDIO=1342194456, GPIO_PE7_PDIO=1342194460, GPIO_PE8_PDIO=1342194464, GPIO_PE9_PDIO=1342194468, GPIO_PE10_PDIO=1342194472, GPIO_PE11_PDIO=1342194476, GPIO_PE12_PDIO=1342194480, GPIO_PE13_PDIO=1342194484, GPIO_PF0_PDIO=1342194496, GPIO_PF1_PDIO=1342194500, GPIO_PF2_PDIO=1342194504, GPIO_PF3_PDIO=1342194508, GPIO_PF4_PDIO=1342194512, GPIO_PF5_PDIO=1342194516, GPIO_PF6_PDIO=1342194520, GPIO_PF7_PDIO=1342194524, HDIV_HDIV_DIVIDEND=1342259200, HDIV_HDIV_DIVISOR=1342259204, HDIV_HDIV_DIVQUO=1342259208, HDIV_HDIV_DIVREM=1342259212, HDIV_HDIV_DIVSTS=1342259216, I2C0_I2C_CTL=1073872896, I2C0_I2C_ADDR0=1073872900, I2C0_I2C_DAT=1073872904, I2C0_I2C_STATUS=1073872908, I2C0_I2C_CLKDIV=1073872912, I2C0_I2C_TOCTL=1073872916, I2C0_I2C_ADDR1=1073872920, I2C0_I2C_ADDR2=1073872924, I2C0_I2C_ADDR3=1073872928, I2C0_I2C_ADDRMSK0=1073872932, I2C0_I2C_ADDRMSK1=1073872936, I2C0_I2C_ADDRMSK2=1073872940, I2C0_I2C_ADDRMSK3=1073872944, I2C0_I2C_WKCTL=1073872956, I2C0_I2C_WKSTS=1073872960, I2C0_I2C_CTL1=1073872964, I2C0_I2C_STATUS1=1073872968, I2C0_I2C_TMCTL=1073872972, I2C1_I2C_CTL=1074921472, I2C1_I2C_ADDR0=1074921476, I2C1_I2C_DAT=1074921480, I2C1_I2C_STATUS=1074921484, I2C1_I2C_CLKDIV=1074921488, I2C1_I2C_TOCTL=1074921492, I2C1_I2C_ADDR1=1074921496, I2C1_I2C_ADDR2=1074921500, I2C1_I2C_ADDR3=1074921504, I2C1_I2C_ADDRMSK0=1074921508, I2C1_I2C_ADDRMSK1=1074921512, I2C1_I2C_ADDRMSK2=1074921516, I2C1_I2C_ADDRMSK3=1074921520, I2C1_I2C_WKCTL=1074921532, I2C1_I2C_WKSTS=1074921536, I2C1_I2C_CTL1=1074921540, I2C1_I2C_STATUS1=1074921544, I2C1_I2C_TMCTL=1074921548, PDMA_PDMA_DSCT0_CTL=1342210048, PDMA_PDMA_DSCT0_SA=1342210052, PDMA_PDMA_DSCT0_DA=1342210056, PDMA_PDMA_DSCT0_FIRST=1342210060, PDMA_PDMA_DSCT1_CTL=1342210064, PDMA_PDMA_DSCT1_SA=1342210068, PDMA_PDMA_DSCT1_DA=1342210072, PDMA_PDMA_DSCT1_FIRST=1342210076, PDMA_PDMA_DSCT2_CTL=1342210080, PDMA_PDMA_DSCT2_SA=1342210084, PDMA_PDMA_DSCT2_DA=1342210088, PDMA_PDMA_DSCT2_FIRST=1342210092, PDMA_PDMA_DSCT3_CTL=1342210096, PDMA_PDMA_DSCT3_SA=1342210100, PDMA_PDMA_DSCT3_DA=1342210104, PDMA_PDMA_DSCT3_FIRST=1342210108, PDMA_PDMA_DSCT4_CTL=1342210112, PDMA_PDMA_DSCT4_SA=1342210116, PDMA_PDMA_DSCT4_DA=1342210120, PDMA_PDMA_DSCT4_FIRST=1342210124, PDMA_PDMA_CURSCAT0=1342210128, PDMA_PDMA_CURSCAT1=1342210132, PDMA_PDMA_CURSCAT2=1342210136, PDMA_PDMA_CURSCAT3=1342210140, PDMA_PDMA_CURSCAT4=1342210144, PDMA_PDMA_CHCTL=1342211072, PDMA_PDMA_PAUSE=1342211076, PDMA_PDMA_SWREQ=1342211080, PDMA_PDMA_TRGSTS=1342211084, PDMA_PDMA_PRISET=1342211088, PDMA_PDMA_PRICLR=1342211092, PDMA_PDMA_INTEN=1342211096, PDMA_PDMA_INTSTS=1342211100, PDMA_PDMA_ABTSTS=1342211104, PDMA_PDMA_TDSTS=1342211108, PDMA_PDMA_SCATSTS=1342211112, PDMA_PDMA_TACTSTS=1342211116, PDMA_PDMA_TOUTPSC=1342211120, PDMA_PDMA_TOUTEN=1342211124, PDMA_PDMA_TOUTIEN=1342211128, PDMA_PDMA_SCATBA=1342211132, PDMA_PDMA_TOC0_1=1342211136, PDMA_PDMA_RESET=1342211168, PDMA_PDMA_REQSEL0_3=1342211200, PDMA_PDMA_REQSEL4=1342211204, PWM0_PWM_CTL0=1074003968, PWM0_PWM_CTL1=1074003972, PWM0_PWM_SYNC=1074003976, PWM0_PWM_SWSYNC=1074003980, PWM0_PWM_CLKSRC=1074003984, PWM0_PWM_CLKPSC0_1=1074003988, PWM0_PWM_CLKPSC2_3=1074003992, PWM0_PWM_CLKPSC4_5=1074003996, PWM0_PWM_CNTEN=1074004000, PWM0_PWM_CNTCLR=1074004004, PWM0_PWM_LOAD=1074004008, PWM0_PWM_PERIOD0=1074004016, PWM0_PWM_PERIOD1=1074004020, PWM0_PWM_PERIOD2=1074004024, PWM0_PWM_PERIOD3=1074004028, PWM0_PWM_PERIOD4=1074004032, PWM0_PWM_PERIOD5=1074004036, PWM0_PWM_CMPDAT0=1074004048, PWM0_PWM_CMPDAT1=1074004052, PWM0_PWM_CMPDAT2=1074004056, PWM0_PWM_CMPDAT3=1074004060, PWM0_PWM_CMPDAT4=1074004064, PWM0_PWM_CMPDAT5=1074004068, PWM0_PWM_DTCTL0_1=1074004080, PWM0_PWM_DTCTL2_3=1074004084, PWM0_PWM_DTCTL4_5=1074004088, PWM0_PWM_PHS0_1=1074004096, PWM0_PWM_PHS2_3=1074004100, PWM0_PWM_PHS4_5=1074004104, PWM0_PWM_CNT0=1074004112, PWM0_PWM_CNT1=1074004116, PWM0_PWM_CNT2=1074004120, PWM0_PWM_CNT3=1074004124, PWM0_PWM_CNT4=1074004128, PWM0_PWM_CNT5=1074004132, PWM0_PWM_WGCTL0=1074004144, PWM0_PWM_WGCTL1=1074004148, PWM0_PWM_MSKEN=1074004152, PWM0_PWM_MSK=1074004156, PWM0_PWM_BNF=1074004160, PWM0_PWM_FAILBRK=1074004164, PWM0_PWM_BRKCTL0_1=1074004168, PWM0_PWM_BRKCTL2_3=1074004172, PWM0_PWM_BRKCTL4_5=1074004176, PWM0_PWM_POLCTL=1074004180, PWM0_PWM_POEN=1074004184, PWM0_PWM_SWBRK=1074004188, PWM0_PWM_INTEN0=1074004192, PWM0_PWM_INTEN1=1074004196, PWM0_PWM_INTSTS0=1074004200, PWM0_PWM_INTSTS1=1074004204, PWM0_PWM_IFA=1074004208, PWM0_PWM_ADCTS0=1074004216, PWM0_PWM_ADCTS1=1074004220, PWM0_PWM_FTCMPDAT0_1=1074004224, PWM0_PWM_FTCMPDAT2_3=1074004228, PWM0_PWM_FTCMPDAT4_5=1074004232, PWM0_PWM_SSCTL=1074004240, PWM0_PWM_SSTRG=1074004244, PWM0_PWM_LEBCTL=1074004248, PWM0_PWM_LEBCNT=1074004252, PWM0_PWM_STATUS=1074004256, PWM0_PWM_CAPINEN=1074004480, PWM0_PWM_CAPCTL=1074004484, PWM0_PWM_CAPSTS=1074004488, PWM0_PWM_RCAPDAT0=1074004492, PWM0_PWM_FCAPDAT0=1074004496, PWM0_PWM_RCAPDAT1=1074004500, PWM0_PWM_FCAPDAT1=1074004504, PWM0_PWM_RCAPDAT2=1074004508, PWM0_PWM_FCAPDAT2=1074004512, PWM0_PWM_RCAPDAT3=1074004516, PWM0_PWM_FCAPDAT3=1074004520, PWM0_PWM_RCAPDAT4=1074004524, PWM0_PWM_FCAPDAT4=1074004528, PWM0_PWM_RCAPDAT5=1074004532, PWM0_PWM_FCAPDAT5=1074004536, PWM0_PWM_PDMACTL=1074004540, PWM0_PWM_PDMACAP0_1=1074004544, PWM0_PWM_PDMACAP2_3=1074004548, PWM0_PWM_PDMACAP4_5=1074004552, PWM0_PWM_CAPIEN=1074004560, PWM0_PWM_CAPIF=1074004564, PWM0_PWM_PBUF0=1074004740, PWM0_PWM_PBUF1=1074004744, PWM0_PWM_PBUF2=1074004748, PWM0_PWM_PBUF3=1074004752, PWM0_PWM_PBUF4=1074004756, PWM0_PWM_PBUF5=1074004760, PWM0_PWM_CMPBUF0=1074004764, PWM0_PWM_CMPBUF1=1074004768, PWM0_PWM_CMPBUF2=1074004772, PWM0_PWM_CMPBUF3=1074004776, PWM0_PWM_CMPBUF4=1074004780, PWM0_PWM_CMPBUF5=1074004784, PWM0_PWM_CPSCBUF0_1=1074004788, PWM0_PWM_CPSCBUF2_3=1074004792, PWM0_PWM_CPSCBUF4_5=1074004796, PWM0_PWM_FTCBUF0_1=1074004800, PWM0_PWM_FTCBUF2_3=1074004804, PWM0_PWM_FTCBUF4_5=1074004808, PWM0_PWM_FTCI=1074004812, PWM1_PWM_CTL0=1075052544, PWM1_PWM_CTL1=1075052548, PWM1_PWM_SYNC=1075052552, PWM1_PWM_SWSYNC=1075052556, PWM1_PWM_CLKSRC=1075052560, PWM1_PWM_CLKPSC0_1=1075052564, PWM1_PWM_CLKPSC2_3=1075052568, PWM1_PWM_CLKPSC4_5=1075052572, PWM1_PWM_CNTEN=1075052576, PWM1_PWM_CNTCLR=1075052580, PWM1_PWM_LOAD=1075052584, PWM1_PWM_PERIOD0=1075052592, PWM1_PWM_PERIOD1=1075052596, PWM1_PWM_PERIOD2=1075052600, PWM1_PWM_PERIOD3=1075052604, PWM1_PWM_PERIOD4=1075052608, PWM1_PWM_PERIOD5=1075052612, PWM1_PWM_CMPDAT0=1075052624, PWM1_PWM_CMPDAT1=1075052628, PWM1_PWM_CMPDAT2=1075052632, PWM1_PWM_CMPDAT3=1075052636, PWM1_PWM_CMPDAT4=1075052640, PWM1_PWM_CMPDAT5=1075052644, PWM1_PWM_DTCTL0_1=1075052656, PWM1_PWM_DTCTL2_3=1075052660, PWM1_PWM_DTCTL4_5=1075052664, PWM1_PWM_PHS0_1=1075052672, PWM1_PWM_PHS2_3=1075052676, PWM1_PWM_PHS4_5=1075052680, PWM1_PWM_CNT0=1075052688, PWM1_PWM_CNT1=1075052692, PWM1_PWM_CNT2=1075052696, PWM1_PWM_CNT3=1075052700, PWM1_PWM_CNT4=1075052704, PWM1_PWM_CNT5=1075052708, PWM1_PWM_WGCTL0=1075052720, PWM1_PWM_WGCTL1=1075052724, PWM1_PWM_MSKEN=1075052728, PWM1_PWM_MSK=1075052732, PWM1_PWM_BNF=1075052736, PWM1_PWM_FAILBRK=1075052740, PWM1_PWM_BRKCTL0_1=1075052744, PWM1_PWM_BRKCTL2_3=1075052748, PWM1_PWM_BRKCTL4_5=1075052752, PWM1_PWM_POLCTL=1075052756, PWM1_PWM_POEN=1075052760, PWM1_PWM_SWBRK=1075052764, PWM1_PWM_INTEN0=1075052768, PWM1_PWM_INTEN1=1075052772, PWM1_PWM_INTSTS0=1075052776, PWM1_PWM_INTSTS1=1075052780, PWM1_PWM_IFA=1075052784, PWM1_PWM_ADCTS0=1075052792, PWM1_PWM_ADCTS1=1075052796, PWM1_PWM_FTCMPDAT0_1=1075052800, PWM1_PWM_FTCMPDAT2_3=1075052804, PWM1_PWM_FTCMPDAT4_5=1075052808, PWM1_PWM_SSCTL=1075052816, PWM1_PWM_SSTRG=1075052820, PWM1_PWM_LEBCTL=1075052824, PWM1_PWM_LEBCNT=1075052828, PWM1_PWM_STATUS=1075052832, PWM1_PWM_CAPINEN=1075053056, PWM1_PWM_CAPCTL=1075053060, PWM1_PWM_CAPSTS=1075053064, PWM1_PWM_RCAPDAT0=1075053068, PWM1_PWM_FCAPDAT0=1075053072, PWM1_PWM_RCAPDAT1=1075053076, PWM1_PWM_FCAPDAT1=1075053080, PWM1_PWM_RCAPDAT2=1075053084, PWM1_PWM_FCAPDAT2=1075053088, PWM1_PWM_RCAPDAT3=1075053092, PWM1_PWM_FCAPDAT3=1075053096, PWM1_PWM_RCAPDAT4=1075053100, PWM1_PWM_FCAPDAT4=1075053104, PWM1_PWM_RCAPDAT5=1075053108, PWM1_PWM_FCAPDAT5=1075053112, PWM1_PWM_PDMACTL=1075053116, PWM1_PWM_PDMACAP0_1=1075053120, PWM1_PWM_PDMACAP2_3=1075053124, PWM1_PWM_PDMACAP4_5=1075053128, PWM1_PWM_CAPIEN=1075053136, PWM1_PWM_CAPIF=1075053140, PWM1_PWM_PBUF0=1075053316, PWM1_PWM_PBUF1=1075053320, PWM1_PWM_PBUF2=1075053324, PWM1_PWM_PBUF3=1075053328, PWM1_PWM_PBUF4=1075053332, PWM1_PWM_PBUF5=1075053336, PWM1_PWM_CMPBUF0=1075053340, PWM1_PWM_CMPBUF1=1075053344, PWM1_PWM_CMPBUF2=1075053348, PWM1_PWM_CMPBUF3=1075053352, PWM1_PWM_CMPBUF4=1075053356, PWM1_PWM_CMPBUF5=1075053360, PWM1_PWM_CPSCBUF0_1=1075053364, PWM1_PWM_CPSCBUF2_3=1075053368, PWM1_PWM_CPSCBUF4_5=1075053372, PWM1_PWM_FTCBUF0_1=1075053376, PWM1_PWM_FTCBUF2_3=1075053380, PWM1_PWM_FTCBUF4_5=1075053384, PWM1_PWM_FTCI=1075053388, RTC_RTC_INIT=1073774592, RTC_RTC_RWEN=1073774596, RTC_RTC_FREQADJ=1073774600, RTC_RTC_TIME=1073774604, RTC_RTC_CAL=1073774608, RTC_RTC_CLKFMT=1073774612, RTC_RTC_WEEKDAY=1073774616, RTC_RTC_TALM=1073774620, RTC_RTC_CALM=1073774624, RTC_RTC_LEAPYEAR=1073774628, RTC_RTC_INTEN=1073774632, RTC_RTC_INTSTS=1073774636, RTC_RTC_TICK=1073774640, RTC_RTC_TAMSK=1073774644, RTC_RTC_CAMSK=1073774648, RTC_RTC_LXTCTL=1073774848, RTC_RTC_LXTOCTL=1073774852, RTC_RTC_LXTICTL=1073774856, RTC_RTC_PF2CTL=1073774860, RTC_RTC_DSTCTL=1073774864, SC0_SC_DAT=1075380224, SC0_SC_CTL=1075380228, SC0_SC_ALTCTL=1075380232, SC0_SC_EGT=1075380236, SC0_SC_RXTOUT=1075380240, SC0_SC_ETUCTL=1075380244, SC0_SC_INTEN=1075380248, SC0_SC_INTSTS=1075380252, SC0_SC_STATUS=1075380256, SC0_SC_PINCTL=1075380260, SC0_SC_TMRCTL0=1075380264, SC0_SC_TMRCTL1=1075380268, SC0_SC_TMRCTL2=1075380272, SC0_SC_UARTCTL=1075380276, SC0_SC_TMRDAT0=1075380280, SC0_SC_TMRDAT12=1075380284, SC0_SC_ACTCTL=1075380300, SC1_SC_DAT=1075396608, SC1_SC_CTL=1075396612, SC1_SC_ALTCTL=1075396616, SC1_SC_EGT=1075396620, SC1_SC_RXTOUT=1075396624, SC1_SC_ETUCTL=1075396628, SC1_SC_INTEN=1075396632, SC1_SC_INTSTS=1075396636, SC1_SC_STATUS=1075396640, SC1_SC_PINCTL=1075396644, SC1_SC_TMRCTL0=1075396648, SC1_SC_TMRCTL1=1075396652, SC1_SC_TMRCTL2=1075396656, SC1_SC_UARTCTL=1075396660, SC1_SC_TMRDAT0=1075396664, SC1_SC_TMRDAT12=1075396668, SC1_SC_ACTCTL=1075396684, SPI0_SPIx_CTL=1073938432, SPI0_SPIx_CLKDIV=1073938436, SPI0_SPIx_SSCTL=1073938440, SPI0_SPIx_PDMACTL=1073938444, SPI0_SPIx_FIFOCTL=1073938448, SPI0_SPIx_STATUS=1073938452, SPI0_SPIx_TX=1073938464, SPI0_SPIx_RX=1073938480, SPI0_SPIx_I2SCTL=1073938528, SPI0_SPIx_I2SCLK=1073938532, SPI0_SPIx_I2SSTS=1073938536, SPI1_SPIx_CTL=1073954816, SPI1_SPIx_CLKDIV=1073954820, SPI1_SPIx_SSCTL=1073954824, SPI1_SPIx_PDMACTL=1073954828, SPI1_SPIx_FIFOCTL=1073954832, SPI1_SPIx_STATUS=1073954836, SPI1_SPIx_TX=1073954848, SPI1_SPIx_RX=1073954864, SPI1_SPIx_I2SCTL=1073954912, SPI1_SPIx_I2SCLK=1073954916, SPI1_SPIx_I2SSTS=1073954920, TMR01_TIMER0_CTL=1073807360, TMR01_TIMER2_CTL=1073807360, TMR01_TIMER0_CMP=1073807364, TMR01_TIMER2_CMP=1073807364, TMR01_TIMER0_INTSTS=1073807368, TMR01_TIMER2_INTSTS=1073807368, TMR01_TIMER0_CNT=1073807372, TMR01_TIMER2_CNT=1073807372, TMR01_TIMER0_CAP=1073807376, TMR01_TIMER2_CAP=1073807376, TMR01_TIMER0_EXTCTL=1073807380, TMR01_TIMER2_EXTCTL=1073807380, TMR01_TIMER0_EINTSTS=1073807384, TMR01_TIMER2_EINTSTS=1073807384, TMR01_TIMER0_TRGCTL=1073807388, TMR01_TIMER2_TRGCTL=1073807388, TMR01_TIMER0_ALTCTL=1073807392, TMR01_TIMER2_ALTCTL=1073807392, TMR01_TIMER0_PWMCTL=1073807424, TMR01_TIMER2_PWMCTL=1073807424, TMR01_TIMER0_PWMCLKSRC=1073807428, TMR01_TIMER2_PWMCLKSRC=1073807428, TMR01_TIMER0_PWMCLKPSC=1073807432, TMR01_TIMER2_PWMCLKPSC=1073807432, TMR01_TIMER0_PWMCNTCLR=1073807436, TMR01_TIMER2_PWMCNTCLR=1073807436, TMR01_TIMER0_PWMPERIOD=1073807440, TMR01_TIMER2_PWMPERIOD=1073807440, TMR01_TIMER0_PWMCMPDAT=1073807444, TMR01_TIMER2_PWMCMPDAT=1073807444, TMR01_TIMER0_PWMDTCTL=1073807448, TMR01_TIMER2_PWMDTCTL=1073807448, TMR01_TIMER0_PWMCNT=1073807452, TMR01_TIMER2_PWMCNT=1073807452, TMR01_TIMER0_PWMMSKEN=1073807456, TMR01_TIMER2_PWMMSKEN=1073807456, TMR01_TIMER0_PWMMSK=1073807460, TMR01_TIMER2_PWMMSK=1073807460, TMR01_TIMER0_PWMBNF=1073807464, TMR01_TIMER2_PWMBNF=1073807464, TMR01_TIMER0_PWMFAILBRK=1073807468, TMR01_TIMER2_PWMFAILBRK=1073807468, TMR01_TIMER0_PWMBRKCTL=1073807472, TMR01_TIMER2_PWMBRKCTL=1073807472, TMR01_TIMER0_PWMPOLCTL=1073807476, TMR01_TIMER2_PWMPOLCTL=1073807476, TMR01_TIMER0_PWMPOEN=1073807480, TMR01_TIMER2_PWMPOEN=1073807480, TMR01_TIMER0_PWMSWBRK=1073807484, TMR01_TIMER2_PWMSWBRK=1073807484, TMR01_TIMER0_PWMINTEN0=1073807488, TMR01_TIMER2_PWMINTEN0=1073807488, TMR01_TIMER0_PWMINTEN1=1073807492, TMR01_TIMER2_PWMINTEN1=1073807492, TMR01_TIMER0_PWMINTSTS0=1073807496, TMR01_TIMER2_PWMINTSTS0=1073807496, TMR01_TIMER0_PWMINTSTS1=1073807500, TMR01_TIMER2_PWMINTSTS1=1073807500, TMR01_TIMER0_PWMADCTS=1073807504, TMR01_TIMER2_PWMADCTS=1073807504, TMR01_TIMER0_PWMSCTL=1073807508, TMR01_TIMER2_PWMSCTL=1073807508, TMR01_TIMER0_PWMSTRG=1073807512, TMR01_TIMER2_PWMSTRG=1073807512, TMR01_TIMER0_PWMSTATUS=1073807516, TMR01_TIMER2_PWMSTATUS=1073807516, TMR01_TIMER0_PWMPBUF=1073807520, TMR01_TIMER2_PWMPBUF=1073807520, TMR01_TIMER0_PWMCMPBUF=1073807524, TMR01_TIMER2_PWMCMPBUF=1073807524, TMR01_TIMER1_CTL=1073807616, TMR01_TIMER3_CTL=1073807616, TMR01_TIMER1_CMP=1073807620, TMR01_TIMER3_CMP=1073807620, TMR01_TIMER1_INTSTS=1073807624, TMR01_TIMER3_INTSTS=1073807624, TMR01_TIMER1_CNT=1073807628, TMR01_TIMER3_CNT=1073807628, TMR01_TIMER1_CAP=1073807632, TMR01_TIMER3_CAP=1073807632, TMR01_TIMER1_EXTCTL=1073807636, TMR01_TIMER3_EXTCTL=1073807636, TMR01_TIMER1_EINTSTS=1073807640, TMR01_TIMER3_EINTSTS=1073807640, TMR01_TIMER1_TRGCTL=1073807644, TMR01_TIMER3_TRGCTL=1073807644, TMR01_TIMER1_ALTCTL=1073807648, TMR01_TIMER3_ALTCTL=1073807648, TMR01_TIMER1_PWMCTL=1073807680, TMR01_TIMER3_PWMCTL=1073807680, TMR01_TIMER1_PWMCLKSRC=1073807684, TMR01_TIMER3_PWMCLKSRC=1073807684, TMR01_TIMER1_PWMCLKPSC=1073807688, TMR01_TIMER3_PWMCLKPSC=1073807688, TMR01_TIMER1_PWMCNTCLR=1073807692, TMR01_TIMER3_PWMCNTCLR=1073807692, TMR01_TIMER1_PWMPERIOD=1073807696, TMR01_TIMER3_PWMPERIOD=1073807696, TMR01_TIMER1_PWMCMPDAT=1073807700, TMR01_TIMER3_PWMCMPDAT=1073807700, TMR01_TIMER1_PWMDTCTL=1073807704, TMR01_TIMER3_PWMDTCTL=1073807704, TMR01_TIMER1_PWMCNT=1073807708, TMR01_TIMER3_PWMCNT=1073807708, TMR01_TIMER1_PWMMSKEN=1073807712, TMR01_TIMER3_PWMMSKEN=1073807712, TMR01_TIMER1_PWMMSK=1073807716, TMR01_TIMER3_PWMMSK=1073807716, TMR01_TIMER1_PWMBNF=1073807720, TMR01_TIMER3_PWMBNF=1073807720, TMR01_TIMER1_PWMFAILBRK=1073807724, TMR01_TIMER3_PWMFAILBRK=1073807724, TMR01_TIMER1_PWMBRKCTL=1073807728, TMR01_TIMER3_PWMBRKCTL=1073807728, TMR01_TIMER1_PWMPOLCTL=1073807732, TMR01_TIMER3_PWMPOLCTL=1073807732, TMR01_TIMER1_PWMPOEN=1073807736, TMR01_TIMER3_PWMPOEN=1073807736, TMR01_TIMER1_PWMSWBRK=1073807740, TMR01_TIMER3_PWMSWBRK=1073807740, TMR01_TIMER1_PWMINTEN0=1073807744, TMR01_TIMER3_PWMINTEN0=1073807744, TMR01_TIMER1_PWMINTEN1=1073807748, TMR01_TIMER3_PWMINTEN1=1073807748, TMR01_TIMER1_PWMINTSTS0=1073807752, TMR01_TIMER3_PWMINTSTS0=1073807752, TMR01_TIMER1_PWMINTSTS1=1073807756, TMR01_TIMER3_PWMINTSTS1=1073807756, TMR01_TIMER1_PWMADCTS=1073807760, TMR01_TIMER3_PWMADCTS=1073807760, TMR01_TIMER1_PWMSCTL=1073807764, TMR01_TIMER3_PWMSCTL=1073807764, TMR01_TIMER1_PWMSSTRG=1073807768, TMR01_TIMER3_PWMSSTRG=1073807768, TMR01_TIMER1_PWMSTATUS=1073807772, TMR01_TIMER3_PWMSTATUS=1073807772, TMR01_TIMER1_PWMPBUF=1073807776, TMR01_TIMER3_PWMPBUF=1073807776, TMR01_TIMER1_PWMCMPBUF=1073807780, TMR01_TIMER3_PWMCMPBUF=1073807780, TMR23_TIMER0_CTL=1074855936, TMR23_TIMER2_CTL=1074855936, TMR23_TIMER0_CMP=1074855940, TMR23_TIMER2_CMP=1074855940, TMR23_TIMER0_INTSTS=1074855944, TMR23_TIMER2_INTSTS=1074855944, TMR23_TIMER0_CNT=1074855948, TMR23_TIMER2_CNT=1074855948, TMR23_TIMER0_CAP=1074855952, TMR23_TIMER2_CAP=1074855952, TMR23_TIMER0_EXTCTL=1074855956, TMR23_TIMER2_EXTCTL=1074855956, TMR23_TIMER0_EINTSTS=1074855960, TMR23_TIMER2_EINTSTS=1074855960, TMR23_TIMER0_TRGCTL=1074855964, TMR23_TIMER2_TRGCTL=1074855964, TMR23_TIMER0_ALTCTL=1074855968, TMR23_TIMER2_ALTCTL=1074855968, TMR23_TIMER0_PWMCTL=1074856000, TMR23_TIMER2_PWMCTL=1074856000, TMR23_TIMER0_PWMCLKSRC=1074856004, TMR23_TIMER2_PWMCLKSRC=1074856004, TMR23_TIMER0_PWMCLKPSC=1074856008, TMR23_TIMER2_PWMCLKPSC=1074856008, TMR23_TIMER0_PWMCNTCLR=1074856012, TMR23_TIMER2_PWMCNTCLR=1074856012, TMR23_TIMER0_PWMPERIOD=1074856016, TMR23_TIMER2_PWMPERIOD=1074856016, TMR23_TIMER0_PWMCMPDAT=1074856020, TMR23_TIMER2_PWMCMPDAT=1074856020, TMR23_TIMER0_PWMDTCTL=1074856024, TMR23_TIMER2_PWMDTCTL=1074856024, TMR23_TIMER0_PWMCNT=1074856028, TMR23_TIMER2_PWMCNT=1074856028, TMR23_TIMER0_PWMMSKEN=1074856032, TMR23_TIMER2_PWMMSKEN=1074856032, TMR23_TIMER0_PWMMSK=1074856036, TMR23_TIMER2_PWMMSK=1074856036, TMR23_TIMER0_PWMBNF=1074856040, TMR23_TIMER2_PWMBNF=1074856040, TMR23_TIMER0_PWMFAILBRK=1074856044, TMR23_TIMER2_PWMFAILBRK=1074856044, TMR23_TIMER0_PWMBRKCTL=1074856048, TMR23_TIMER2_PWMBRKCTL=1074856048, TMR23_TIMER0_PWMPOLCTL=1074856052, TMR23_TIMER2_PWMPOLCTL=1074856052, TMR23_TIMER0_PWMPOEN=1074856056, TMR23_TIMER2_PWMPOEN=1074856056, TMR23_TIMER0_PWMSWBRK=1074856060, TMR23_TIMER2_PWMSWBRK=1074856060, TMR23_TIMER0_PWMINTEN0=1074856064, TMR23_TIMER2_PWMINTEN0=1074856064, TMR23_TIMER0_PWMINTEN1=1074856068, TMR23_TIMER2_PWMINTEN1=1074856068, TMR23_TIMER0_PWMINTSTS0=1074856072, TMR23_TIMER2_PWMINTSTS0=1074856072, TMR23_TIMER0_PWMINTSTS1=1074856076, TMR23_TIMER2_PWMINTSTS1=1074856076, TMR23_TIMER0_PWMADCTS=1074856080, TMR23_TIMER2_PWMADCTS=1074856080, TMR23_TIMER0_PWMSCTL=1074856084, TMR23_TIMER2_PWMSCTL=1074856084, TMR23_TIMER0_PWMSTRG=1074856088, TMR23_TIMER2_PWMSTRG=1074856088, TMR23_TIMER0_PWMSTATUS=1074856092, TMR23_TIMER2_PWMSTATUS=1074856092, TMR23_TIMER0_PWMPBUF=1074856096, TMR23_TIMER2_PWMPBUF=1074856096, TMR23_TIMER0_PWMCMPBUF=1074856100, TMR23_TIMER2_PWMCMPBUF=1074856100, TMR23_TIMER1_CTL=1074856192, TMR23_TIMER3_CTL=1074856192, TMR23_TIMER1_CMP=1074856196, TMR23_TIMER3_CMP=1074856196, TMR23_TIMER1_INTSTS=1074856200, TMR23_TIMER3_INTSTS=1074856200, TMR23_TIMER1_CNT=1074856204, TMR23_TIMER3_CNT=1074856204, TMR23_TIMER1_CAP=1074856208, TMR23_TIMER3_CAP=1074856208, TMR23_TIMER1_EXTCTL=1074856212, TMR23_TIMER3_EXTCTL=1074856212, TMR23_TIMER1_EINTSTS=1074856216, TMR23_TIMER3_EINTSTS=1074856216, TMR23_TIMER1_TRGCTL=1074856220, TMR23_TIMER3_TRGCTL=1074856220, TMR23_TIMER1_ALTCTL=1074856224, TMR23_TIMER3_ALTCTL=1074856224, TMR23_TIMER1_PWMCTL=1074856256, TMR23_TIMER3_PWMCTL=1074856256, TMR23_TIMER1_PWMCLKSRC=1074856260, TMR23_TIMER3_PWMCLKSRC=1074856260, TMR23_TIMER1_PWMCLKPSC=1074856264, TMR23_TIMER3_PWMCLKPSC=1074856264, TMR23_TIMER1_PWMCNTCLR=1074856268, TMR23_TIMER3_PWMCNTCLR=1074856268, TMR23_TIMER1_PWMPERIOD=1074856272, TMR23_TIMER3_PWMPERIOD=1074856272, TMR23_TIMER1_PWMCMPDAT=1074856276, TMR23_TIMER3_PWMCMPDAT=1074856276, TMR23_TIMER1_PWMDTCTL=1074856280, TMR23_TIMER3_PWMDTCTL=1074856280, TMR23_TIMER1_PWMCNT=1074856284, TMR23_TIMER3_PWMCNT=1074856284, TMR23_TIMER1_PWMMSKEN=1074856288, TMR23_TIMER3_PWMMSKEN=1074856288, TMR23_TIMER1_PWMMSK=1074856292, TMR23_TIMER3_PWMMSK=1074856292, TMR23_TIMER1_PWMBNF=1074856296, TMR23_TIMER3_PWMBNF=1074856296, TMR23_TIMER1_PWMFAILBRK=1074856300, TMR23_TIMER3_PWMFAILBRK=1074856300, TMR23_TIMER1_PWMBRKCTL=1074856304, TMR23_TIMER3_PWMBRKCTL=1074856304, TMR23_TIMER1_PWMPOLCTL=1074856308, TMR23_TIMER3_PWMPOLCTL=1074856308, TMR23_TIMER1_PWMPOEN=1074856312, TMR23_TIMER3_PWMPOEN=1074856312, TMR23_TIMER1_PWMSWBRK=1074856316, TMR23_TIMER3_PWMSWBRK=1074856316, TMR23_TIMER1_PWMINTEN0=1074856320, TMR23_TIMER3_PWMINTEN0=1074856320, TMR23_TIMER1_PWMINTEN1=1074856324, TMR23_TIMER3_PWMINTEN1=1074856324, TMR23_TIMER1_PWMINTSTS0=1074856328, TMR23_TIMER3_PWMINTSTS0=1074856328, TMR23_TIMER1_PWMINTSTS1=1074856332, TMR23_TIMER3_PWMINTSTS1=1074856332, TMR23_TIMER1_PWMADCTS=1074856336, TMR23_TIMER3_PWMADCTS=1074856336, TMR23_TIMER1_PWMSCTL=1074856340, TMR23_TIMER3_PWMSCTL=1074856340, TMR23_TIMER1_PWMSSTRG=1074856344, TMR23_TIMER3_PWMSSTRG=1074856344, TMR23_TIMER1_PWMSTATUS=1074856348, TMR23_TIMER3_PWMSTATUS=1074856348, TMR23_TIMER1_PWMPBUF=1074856352, TMR23_TIMER3_PWMPBUF=1074856352, TMR23_TIMER1_PWMCMPBUF=1074856356, TMR23_TIMER3_PWMCMPBUF=1074856356, UUART0_UUART_CTL=1074200576, UUART0_UUART_INTEN=1074200580, UUART0_UUART_BRGEN=1074200584, UUART0_UUART_DATIN0=1074200592, UUART0_UUART_CTLIN0=1074200608, UUART0_UUART_CLKIN=1074200616, UUART0_UUART_LINECTL=1074200620, UUART0_UUART_TXDAT=1074200624, UUART0_UUART_RXDAT=1074200628, UUART0_UUART_BUFCTL=1074200632, UUART0_UUART_BUFSTS=1074200636, UUART0_UUART_WKCTL=1074200660, UUART0_UUART_WKSTS=1074200664, UUART0_UUART_PROTCTL=1074200668, UUART0_UUART_PROTIEN=1074200672, UUART0_UUART_PROTSTS=1074200676, UUART1_UUART_CTL=1075249152, UUART1_UUART_INTEN=1075249156, UUART1_UUART_BRGEN=1075249160, UUART1_UUART_DATIN0=1075249168, UUART1_UUART_CTLIN0=1075249184, UUART1_UUART_CLKIN=1075249192, UUART1_UUART_LINECTL=1075249196, UUART1_UUART_TXDAT=1075249200, UUART1_UUART_RXDAT=1075249204, UUART1_UUART_BUFCTL=1075249208, UUART1_UUART_BUFSTS=1075249212, UUART1_UUART_WKCTL=1075249236, UUART1_UUART_WKSTS=1075249240, UUART1_UUART_PROTCTL=1075249244, UUART1_UUART_PROTIEN=1075249248, UUART1_UUART_PROTSTS=1075249252, UUART2_UUART_CTL=1074216960, UUART2_UUART_INTEN=1074216964, UUART2_UUART_BRGEN=1074216968, UUART2_UUART_DATIN0=1074216976, UUART2_UUART_CTLIN0=1074216992, UUART2_UUART_CLKIN=1074217000, UUART2_UUART_LINECTL=1074217004, UUART2_UUART_TXDAT=1074217008, UUART2_UUART_RXDAT=1074217012, UUART2_UUART_BUFCTL=1074217016, UUART2_UUART_BUFSTS=1074217020, UUART2_UUART_WKCTL=1074217044, UUART2_UUART_WKSTS=1074217048, UUART2_UUART_PROTCTL=1074217052, UUART2_UUART_PROTIEN=1074217056, UUART2_UUART_PROTSTS=1074217060, USPI0_USPI_CTL=1074200576, USPI0_USPI_INTEN=1074200580, USPI0_USPI_BRGEN=1074200584, USPI0_USPI_DATIN0=1074200592, USPI0_USPI_CTLIN0=1074200608, USPI0_USPI_CLKIN=1074200616, USPI0_USPI_LINECTL=1074200620, USPI0_USPI_TXDAT=1074200624, USPI0_USPI_RXDAT=1074200628, USPI0_USPI_BUFCTL=1074200632, USPI0_USPI_BUFSTS=1074200636, USPI0_USPI_WKCTL=1074200660, USPI0_USPI_WKSTS=1074200664, USPI0_USPI_PROTCTL=1074200668, USPI0_USPI_PROTIEN=1074200672, USPI0_USPI_PROTSTS=1074200676, USPI1_USPI_CTL=1075249152, USPI1_USPI_INTEN=1075249156, USPI1_USPI_BRGEN=1075249160, USPI1_USPI_DATIN0=1075249168, USPI1_USPI_CTLIN0=1075249184, USPI1_USPI_CLKIN=1075249192, USPI1_USPI_LINECTL=1075249196, USPI1_USPI_TXDAT=1075249200, USPI1_USPI_RXDAT=1075249204, USPI1_USPI_BUFCTL=1075249208, USPI1_USPI_BUFSTS=1075249212, USPI1_USPI_WKCTL=1075249236, USPI1_USPI_WKSTS=1075249240, USPI1_USPI_PROTCTL=1075249244, USPI1_USPI_PROTIEN=1075249248, USPI1_USPI_PROTSTS=1075249252, USPI2_USPI_CTL=1074216960, USPI2_USPI_INTEN=1074216964, USPI2_USPI_BRGEN=1074216968, USPI2_USPI_DATIN0=1074216976, USPI2_USPI_CTLIN0=1074216992, USPI2_USPI_CLKIN=1074217000, USPI2_USPI_LINECTL=1074217004, USPI2_USPI_TXDAT=1074217008, USPI2_USPI_RXDAT=1074217012, USPI2_USPI_BUFCTL=1074217016, USPI2_USPI_BUFSTS=1074217020, USPI2_USPI_WKCTL=1074217044, USPI2_USPI_WKSTS=1074217048, USPI2_USPI_PROTCTL=1074217052, USPI2_USPI_PROTIEN=1074217056, USPI2_USPI_PROTSTS=1074217060, UI2C0_UI2C_CTL=1074200576, UI2C0_UI2C_BRGEN=1074200584, UI2C0_UI2C_LINECTL=1074200620, UI2C0_UI2C_TXDAT=1074200624, UI2C0_UI2C_RXDAT=1074200628, UI2C0_UI2C_DEVADDR0=1074200644, UI2C0_UI2C_DEVADDR1=1074200648, UI2C0_UI2C_ADDRMSK0=1074200652, UI2C0_UI2C_ADDRMSK1=1074200656, UI2C0_UI2C_WKCTL=1074200660, UI2C0_UI2C_WKSTS=1074200664, UI2C0_UI2C_PROTCTL=1074200668, UI2C0_UI2C_PROTIEN=1074200672, UI2C0_UI2C_PROTSTS=1074200676, UI2C0_UI2C_ADMAT=1074200712, UI2C0_UI2C_TMCTL=1074200716, UI2C1_UI2C_CTL=1075249152, UI2C1_UI2C_BRGEN=1075249160, UI2C1_UI2C_LINECTL=1075249196, UI2C1_UI2C_TXDAT=1075249200, UI2C1_UI2C_RXDAT=1075249204, UI2C1_UI2C_DEVADDR0=1075249220, UI2C1_UI2C_DEVADDR1=1075249224, UI2C1_UI2C_ADDRMSK0=1075249228, UI2C1_UI2C_ADDRMSK1=1075249232, UI2C1_UI2C_WKCTL=1075249236, UI2C1_UI2C_WKSTS=1075249240, UI2C1_UI2C_PROTCTL=1075249244, UI2C1_UI2C_PROTIEN=1075249248, UI2C1_UI2C_PROTSTS=1075249252, UI2C1_UI2C_ADMAT=1075249288, UI2C1_UI2C_TMCTL=1075249292, UI2C2_UI2C_CTL=1074216960, UI2C2_UI2C_BRGEN=1074216968, UI2C2_UI2C_LINECTL=1074217004, UI2C2_UI2C_TXDAT=1074217008, UI2C2_UI2C_RXDAT=1074217012, UI2C2_UI2C_DEVADDR0=1074217028, UI2C2_UI2C_DEVADDR1=1074217032, UI2C2_UI2C_ADDRMSK0=1074217036, UI2C2_UI2C_ADDRMSK1=1074217040, UI2C2_UI2C_WKCTL=1074217044, UI2C2_UI2C_WKSTS=1074217048, UI2C2_UI2C_PROTCTL=1074217052, UI2C2_UI2C_PROTIEN=1074217056, UI2C2_UI2C_PROTSTS=1074217060, UI2C2_UI2C_ADMAT=1074217096, UI2C2_UI2C_TMCTL=1074217100, UART0_UART_DAT=1074069504, UART0_UART_INTEN=1074069508, UART0_UART_FIFO=1074069512, UART0_UART_LINE=1074069516, UART0_UART_MODEM=1074069520, UART0_UART_MODEMSTS=1074069524, UART0_UART_FIFOSTS=1074069528, UART0_UART_INTSTS=1074069532, UART0_UART_TOUT=1074069536, UART0_UART_BAUD=1074069540, UART0_UART_IRDA=1074069544, UART0_UART_ALTCTL=1074069548, UART0_UART_FUNCSEL=1074069552, UART0_UART_LINCTL=1074069556, UART0_UART_LINSTS=1074069560, UART0_UART_BRCOMP=1074069564, UART0_UART_WKCTL=1074069568, UART0_UART_WKSTS=1074069572, UART0_UART_DWKCOMP=1074069576, UART1_UART_DAT=1075118080, UART1_UART_INTEN=1075118084, UART1_UART_FIFO=1075118088, UART1_UART_LINE=1075118092, UART1_UART_MODEM=1075118096, UART1_UART_MODEMSTS=1075118100, UART1_UART_FIFOSTS=1075118104, UART1_UART_INTSTS=1075118108, UART1_UART_TOUT=1075118112, UART1_UART_BAUD=1075118116, UART1_UART_IRDA=1075118120, UART1_UART_ALTCTL=1075118124, UART1_UART_FUNCSEL=1075118128, UART1_UART_LINCTL=1075118132, UART1_UART_LINSTS=1075118136, UART1_UART_BRCOMP=1075118140, UART1_UART_WKCTL=1075118144, UART1_UART_WKSTS=1075118148, UART1_UART_DWKCOMP=1075118152, UART2_UART_DAT=1075134464, UART2_UART_INTEN=1075134468, UART2_UART_FIFO=1075134472, UART2_UART_LINE=1075134476, UART2_UART_MODEM=1075134480, UART2_UART_MODEMSTS=1075134484, UART2_UART_FIFOSTS=1075134488, UART2_UART_INTSTS=1075134492, UART2_UART_TOUT=1075134496, UART2_UART_BAUD=1075134500, UART2_UART_IRDA=1075134504, UART2_UART_ALTCTL=1075134508, UART2_UART_FUNCSEL=1075134512, UART2_UART_LINCTL=1075134516, UART2_UART_LINSTS=1075134520, UART2_UART_BRCOMP=1075134524, UART2_UART_WKCTL=1075134528, UART2_UART_WKSTS=1075134532, UART2_UART_DWKCOMP=1075134536, WDT_WDT_CTL=1073758208, WDT_WDT_ALTCTL=1073758212, WDT_WDT_RSTCNT=1073758216, WWDT_WWDT_RLDCNT=1073758464, WWDT_WWDT_CTL=1073758468, WWDT_WWDT_STATUS=1073758472, WWDT_WWDT_CNT=1073758476, } g_M0564_regs=REG function read_M0564_Registers(e,e,e,a) local t=true local e={ NUC1261_AE_LQFP48=1, NUC1261_AE_LQFP64=1, } if e[a]~=nil then t=false end local e={} e["SYS_SYS_GPA_MFPL"], e["SYS_SYS_GPA_MFPH"], e["SYS_SYS_GPB_MFPL"], e["SYS_SYS_GPB_MFPH"], e["SYS_SYS_GPC_MFPL"], e["SYS_SYS_GPC_MFPH"]=ice:ReadMem32(g_M0564_regs.SYS_SYS_GPA_MFPL,6) e["SYS_SYS_GPD_MFPL"], e["SYS_SYS_GPD_MFPH"], e["SYS_SYS_GPE_MFPL"], e["SYS_SYS_GPE_MFPH"], e["SYS_SYS_GPF_MFPL"]=ice:ReadMem32(g_M0564_regs.SYS_SYS_GPD_MFPL,5) e["SYS_SYS_IRCTCTL0"], e["SYS_SYS_IRCTCTL1"]=ice:ReadMemMulti(g_M0564_regs.SYS_SYS_IRCTCTL0, g_M0564_regs.SYS_SYS_IRCTCTL1) e["CLK_CLK_PWRCTL"], e["CLK_CLK_AHBCLK"], e["CLK_CLK_APBCLK0"], e["CLK_CLK_STATUS"], e["CLK_CLK_CLKSEL0"], e["CLK_CLK_CLKSEL1"], e["CLK_CLK_CLKDIV0"], e["CLK_CLK_CLKSEL2"], e["CLK_CLK_PLLCTL"], e["CLK_CLK_CLKOCTL"]=ice:ReadMem32(g_M0564_regs.CLK_CLK_PWRCTL,10) e["CLK_CLK_APBCLK1"], e["CLK_CLK_CLKSEL3"], e["CLK_CLK_CLKDIV1"]=ice:ReadMem32(g_M0564_regs.CLK_CLK_APBCLK1,3) e["GPIO_PA_MODE"], e["GPIO_PA_DINOFF"], e["GPIO_PA_DOUT"], e["GPIO_PA_DATMSK"], e["GPIO_PA_PIN"]=ice:ReadMem32(g_M0564_regs.GPIO_PA_MODE,5) e["GPIO_PB_MODE"], e["GPIO_PB_DINOFF"], e["GPIO_PB_DOUT"], e["GPIO_PB_DATMSK"], e["GPIO_PB_PIN"]=ice:ReadMem32(g_M0564_regs.GPIO_PB_MODE,5) e["GPIO_PC_MODE"], e["GPIO_PC_DINOFF"], e["GPIO_PC_DOUT"], e["GPIO_PC_DATMSK"], e["GPIO_PC_PIN"]=ice:ReadMem32(g_M0564_regs.GPIO_PC_MODE,5) e["GPIO_PD_MODE"], e["GPIO_PD_DINOFF"], e["GPIO_PD_DOUT"], e["GPIO_PD_DATMSK"], e["GPIO_PD_PIN"]=ice:ReadMem32(g_M0564_regs.GPIO_PD_MODE,5) e["GPIO_PE_MODE"], e["GPIO_PE_DINOFF"], e["GPIO_PE_DOUT"], e["GPIO_PE_DATMSK"], e["GPIO_PE_PIN"]=ice:ReadMem32(g_M0564_regs.GPIO_PE_MODE,5) e["GPIO_PF_MODE"], e["GPIO_PF_DINOFF"], e["GPIO_PF_DOUT"], e["GPIO_PF_DATMSK"], e["GPIO_PF_PIN"]=ice:ReadMem32(g_M0564_regs.GPIO_PF_MODE,5) e["GPIO_PA_SLEWCTL"], e["GPIO_PB_SLEWCTL"], e["GPIO_PC_SLEWCTL"], e["GPIO_PD_SLEWCTL"]=ice:ReadMemMulti(g_M0564_regs.GPIO_PA_SLEWCTL, g_M0564_regs.GPIO_PB_SLEWCTL, g_M0564_regs.GPIO_PC_SLEWCTL, g_M0564_regs.GPIO_PD_SLEWCTL) e["GPIO_PE_SLEWCTL"], e["GPIO_PF_SLEWCTL"]=ice:ReadMemMulti(g_M0564_regs.GPIO_PE_SLEWCTL, g_M0564_regs.GPIO_PF_SLEWCTL) e["UART0_UART_BAUD"], e["UART1_UART_BAUD"], e["UART2_UART_BAUD"]=ice:ReadMemMulti(g_M0564_regs.UART0_UART_BAUD, g_M0564_regs.UART1_UART_BAUD, g_M0564_regs.UART2_UART_BAUD) e["SPI0_SPIx_CTL"], e["SPI1_SPIx_CTL"], e["SPI0_SPIx_CLKDIV"], e["SPI1_SPIx_CLKDIV"]=ice:ReadMemMulti(g_M0564_regs.SPI0_SPIx_CTL, g_M0564_regs.SPI1_SPIx_CTL, g_M0564_regs.SPI0_SPIx_CLKDIV, g_M0564_regs.SPI1_SPIx_CLKDIV) e["SPI0_SPIx_I2SCTL"], e["SPI1_SPIx_I2SCTL"], e["SPI0_SPIx_I2SCLK"], e["SPI1_SPIx_I2SCLK"]=ice:ReadMemMulti(g_M0564_regs.SPI0_SPIx_I2SCTL, g_M0564_regs.SPI1_SPIx_I2SCTL, g_M0564_regs.SPI0_SPIx_I2SCLK, g_M0564_regs.SPI1_SPIx_I2SCLK) e["I2C0_I2C_CTL"], e["I2C0_I2C_CLKDIV"], e["I2C1_I2C_CTL"], e["I2C1_I2C_CLKDIV"]=ice:ReadMemMulti(g_M0564_regs.I2C0_I2C_CTL, g_M0564_regs.I2C0_I2C_CLKDIV, g_M0564_regs.I2C1_I2C_CTL, g_M0564_regs.I2C1_I2C_CLKDIV) e["TMR01_TIMER0_CTL"], e["TMR01_TIMER1_CTL"], e["TMR23_TIMER2_CTL"], e["TMR23_TIMER3_CTL"]=ice:ReadMemMulti(g_M0564_regs.TMR01_TIMER0_CTL, g_M0564_regs.TMR01_TIMER1_CTL, g_M0564_regs.TMR23_TIMER2_CTL, g_M0564_regs.TMR23_TIMER3_CTL) e["TMR01_TIMER0_ALTCTL"], e["TMR01_TIMER1_ALTCTL"], e["TMR23_TIMER2_ALTCTL"], e["TMR23_TIMER3_ALTCTL"]=ice:ReadMemMulti(g_M0564_regs.TMR01_TIMER0_ALTCTL, g_M0564_regs.TMR01_TIMER1_ALTCTL, g_M0564_regs.TMR23_TIMER2_ALTCTL, g_M0564_regs.TMR23_TIMER3_ALTCTL) e["TMR01_TIMER0_PWMCTL"], e["TMR01_TIMER0_PWMCLKSRC"], e["TMR01_TIMER0_PWMCLKPSC"]=ice:ReadMem32(g_M0564_regs.TMR01_TIMER0_PWMCTL,3) e["TMR01_TIMER1_PWMCTL"], e["TMR01_TIMER1_PWMCLKSRC"], e["TMR01_TIMER1_PWMCLKPSC"]=ice:ReadMem32(g_M0564_regs.TMR01_TIMER1_PWMCTL,3) e["TMR23_TIMER2_PWMCTL"], e["TMR23_TIMER2_PWMCLKSRC"], e["TMR23_TIMER2_PWMCLKPSC"]=ice:ReadMem32(g_M0564_regs.TMR23_TIMER2_PWMCTL,3) e["TMR23_TIMER3_PWMCTL"], e["TMR23_TIMER3_PWMCLKSRC"], e["TMR23_TIMER3_PWMCLKPSC"]=ice:ReadMem32(g_M0564_regs.TMR23_TIMER3_PWMCTL,3) e["PWM0_PWM_CLKSRC"], e["PWM1_PWM_CLKSRC"]=ice:ReadMemMulti(g_M0564_regs.PWM0_PWM_CLKSRC, g_M0564_regs.PWM1_PWM_CLKSRC) e["PWM0_PWM_CLKPSC0_1"], e["PWM0_PWM_CLKPSC2_3"], e["PWM0_PWM_CLKPSC4_5"]=ice:ReadMem32(g_M0564_regs.PWM0_PWM_CLKPSC0_1,3) e["PWM1_PWM_CLKPSC0_1"], e["PWM1_PWM_CLKPSC2_3"], e["PWM1_PWM_CLKPSC4_5"]=ice:ReadMem32(g_M0564_regs.PWM1_PWM_CLKPSC0_1,3) e["PWM0_PWM_CNTEN"], e["PWM1_PWM_CNTEN"]=ice:ReadMemMulti(g_M0564_regs.PWM0_PWM_CNTEN, g_M0564_regs.PWM1_PWM_CNTEN) if t then e["SC0_SC_UARTCTL"], e["SC0_SC_ETUCTL"], e["SC0_SC_CTL"]=ice:ReadMemMulti(g_M0564_regs.SC0_SC_UARTCTL, g_M0564_regs.SC0_SC_ETUCTL, g_M0564_regs.SC0_SC_CTL) e["SC1_SC_UARTCTL"], e["SC1_SC_ETUCTL"], e["SC1_SC_CTL"]=ice:ReadMemMulti(g_M0564_regs.SC1_SC_UARTCTL, g_M0564_regs.SC1_SC_ETUCTL, g_M0564_regs.SC1_SC_CTL) end e["EBI_EBI_CTL0"], e["EBI_EBI_CTL1"]=ice:ReadMemMulti(g_M0564_regs.EBI_EBI_CTL0, g_M0564_regs.EBI_EBI_CTL1) g_M0564_regs.USCI0_USCI_CTL=g_M0564_regs.UUART0_UUART_CTL g_M0564_regs.USCI1_USCI_CTL=g_M0564_regs.UUART1_UUART_CTL g_M0564_regs.USCI2_USCI_CTL=g_M0564_regs.UUART2_UUART_CTL e["USCI0_USCI_CTL"], e["USCI1_USCI_CTL"], e["USCI2_USCI_CTL"]=ice:ReadMemMulti(g_M0564_regs.UUART0_UUART_CTL, g_M0564_regs.UUART1_UUART_CTL, g_M0564_regs.UUART2_UUART_CTL) g_M0564_regs.USCI0_USCI_BRGEN=g_M0564_regs.UUART0_UUART_BRGEN g_M0564_regs.USCI1_USCI_BRGEN=g_M0564_regs.UUART1_UUART_BRGEN g_M0564_regs.USCI2_USCI_BRGEN=g_M0564_regs.UUART2_UUART_BRGEN e["USCI0_USCI_BRGEN"], e["USCI1_USCI_BRGEN"], e["USCI2_USCI_BRGEN"]=ice:ReadMemMulti(g_M0564_regs.UUART0_UUART_BRGEN, g_M0564_regs.UUART1_UUART_BRGEN, g_M0564_regs.UUART2_UUART_BRGEN) g_M0564_regs.USCI0_USCI_PROTCTL=g_M0564_regs.UUART0_UUART_PROTCTL g_M0564_regs.USCI1_USCI_PROTCTL=g_M0564_regs.UUART1_UUART_PROTCTL g_M0564_regs.USCI2_USCI_PROTCTL=g_M0564_regs.UUART2_UUART_PROTCTL e["USCI0_USCI_PROTCTL"], e["USCI1_USCI_PROTCTL"], e["USCI2_USCI_PROTCTL"]=ice:ReadMemMulti(g_M0564_regs.UUART0_UUART_PROTCTL, g_M0564_regs.UUART1_UUART_PROTCTL, g_M0564_regs.UUART2_UUART_PROTCTL) return e end local n={ [0]=kPinDirection_In, [1]=kPinDirection_PushPullOut, [2]=kPinDirection_OpenDrainOut, [3]=kPinDirection_Bi, } local c={ [0]="INPUT", [1]="OUTPUT", [2]="Open-Drain", [3]="Quasi-bidirectional", } function get_mfp_regs(a,e,t) if e~=nil and t~=nil then local t=(t<8)and"L"or"H" local e={"SYS_SYS_GP"..e.."_MFP"..t} return reg2str("Multi-Function register",g_M0564_regs,a,e) else return"" end end function get_clk_informnation(e,t) return reg2str("Clock setting registers",g_M0564_regs,e,t) end function get_LIRC_clock(o,a) local t local e table.insert(a,"CLK_CLK_PWRCTL") local a=ext.band(o["CLK_CLK_PWRCTL"],8) if a==0 then t=0 e="invalid internal 10kHz low speed oscillator clock (see CLK_PWRCTL[3].LIRCEN)" else t=10000 e="internal 10kHz low speed oscillator clock" end return t,e end function get_HIRC_clock(o,a) local e local t table.insert(a,"CLK_CLK_PWRCTL") local i=ext.band(o["CLK_CLK_PWRCTL"],4) if i==0 then e=0 t="invalid internal 22.1184MHz high speed oscillator clock (see CLK_PWRCTL[2].HIRCEN)" else table.insert(a,"SYS_SYS_IRCTCTL0") local a=ext.band(o["SYS_SYS_IRCTCTL0"],3) if a==0 then e=22118400 t="internal 22.1184MHz high speed oscillator clock" elseif a==1 then e=22118400 t="internal 22.1184MHz high speed oscillator clock (auto trim)" else e=0 t="invalid HIRC trim frequency selection (see SYS_IRCTCTL0[1:0].FREQSEL)" end end return e,t end function get_HIRC48_clock(o,a) local e local t table.insert(a,"CLK_CLK_PWRCTL") local i=ext.band(o["CLK_CLK_PWRCTL"],8192) if i==0 then e=0 t="invalid internal 48MHz high speed oscillator clock (see CLK_PWRCTL[13].HIRC48EN)" else table.insert(a,"SYS_SYS_IRCTCTL1") local a=ext.band(o["SYS_SYS_IRCTCTL1"],3) if a==0 then e=48000000 t="internal 48MHz high speed oscillator clock" elseif a==2 then e=48000000 t="internal 48MHz high speed oscillator clock (auto trim)" else e=0 t="invalid HIRC48 trim frequency selection (see SYS_IRCTCTL1[1:0].FREQSEL)" end end return e,t end function get_LXT_clock(a,o) local e local t table.insert(o,"CLK_CLK_PWRCTL") local a=ext.band(a["CLK_CLK_PWRCTL"],2) if a==0 then e=0 t="invalid external 32.768kHz low speed crystal clock (see CLK_PWRCTL[1].LXTEN)" else e=32768 t="external 32.768kHz low speed crystal clock" end return e,t end function get_HXT_clock(o,a) local t local e table.insert(a,"CLK_CLK_PWRCTL") local a=ext.band(o["CLK_CLK_PWRCTL"],1) if a==0 then t=0 e="invalid external 4~24M high speed crystal clock (see CLK_PWRCTL[0].HXTEN)" else t=12000000 e="external 4~24M high speed crystal clock, when external input clock is 12M" end return t,e end function get_PLL_clock(a,o) local t local e table.insert(o,"CLK_CLK_PLLCTL") local i=ext.band(ext.rshift(a["CLK_CLK_PLLCTL"],16),1) if i~=0 then t=0 e="invalid PLL clock, PLL is in Power-down mode (see CLK_PLLCTL[16].PD)" else local i=ext.band(ext.rshift(a["CLK_CLK_PLLCTL"],19),1) if i~=0 then t,e=get_HIRC_clock(a,o) else t,e=get_HXT_clock(a,o) end if t~=0 then local o=ext.band(ext.rshift(a["CLK_CLK_PLLCTL"],17),1) if o~=0 then e=string.format("PLL clock (%sHz), bypassed from %s",val2str(t),e) else local n=ext.band(a["CLK_CLK_PLLCTL"],511)+2 local o=ext.band(ext.rshift(a["CLK_CLK_PLLCTL"],9),31)+2 local i={1,2,2,4} local a=i[ext.band(ext.rshift(a["CLK_CLK_PLLCTL"],14),3)+1] t=t*n/o/a e=string.format("PLL clock (%sHz), from %s",val2str(t),e) end else e="PLL clock from "..e end end return t,e end function get_sys_clock(a,o,n) local e local t table.insert(o,"CLK_CLK_CLKSEL0") local i=ext.band(a["CLK_CLK_CLKSEL0"],7) if i==0 then e,t=get_HXT_clock(a,o) elseif i==1 then e,t=get_LXT_clock(a,o) elseif i==2 then e,t=get_PLL_clock(a,o) elseif i==3 then e,t=get_LIRC_clock(a,o) elseif i==4 then e,t=get_HIRC48_clock(a,o) elseif i==7 then e,t=get_HIRC_clock(a,o) else e=0 t="invalid "..n.." clock (see CLK_CLKSEL0[2:0].HCLKSEL)" return e,t end if e==0 then t=""..n.." clock from "..t else table.insert(o,"CLK_CLK_CLKDIV0") local a=ext.band(a["CLK_CLK_CLKDIV0"],15) e=e/(a+1) t=string.format("%s clock (%sHz), from %s",n,val2str(e),t) end return e,t end function get_HCLK_clock(e,t) return get_sys_clock(e,t,"HCLK") end function get_PCLK_clock(o,i,a) local e local t e,t=get_HCLK_clock(o,i) if e==0 then t=string.format("PCLK%d clock from ",a)..t else table.insert(i,"CLK_CLK_CLKSEL0") local o=ext.band(ext.rshift(o["CLK_CLK_CLKSEL0"],6+a),1) if o~=0 then e=e/2 end t=string.format("PCLK%d clock (%sHz), from %s",a,val2str(e),t) end return e,t end function fill_M0564_GPIO(o,s,t,e,l) if l==nil then l=string.format("P%s.%d",t,e)end local a=s["GPIO_P"..t.."_MODE"] local m=s["GPIO_P"..t.."_DINOFF"] local d=s["GPIO_P"..t.."_DOUT"] local u=s["GPIO_P"..t.."_DATMSK"] local r=s["GPIO_P"..t.."_PIN"] local h=s["GPIO_P"..t.."_SLEWCTL"] if(t=="E"and(e==14 or e==15))or(t=="F"and e>7)then h=nil end o["highlight_text"]=l o["normal_color"]=kColor_Invalid o["highlight_color"]=kColor_GPIO o["pin_bg_color"]=kBgColor_GPIO local i=ext.band(ext.rshift(a,e*2),3) o["direction"]=n[i] if n[i]==kPinDirection_In or n[i]==kPinDirection_Bi then if ext.band(r,ext.lshift(1,e))==0 then o["status"]=kPinStatus_Low else o["status"]=kPinStatus_High end else if ext.band(u,ext.lshift(1,e))~=0 then o["status"]=kPinStatus_Unknown elseif ext.band(d,ext.lshift(1,e))==0 then o["status"]=kPinStatus_Low else o["status"]=kPinStatus_High end end local a=string.format("P%s.%d is in %s mode
", t,e,c[i]) if n[i]==kPinDirection_In or n[i]==kPinDirection_Bi then if ext.band(r,ext.lshift(1,e))==0 then a=a.."Pin input low
" else a=a.."Pin input high
" end end if n[i]==kPinDirection_PushPullOut or n[i]==kPinDirection_OpenDrainOut or n[i]==kPinDirection_Bi then if ext.band(u,ext.lshift(1,e))~=0 then a=a.."Pin output masked
" elseif ext.band(d,ext.lshift(1,e))==0 then a=a.."Pin output low
" else a=a.."Pin output high
" end end if ext.band(m,ext.lshift(1,e+16))==0 then a=a.."IO digital input path enabled
" else a=a.."IO digital input path disabled(digital input tied to low)
" end if h~=nil then if ext.band(h,ext.lshift(1,e))==0 then a=a.."IO output with basic slew rate
" else a=a.."IO output with higher slew rate
" end end local h="" if n[i]==kPinDirection_PushPullOut or n[i]==kPinDirection_Bi then if ext.band(d,ext.lshift(1,e))==0 and ext.band(r,ext.lshift(1,e))~=0 then h=string.format("Leakage warning: GPIO%s_DOUT[%d] = 0, GPIO%s_PIN[%d] = 1
",t,e,t,e) elseif ext.band(d,ext.lshift(1,e))~=0 and ext.band(r,ext.lshift(1,e))==0 then h=string.format("Leakage warning: GPIO%s_DOUT[%d] = 1, GPIO%s_PIN[%d] = 0
",t,e,t,e) end end if h~=""then o["pin_no_color"]=kBgColor_Error h=""..h.."" end local i={ "GPIO_P"..t.."_MODE", "GPIO_P"..t.."_DINOFF", "GPIO_P"..t.."_DOUT", "GPIO_P"..t.."_DATMSK", "GPIO_P"..t.."_PIN", "GPIO_P"..t.."_SLEWCTL"} local i=reg2str("GPIO setting registers",g_M0564_regs,s,i) o["information"]=string.format( "%s
%s
".. "%s%s".. "Information
".. "%s", l, h, get_mfp_regs(s,t,e), i, a) end function fill_invalid_GPIO(e,o,t,a) e["highlight_text"]=string.format("P%s.%d",t,a) e["normal_color"]=kColor_Invalid e["highlight_color"]=kColor_Invalid e["pin_bg_color"]=kBgColor_Invalid e["direction"]=kPinDirection_Unknown e["status"]=kPinStatus_Unknown e["pin_no_color"]=kBgColor_Error local i="Undefined setting in Multi-Function registers for this pin.
" e["information"]=string.format( "P%s.%d
%s
".. "%s", t,a, i, get_mfp_regs(o,t,a)) end function fill_M0564_ADC(t,e,r,d,h) local i="" local o="" local a={} t["highlight_text"]=h t["normal_color"]=kColor_Invalid t["highlight_color"]=kColor_ADC t["pin_bg_color"]=kBgColor_ADC t["direction"]=kPinDirection_In t["status"]=kPinStatus_Unknown table.insert(a,"CLK_CLK_APBCLK0") local n=ext.band(ext.rshift(e["CLK_CLK_APBCLK0"],28),1) if n~=0 then local n local t table.insert(a,"CLK_CLK_CLKSEL1") local s=ext.band(ext.rshift(e["CLK_CLK_CLKSEL1"],2),3) if s==0 then n,t=get_HXT_clock(e,a) elseif s==1 then n,t=get_PLL_clock(e,a) elseif s==2 then n,t=get_PCLK_clock(e,a,0) elseif s==3 then n,t=get_HIRC_clock(e,a) end local e=ext.band(ext.rshift(e["CLK_CLK_CLKDIV0"],16),255) local e=n/(e+1) if e~=0 then table.insert(a,"CLK_CLK_CLKDIV0") i=string.format("ADC clock frequency: %sHz, from %s.
",val2str(e),t) else o="ADC clock is not available, "..t..".
" end else o="ADC clock is not available (see CLK_APBCLK0[28].ADCCKEN).
" end if o~=""then o=""..o.."" t["pin_no_color"]=kBgColor_Error end if i~=""then i="Information
"..i end t["information"]=string.format( "%s
%s
%s%s%s", h, o, get_mfp_regs(e,r,d), get_clk_informnation(e,a), i) end function fill_M0564_UART(a,e,u,l,d,o) local n="" local i="" local t={} local r=0 a["highlight_text"]=d a["normal_color"]=kColor_Invalid a["highlight_color"]=kColor_UART a["pin_bg_color"]=kBgColor_UART a["direction"]=kPinDirection_Unknown a["status"]=kPinStatus_Unknown function get_uart_baudate(i) local h=string.format("UART%d",o) local a=string.format("UART%d_UART_BAUD",o) table.insert(t,a) local n=ext.band(ext.rshift(e[a],29),1) local o=ext.band(ext.rshift(e[a],28),1) local s=ext.band(ext.rshift(e[a],24),15) local a=ext.band(e[a],65535) local e=0 local t="" if n==0 and o==0 then e=i/(16*(a+2)) elseif n~=0 and o==0 then if s>=8 then e=i/((s+1)*(a+2)) else t="invalid "..h.."'s UART_BAUD value, EDIVM1 must >= 8" end elseif n~=0 and o~=0 then e=i/(a+2) else t="invalid "..h.."'s UART_BAUD value" end return e,t end table.insert(t,"CLK_CLK_APBCLK0") local s=ext.band(e["CLK_CLK_APBCLK0"],ext.lshift(1,o+16)) if s~=0 then local s local a table.insert(t,"CLK_CLK_CLKSEL1") local h=ext.band(ext.rshift(e["CLK_CLK_CLKSEL1"],24),3) if h==0 then s,a=get_HXT_clock(e,t) elseif h==1 then s,a=get_PLL_clock(e,t) elseif h==2 then s,a=get_LXT_clock(e,t) elseif h==3 then s,a=get_HIRC_clock(e,t) end local e=ext.band(ext.rshift(e["CLK_CLK_CLKDIV0"],8),15) r=s/(e+1) if r~=0 then table.insert(t,"CLK_CLK_CLKDIV0") n=string.format("UART%d clock frequency: %sHz, from %s.
",o,val2str(r),a) else i=string.format("UART%d clock is not available, %s.
",o,a) end else i=string.format("UART%d clock is not available (see CLK_APBCLK0[%d].UART%dCKEN).
", o,o+16,o) end if i==""then local e,t=get_uart_baudate(r) if e~=0 then n=n..string.format("UART baudrate: %d
",e) else i=t..".
" end end if i~=""then i=""..i.."" a["pin_no_color"]=kBgColor_Error end if n~=""then n="Information
"..n end a["information"]=string.format( "%s
%s
".. "%s%s%s", d, i, get_mfp_regs(e,u,l), get_clk_informnation(e,t), n) end function fill_M0564_SPI(n,a,l,u,d,t) local e="" local h="" local i={} n["highlight_text"]=d n["normal_color"]=kColor_Invalid n["highlight_color"]=kColor_SPI n["pin_bg_color"]=kBgColor_SPI n["direction"]=kPinDirection_Unknown n["status"]=kPinStatus_Unknown table.insert(i,"CLK_CLK_APBCLK0") local o=ext.band(a["CLK_CLK_APBCLK0"],ext.lshift(1,t+12)) if o~=0 then local o local s table.insert(i,"CLK_CLK_CLKSEL2") local r=ext.band(ext.rshift(a["CLK_CLK_CLKSEL2"],2*t+24),3) if r==0 then o,s=get_HXT_clock(a,i) elseif r==1 then o,s=get_PLL_clock(a,i) elseif r==2 then o,s=get_PCLK_clock(a,i,0) elseif r==3 then o,s=get_HIRC48_clock(a,i) end if o~=0 then local r=string.format("SPI%d_SPIx_I2SCTL",t) table.insert(i,r) local h=ext.band(a[r],1) if h~=0 then e=string.format("I2S controller enabled.
") local h=string.format("SPI%d_SPIx_I2SCLK",t) table.insert(i,h) local i=ext.band(ext.rshift(a[h],8),511) local r=ext.band(ext.rshift(a[r],8),1) if r==0 then local a=ext.band(a[h],63) local n=o/(2*(i+1)) local i=o if a~=0 then i=o/(2*a) end e=e..string.format("SPI%d_I2S is in master mode.
",t) e=e..string.format("BCLK frequency: %sHz
",val2str(n)) e=e..string.format("MCLK frequency: %sHz
",val2str(i)) else e=e..string.format("SPI%d_I2S is in slave mode.
",t) o=o/(i/2+1) e=e..string.format("SPI%d_I2S clock frequency: %sHz, from %s.
", t,val2str(o),s) end n["highlight_color"]=kColor_I2S n["pin_bg_color"]=kBgColor_I2S n["direction"]=kPinDirection_Unknown else local h=string.format("SPI%d_SPIx_CTL",t) local n=string.format("SPI%d_SPIx_CLKDIV",t) table.insert(i,h) local h=ext.band(ext.rshift(a[h],18),1) if h==0 then e=string.format("SPI%d is in master mode.
",t) table.insert(i,n) local a=ext.band(a[n],255) local a=o/(a+1) e=e..string.format("SPI%d clock frequency: %sHz, from %s.
", t,val2str(a),s) else e=string.format("SPI%d is in slave mode.
",t) end end else h=string.format("SPI%d clock is not available, %s.
",t,s) end else h=string.format("SPI%d clock is not available (see CLK_APBCLK0[%d].SPI%dCKEN).
", t,t+12,t) end if h~=""then h=""..h.."" n["pin_no_color"]=kBgColor_Error end if e~=""then e="Information
"..e end n["information"]=string.format( "%s
%s
".. "%s%s%s", d, h, get_mfp_regs(a,l,u), get_clk_informnation(a,i), e) end function fill_M0564_SPI_IO(e,o,a,t) local i=string.format("SPI%d_SPIx_I2SCTL",a) local i=ext.band(o[i],1) if i~=0 then if t then e["direction"]=kPinDirection_In else e["direction"]=kPinDirection_PushPullOut end else local a=string.format("SPI%d_SPIx_CTL",a) local a=ext.band(ext.rshift(o[a],18),1) if a==0 then if t then e["direction"]=kPinDirection_In else e["direction"]=kPinDirection_PushPullOut end else if t then e["direction"]=kPinDirection_PushPullOut else e["direction"]=kPinDirection_In end end end end function fill_M0564_I2C(a,o,r,d,h,e) local n="" local t="" local i={} a["highlight_text"]=h a["normal_color"]=kColor_Invalid a["highlight_color"]=kColor_I2C a["pin_bg_color"]=kBgColor_I2C a["direction"]=kPinDirection_Unknown a["status"]=kPinStatus_Unknown table.insert(i,"CLK_CLK_APBCLK0") local s=ext.band(o["CLK_CLK_APBCLK0"],ext.lshift(1,e+8)) if s~=0 then local a=string.format("I2C%d_I2C_CTL",e) table.insert(i,a) local a=ext.band(ext.rshift(o[a],6),1) if a~=0 then local s local a if e==0 then s,a=get_PCLK_clock(o,i,0) else s,a=get_PCLK_clock(o,i,1) end if s~=0 then local h=string.format("I2C%d_I2C_CLKDIV",e) table.insert(i,h) local o=ext.band(o[h],255) if o<4 then t=string.format("Invalid I2C%d's I2C_CLKDIV value, I2C_CLKDIV must >= 4.
",e) else local t=s/(4*(o+1)) n=n..string.format("I2C%d clock frequency: %sHz, from %s.
",e,val2str(t),a) end else t=string.format("I2C%d clock is not available, %s.
",e,a) end else t=string.format("I2C%d controller disabled (see I2C%d_I2C_CTL[6].I2CEN).
",e,e) end else t=string.format("I2C%d clock is not available (see CLK_APBCLK0[%d].I2C%dCKEN).
",e,e+8,e) end if t~=""then t=""..t.."" a["pin_no_color"]=kBgColor_Error end if n~=""then n="Information
"..n end a["information"]=string.format( "%s
%s
".. "%s%s%s", h, t, get_mfp_regs(o,r,d), get_clk_informnation(o,i), n) end function fill_M0564_ACMP(e,o,h,r,n,t) local a="" local t="" local i={} e["highlight_text"]=n e["normal_color"]=kColor_Invalid e["highlight_color"]=kColor_CMP e["pin_bg_color"]=kBgColor_CMP e["direction"]=kPinDirection_In e["status"]=kPinStatus_Unknown table.insert(i,"CLK_CLK_APBCLK0") local s=ext.band(o["CLK_CLK_APBCLK0"],ext.lshift(1,30)) if s~=0 then local t local e t,e=get_PCLK_clock(o,i,0) a=string.format("ACMP clock frequency: %sHz, from %s.
",val2str(t),e) else t="ACMP clock is not available (see CLK_APBCLK0[30].ACMP01CKEN).
" t=""..t.."" e["pin_no_color"]=kBgColor_Error end if t~=""then t=""..t.."" e["pin_no_color"]=kBgColor_Error end if a~=""then a="Information
"..a end e["information"]=string.format( "%s
%s
".. "%s%s%s", n, t, get_mfp_regs(o,h,r), get_clk_informnation(o,i), a) end function fill_M0564_CLKO(i,e,d,l,r) local h=get_chip_info()["series_group"] local s="" local n="" local o={} i["highlight_text"]=r i["normal_color"]=kColor_Invalid i["highlight_color"]=kColor_CLK i["pin_bg_color"]=kBgColor_CLK i["direction"]=kPinDirection_PushPullOut i["status"]=kPinStatus_Unknown table.insert(o,"CLK_CLK_APBCLK0") local t=ext.band(e["CLK_CLK_APBCLK0"],ext.lshift(1,6)) if t~=0 then table.insert(o,"CLK_CLK_CLKOCTL") local t=ext.band(ext.rshift(e["CLK_CLK_CLKOCTL"],6),1) if t==0 then local t=ext.band(ext.rshift(e["CLK_CLK_CLKOCTL"],4),1) if t~=0 then local t local a table.insert(o,"CLK_CLK_CLKSEL2") local i=ext.band(ext.rshift(e["CLK_CLK_CLKSEL2"],2),7) if i==0 then t,a=get_HXT_clock(e,o) elseif i==1 then t,a=get_LXT_clock(e,o) elseif i==2 then t,a=get_HCLK_clock(e,o) elseif i==3 then t,a=get_HIRC_clock(e,o) elseif i==5 then t,a=get_HIRC48_clock(e,o) elseif h==g_SeriesGroup.NUC1261_AE and i==4 then t=0 a="SOF (USB start of frame event)" else t=0 a="invalid CLKO clock source (see CLK_CLKSEL2[4:2].CLKOSEL)" end if t~=0 then local o=t local i=ext.band(ext.rshift(e["CLK_CLK_CLKOCTL"],5),1) if i==0 then local e=ext.band(e["CLK_CLK_CLKOCTL"],15) o=t/ext.lshift(1,(e+1)) end s=string.format("CLKO clock frequency: %sHz, from %s.
",val2str(o),a) elseif h==g_SeriesGroup.NUC1261_AE and i==4 then s="CLKO clock from"..a else n="CLKO clock is not available, "..a..".
" end else n="CLKO output function disabled (see CLK_CLKOCTL[4].CLKOEN).
" end else s="1Hz clock from RTC" end else n="CLKO clock is not available (see CLK_APBCLK0[6].CLKOCKEN).
" end if n~=""then n=""..n.."" i["pin_no_color"]=kBgColor_Error end if s~=""then s="Information
"..s end i["information"]=string.format( "%s
%s
".. "%s%s%s", r, n, get_mfp_regs(e,d,l), get_clk_informnation(e,o), s) end function fill_M0564_TM(h,a,l,d,r,e) local t="" local i="" local o={} h["highlight_text"]=r h["normal_color"]=kColor_Invalid h["highlight_color"]=kColor_TM h["pin_bg_color"]=kBgColor_TM h["direction"]=kPinDirection_Unknown h["status"]=kPinStatus_Unknown table.insert(o,"CLK_CLK_APBCLK0") local n=ext.band(a["CLK_CLK_APBCLK0"],ext.lshift(1,e+2)) if n~=0 then local n=string.format("TMR%d%d_TIMER%d_ALTCTL",ext.rshift(e,1)*2,ext.rshift(e,1)*2+1,e) table.insert(o,n) local n=ext.band(a[n],1) if n==0 then t="Timer controller is used as timer function.
" local n=string.format("TMR%d%d_TIMER%d_CTL",ext.rshift(e,1)*2,ext.rshift(e,1)*2+1,e) table.insert(o,n) local n=ext.band(ext.rshift(a[n],24),1) if n~=0 then t=t..string.format("TMR%d external counting pin function enabled.
",e) else local s local n table.insert(o,"CLK_CLK_CLKSEL1") local h=ext.band(ext.rshift(a["CLK_CLK_CLKSEL1"],8+e*4),7) if h==0 then s,n=get_HXT_clock(a,o) elseif h==1 then s,n=get_LXT_clock(a,o) elseif h==2 then if e==0 or e==1 then s,n=get_PCLK_clock(a,o,0) else s,n=get_PCLK_clock(a,o,1) end elseif h==3 then t=t..string.format("TMR%d clock source is from external clock T%d pin.
",e,e) elseif h==5 then s,n=get_LIRC_clock(a,o) elseif h==7 then s,n=get_HIRC_clock(a,o) else i=string.format("TMR%d clock source is undefined (see CLK_CLKSEL1[%d:%d].TMR%dSEL).
", e,8+e*4+2,8+e*4,e) end if i==""and h~=3 then if s~=0 then t=t..string.format("TMR%d clock frequency: %sHz, from %s.
",e,val2str(s),n) else i=string.format("TMR%d clock is not available, %s.
",e,n) end end end else t="Timer controller is used as PWM function.
" if e==0 or e==1 then clk_freq,clk_info=get_PCLK_clock(a,o,0) else clk_freq,clk_info=get_PCLK_clock(a,o,1) end if clk_freq~=0 then t=t..string.format("TMR%d_PWM clock frequency: %sHz, from %s.
",e,val2str(clk_freq),clk_info) else i=string.format("TMR%d_PWM clock is not available, %s.
",e,clk_info) end local n=string.format("TMR%d%d_TIMER%d_PWMCTL",ext.rshift(e,1)*2,ext.rshift(e,1)*2+1,e) table.insert(o,n) local n=ext.band(a[n],1) if n==0 then i=string.format("TMR%d_PWM counter stops running.
",e) else local n=string.format("TMR%d%d_TIMER%d_PWMCLKSRC",ext.rshift(e,1)*2,ext.rshift(e,1)*2+1,e) table.insert(o,n) local n=ext.band(a[n],7) if n==0 then if clk_freq==0 then i=string.format("TMR%d_PWM clock is not available, %s.
",e,clk_info) else local i=string.format("TMR%d%d_TIMER%d_PWMCLKPSC",ext.rshift(e,1)*2,ext.rshift(e,1)*2+1,e) table.insert(o,i) local a=ext.band(a[i],4095) local a=clk_freq/(a+1) t=string.format("TMR%d_PWM clock frequency: %sHz, from %s.
", e,val2str(clk_freq),clk_info) t=t..string.format("TMR%d_PWM counter frequency: %sHz (Pre-Scaled)
", e,val2str(a)) end elseif n<=4 then t=string.format("TMR%d_PWM clock source is from TIMER%d time-out or capture event.
",e,n-1) else i=string.format("TMR%d_PWM clock source is undefined (see TIMER%d_PWM_CLKSRC[2:0].CLKSRC).
",e,e) end end end else i=string.format("TMR%d clock is not available (see CLK_APBCLK0[%d].TMR%dCKEN).
",e,e+2,e) end if i~=""then i=""..i.."" h["pin_no_color"]=kBgColor_Error end if t~=""then t="Information
"..t end h["information"]=string.format( "%s
%s
".. "%s%s%s", r, i, get_mfp_regs(a,l,d), get_clk_informnation(a,o), t) end function fill_M0564_PWM(n,t,u,c,l,e,r) local s="" local i="" local o={} n["highlight_text"]=l n["normal_color"]=kColor_Invalid n["highlight_color"]=kColor_PWM n["pin_bg_color"]=kBgColor_PWM n["direction"]=kPinDirection_Unknown n["status"]=kPinStatus_Unknown if r~=nil then local a=ext.rshift(r,1) table.insert(o,"CLK_CLK_APBCLK0") local n=ext.band(t["CLK_CLK_APBCLK0"],ext.lshift(1,e+20)) if n~=0 then table.insert(o,"CLK_CLK_CLKSEL1") local d=ext.band(ext.rshift(t["CLK_CLK_CLKSEL1"],e+28),1) local n local h if d==0 then n,h=get_PLL_clock(t,o) else if e==0 then n,h=get_PCLK_clock(t,o,0) else n,h=get_PCLK_clock(t,o,1) end end local d=string.format("PWM%d_PWM_CNTEN",e) table.insert(o,d) local d=ext.band(ext.rshift(t[d],r),1) if d==0 then i=string.format("PWM%d counter%d stops running.
",e,r) else local d=string.format("PWM%d_PWM_CLKSRC",e) table.insert(o,d) local d=ext.band(ext.rshift(t[d],8*a),7) if d==0 then if n==0 then i=string.format("PWM%d clock is not available, %s.
",e,h) else local a=string.format("PWM%d_PWM_CLKPSC%d_%d",e,2*a,2*a+1) table.insert(o,a) local t=ext.band(t[a],4095) local t=n/(t+1) s=string.format("PWM%d clock frequency: %sHz, from %s.
", e,val2str(n),h) s=s..string.format("PWM%d counter%d frequency: %sHz (Pre-Scaled)
", e,r,val2str(t)) end elseif d<=4 then s=string.format("PWM%d_CH%d%d clock source is from TIMER%d.
", e,2*a,2*a+1,d-1) else i=string.format("PWM%d_CH%d%d clock source is undefined (see PWM_CLKSRC[%d:%d].ECLKSRC%d).
", e,2*a,2*a+1,8*a+2,8*a,2*a) end end else i=string.format("PWM%d clock is not available (see CLK_APBCLK0[%d].PWM%dCKEN).
", e,e+20,e) end end if i~=""then i=""..i.."" n["pin_no_color"]=kBgColor_Error end if s~=""then s="Information
"..s end n["information"]=string.format( "%s
%s
".. "%s%s%s", l, i, get_mfp_regs(t,u,c), get_clk_informnation(t,o), s) end function fill_M0564_SC(n,a,u,c,l,e) local t="" local i="" local o={} local r=0 n["highlight_text"]=l n["normal_color"]=kColor_Invalid n["highlight_color"]=kColor_SC n["pin_bg_color"]=kBgColor_SC n["direction"]=kPinDirection_PushPullOut n["status"]=kPinStatus_Unknown table.insert(o,"CLK_CLK_APBCLK1") local s=ext.band(a["CLK_CLK_APBCLK1"],ext.lshift(1,e)) if s~=0 then local d=string.format("SC%d_SC_CTL",e) table.insert(o,d) if ext.band(a[d],1)~=0 then local s local n table.insert(o,"CLK_CLK_CLKSEL3") local h=ext.band(ext.rshift(a["CLK_CLK_CLKSEL3"],e*2),3) if h==0 then s,n=get_HXT_clock(a,o) elseif h==1 then s,n=get_PLL_clock(a,o) elseif h==2 then s,n=get_PCLK_clock(a,o,1) elseif h==3 then s,n=get_HIRC_clock(a,o) end table.insert(o,"CLK_CLK_CLKDIV1") local a=ext.band(ext.rshift(a["CLK_CLK_CLKDIV1"],e*8),255) r=s/(a+1) if r~=0 then t=t..string.format("SC%d clock frequency: %sHz, from %s.
",e,val2str(r),n) else i=string.format("SC%d clock is not available, ",e)..n..".
" end else i=string.format("SC%d controller disabled (see %s[0].SCEN).
",e,d) end else i=string.format("SC%d clock is not available (see CLK_APBCLK1[%d].SC%dCKEN).
",e,e,e) end if i==""then local n=string.format("SC%d_SC_UARTCTL",e) local s=string.format("SC%d_SC_ETUCTL",e) table.insert(o,n) table.insert(o,s) local o=ext.band(a[s],4095) local s=r/(o+1) local a=ext.band(a[n],1) if a~=0 then t=string.format("SC%d is in UART mode.
",e)..t if o>4 then t=t..string.format("UART baudrate: %d
",s) else i=string.format("SC%d ETURDIV(SC_ETUCTL[11:0]) must be greater than 4.
",e) end else t=string.format("SC%d is in Smart Card mode.
",e)..t end end if i~=""then i=""..i.."" n["pin_no_color"]=kBgColor_Error end if t~=""then t="Information
"..t end n["information"]=string.format( "%s
%s
".. "%s%s%s", l, i, get_mfp_regs(a,u,c), get_clk_informnation(a,o), t) end function fill_M0564_USCI(o,t,m,f,d,e) local a="" local i={} o["highlight_text"]=d o["normal_color"]=kColor_Invalid o["highlight_color"]=kColor_USCI o["pin_bg_color"]=kBgColor_USCI o["direction"]=kPinDirection_Unknown o["status"]=kPinStatus_Unknown table.insert(i,"CLK_CLK_APBCLK1") local n=ext.band(t["CLK_CLK_APBCLK1"],ext.lshift(1,e+8)) if n~=0 then local o=string.format("USCI%d_USCI_CTL",e) table.insert(i,o) local s=ext.band(t[o],7) local o=string.format("USCI%d_USCI_BRGEN",e) table.insert(i,o) local n=ext.band(t[o],1) local d=ext.band(ext.rshift(t[o],1),1) local h=ext.band(ext.rshift(t[o],2),3) local c=ext.band(ext.rshift(t[o],10),31) local m=ext.band(ext.rshift(t[o],8),3) local f=ext.band(ext.rshift(t[o],16),1023) local o=string.format("USCI%d_USCI_PROTCTL",e) table.insert(i,o) local r=ext.band(ext.rshift(t[o],31),1) local l=ext.band(t[o],1) local n local o if e==0 or e==2 then n,o=get_PCLK_clock(t,i,0) else n,o=get_PCLK_clock(t,i,1) end local i=n local t=i/2 local u=(d==0)and i or t local d=u/(f+1) local f=d/2 local t if h==0 then t=d elseif h==1 then t=u elseif h==2 then t=f elseif h==3 then t=i end if n~=0 then if s==0 then info=string.format("USCI%d is in idle state.
",e) elseif s==1 then if l==0 then info=string.format("USCI%d is in SPI master mode.
",e) else info=string.format("USCI%d is in SPI slave mode.
",e) end if r==0 then a=string.format("SPI protocol disabled (see USCI%d_USCI_PROTCTL[31].PROTEN)
",e) elseif l==0 then local t=t/2 info=info..string.format("USPI%d clock frequency: %sHz, from %s.
",e,val2str(t),o) end elseif s==2 then info=string.format("USCI%d is in UART mode.
",e) if r==0 then a=string.format("UART protocol disabled (see USCI%d_USCI_PROTCTL[31].PROTEN)
",e) else info=info..string.format("UUART%d clock frequency: %sHz, from %s.
",e,val2str(n),o) local e=t/(c+1)/(m+1) info=info..string.format("UART baudrate: %d
",e) end elseif s==4 then info=string.format("USCI%d is in I2C mode.
",e) if r==0 then a=string.format("I2C protocol disabled (see USCI%d_USCI_PROTCTL[31].PROTEN)
",e) else local t=t/2 info=info..string.format("UI2C%d clock frequency: %sHz, from %s.
",e,val2str(t),o) end else a=string.format("Undefined function mode (see USCI_CTL[2:0].FUNMODE).
") end else a=string.format("USCI%d clock is not available, %s.
",e,o) end else a=string.format("USCI%d clock is not available (see CLK_APBCLK1[%d].USCI%dCKEN).
",e,e+8,e) end if a~=""then a=""..a.."" o["pin_no_color"]=kBgColor_Error end if info~=""then info="Information
"..info end o["information"]=string.format( "%s
%s
".. "%s%s%s", d, a, get_mfp_regs(t,m,f), get_clk_informnation(t,i), info) end function fill_M0564_USCI_IO(e,o,i,a) local t=string.format("USCI%d_USCI_CTL",i) local t=ext.band(o[t],7) if t==0 then elseif t==1 then local t=string.format("USCI%d_USCI_PROTCTL",i) local t=ext.band(o[t],1) if t==0 then if a==0 then e["direction"]=kPinDirection_PushPullOut else e["direction"]=kPinDirection_In end else if a==0 then e["direction"]=kPinDirection_In else e["direction"]=kPinDirection_PushPullOut end end elseif t==2 then if a==0 then e["direction"]=kPinDirection_In else e["direction"]=kPinDirection_PushPullOut end elseif t==4 then end end function fill_M0564_USB(e,t,r,h,s) local i="" local o="" local a={} e["highlight_text"]=s e["normal_color"]=kColor_Invalid e["highlight_color"]=kColor_USB e["pin_bg_color"]=kBgColor_USB e["direction"]=kPinDirection_Unknown e["status"]=kPinStatus_Unknown table.insert(a,"CLK_CLK_APBCLK0") local n=ext.band(t["CLK_CLK_APBCLK0"],ext.lshift(1,27)) if n~=0 then local e local n table.insert(a,"CLK_CLK_CLKSEL3") local s=ext.band(ext.rshift(t["CLK_CLK_CLKSEL3"],8),1) if s==0 then e,n=get_HIRC48_clock(t,a) else e,n=get_PLL_clock(t,a) table.insert(a,"CLK_CLK_CLKDIV0") local t=ext.band(ext.rshift(t["CLK_CLK_CLKDIV0"],4),15) e=e/(t+1) end if e~=0 then i=string.format("USB clock frequency: %sHz, from %s.
",val2str(e),n) else o="USB clock is not available, "..n..".
" end else o="USB clock is not available (see CLK_APBCLK0[27].USBDCKEN).
" end if o~=""then o=""..o.."" e["pin_no_color"]=kBgColor_Error end if i~=""then i="Information
"..i end e["information"]=string.format( "%s
%s
".. "%s%s%s", s, o, get_mfp_regs(t,r,h), get_clk_informnation(t,a), i) end function fill_M0564_EBI(t,a,d,r,h) local e="" local o="" local i={} t["highlight_text"]=h t["normal_color"]=kColor_Invalid t["highlight_color"]=kColor_EBI t["pin_bg_color"]=kBgColor_EBI t["direction"]=kPinDirection_Unknown t["status"]=kPinStatus_Unknown table.insert(i,"CLK_CLK_AHBCLK") local n=ext.band(ext.rshift(a["CLK_CLK_AHBCLK"],3),1) if n~=0 then local n local s n,s=get_HCLK_clock(a,i) if n~=0 then for o=0,1 do local t=string.format("EBI_EBI_CTL%d",o) table.insert(i,t) local i=ext.band(a[t],1) if i~=0 then local i=ext.band(ext.rshift(a[t],8),7) local n=ext.rshift(n,i) local i=ext.band(ext.rshift(a[t],1),1) e=e..string.format("EBI Bank%d MCLK frequency: %sHz, from %s.
", o,val2str(n),s) local t=ext.band(ext.rshift(a[t],4),1) if t~=0 then e=e..string.format("EBI Bank%d: continuous data access mode",o) else e=e..string.format("EBI Bank%d: address/data bus multiplex mode",o) end e=e..string.format(", and data width %d-bit
",(i~=0)and 16 or 8) else e=e..string.format("EBI Bank%d disabled
",o) end end else o=string.format("EBI clock is not available, %s.
",s) end else o="EBI clock is not available (see CLK_AHBCLK[3].EBICKEN).
" end if o~=""then o=""..o.."" t["pin_no_color"]=kBgColor_Error end if e~=""then e="Information
"..e end t["information"]=string.format( "%s
%s
".. "%s%s%s", h, o, get_mfp_regs(a,d,r), get_clk_informnation(a,i), e) end function fill_M0564_Normal(e,i,o,a,t) e["highlight_text"]=t e["normal_color"]=kColor_Invalid e["highlight_color"]=kColor_Normal e["pin_bg_color"]=kBgColor_Normal e["direction"]=kPinDirection_Unknown e["status"]=kPinStatus_Unknown if o==nil or a==nil then e["information"]=string.format( "%s
", t) else e["information"]=string.format( "%s

".. "%s", t, get_mfp_regs(i,o,a)) end end