uint32_t CS_getMCLK(void) { //Find MCLK source uint16_t MCLKSource = (HWREG16(CS_BASE + OFS_CSCTL2) & SELM_7); //Find MCLK frequency divider uint16_t MCLKSourceDivider = HWREG16(CS_BASE + OFS_CSCTL3) & SELM_7; return (privateCSComputeCLKFrequency( MCLKSource, MCLKSourceDivider) ); }
uint32_t CS_getMCLK(void) { //Find AMCLK source uint16_t MCLKSource = (HWREG16(CS_BASE + OFS_CSCTL4) & SELMS_7); uint16_t MCLKSourceDivider = HWREG16(CS_BASE + OFS_CSCTL5) & DIVM_7; return (privateCSComputeCLKFrequency( MCLKSource, MCLKSourceDivider) ); }
uint32_t CS_getSMCLK(void) { uint16_t SMCLKSource = HWREG8(CS_BASE + OFS_CSCTL4_L) & SELMS_7; uint16_t SMCLKSourceDivider = HWREG16(CS_BASE + OFS_CSCTL5) & DIVS_3; SMCLKSourceDivider = SMCLKSourceDivider >> 4; return (privateCSComputeCLKFrequency( SMCLKSource, SMCLKSourceDivider) ); }
uint32_t CS_getACLK(void) { //Find ACLK source uint16_t ACLKSource = (HWREG16(CS_BASE + OFS_CSCTL2) & SELA_7); ACLKSource = ACLKSource >> 8; //Find ACLK frequency divider uint16_t ACLKSourceDivider = HWREG16(CS_BASE + OFS_CSCTL3) & SELA_7; ACLKSourceDivider = ACLKSourceDivider >> 8; return (privateCSComputeCLKFrequency( ACLKSource, ACLKSourceDivider)); }
uint32_t CS_getSMCLK(void) { //Find SMCLK source uint16_t SMCLKSource = HWREG8(CS_BASE + OFS_CSCTL2) & SELS_7; SMCLKSource = SMCLKSource >> 4; //Find SMCLK frequency divider uint16_t SMCLKSourceDivider = HWREG16(CS_BASE + OFS_CSCTL3) & SELS_7; SMCLKSourceDivider = SMCLKSourceDivider >> 4; return (privateCSComputeCLKFrequency( SMCLKSource, SMCLKSourceDivider) ); }
uint32_t CS_getACLK(void) { //Find ACLK source uint16_t ACLKSource = (HWREG16(CS_BASE + OFS_CSCTL4) & SELA); ACLKSource = ACLKSource >> 8; if(ACLKSource == 0x0) { ACLKSource = SELMS__XT1CLK; } else { ACLKSource = SELMS__REFOCLK; } uint16_t ACLKSourceDivider = 1; ACLKSourceDivider = ACLKSourceDivider >> 8; return (privateCSComputeCLKFrequency( ACLKSource, ACLKSourceDivider) ); }