mbed library sources
Fork of mbed-src by
targets/cmsis/TARGET_WIZNET/TARGET_W7500x/W7500x_crg.c@558:0880f51c4036, 2015-06-03 (annotated)
- Committer:
- mbed_official
- Date:
- Wed Jun 03 09:00:09 2015 +0100
- Revision:
- 558:0880f51c4036
Synchronized with git revision 927c31ab8457cfef0ee8a8316117b7a41fd79133
Full URL: https://github.com/mbedmicro/mbed/commit/927c31ab8457cfef0ee8a8316117b7a41fd79133/
Add WIZwiki-W7500
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 558:0880f51c4036 | 1 | #include "W7500x_crg.h" |
mbed_official | 558:0880f51c4036 | 2 | |
mbed_official | 558:0880f51c4036 | 3 | void CRG_DeInit(void) |
mbed_official | 558:0880f51c4036 | 4 | { |
mbed_official | 558:0880f51c4036 | 5 | //To Do |
mbed_official | 558:0880f51c4036 | 6 | } |
mbed_official | 558:0880f51c4036 | 7 | |
mbed_official | 558:0880f51c4036 | 8 | void CRG_OSC_PowerDownEnable(FunctionalState NewState) |
mbed_official | 558:0880f51c4036 | 9 | { |
mbed_official | 558:0880f51c4036 | 10 | if(NewState != DISABLE) CRG->OSC_PDR = CRG_OSC_PDR_PD; |
mbed_official | 558:0880f51c4036 | 11 | else CRG->OSC_PDR = CRG_OSC_PDR_NRMLOP; |
mbed_official | 558:0880f51c4036 | 12 | } |
mbed_official | 558:0880f51c4036 | 13 | |
mbed_official | 558:0880f51c4036 | 14 | void CRG_PLL_PowerDownEnable(FunctionalState NewState) |
mbed_official | 558:0880f51c4036 | 15 | { |
mbed_official | 558:0880f51c4036 | 16 | if(NewState != DISABLE) CRG->PLL_PDR = CRG_PLL_PDR_PD; |
mbed_official | 558:0880f51c4036 | 17 | else CRG->PLL_PDR = CRG_PLL_PDR_NRMLOP; |
mbed_official | 558:0880f51c4036 | 18 | } |
mbed_official | 558:0880f51c4036 | 19 | |
mbed_official | 558:0880f51c4036 | 20 | void CRG_PLL_OutputEnable(FunctionalState NewState) |
mbed_official | 558:0880f51c4036 | 21 | { |
mbed_official | 558:0880f51c4036 | 22 | if(NewState != DISABLE) CRG->PLL_OER = CRG_PLL_OER_EN; |
mbed_official | 558:0880f51c4036 | 23 | else CRG->PLL_OER = CRG_PLL_OER_DIS; |
mbed_official | 558:0880f51c4036 | 24 | } |
mbed_official | 558:0880f51c4036 | 25 | |
mbed_official | 558:0880f51c4036 | 26 | void CRG_PLL_BypassEnable(FunctionalState NewState) |
mbed_official | 558:0880f51c4036 | 27 | { |
mbed_official | 558:0880f51c4036 | 28 | if(NewState != DISABLE) CRG->PLL_BPR = CRG_PLL_BPR_EN; |
mbed_official | 558:0880f51c4036 | 29 | else CRG->PLL_BPR = CRG_PLL_BPR_DIS; |
mbed_official | 558:0880f51c4036 | 30 | } |
mbed_official | 558:0880f51c4036 | 31 | |
mbed_official | 558:0880f51c4036 | 32 | void CRG_PLL_InputFrequencySelect(CRG_CLK_SOURCE src) |
mbed_official | 558:0880f51c4036 | 33 | { |
mbed_official | 558:0880f51c4036 | 34 | assert_param(IS_CRG_PLL_SRC(src)); |
mbed_official | 558:0880f51c4036 | 35 | |
mbed_official | 558:0880f51c4036 | 36 | if( src == CRG_RCLK ) CRG->PLL_IFSR = CRG_PLL_IFSR_RCLK; |
mbed_official | 558:0880f51c4036 | 37 | else CRG->PLL_IFSR = CRG_PLL_IFSR_OCLK; |
mbed_official | 558:0880f51c4036 | 38 | } |
mbed_official | 558:0880f51c4036 | 39 | |
mbed_official | 558:0880f51c4036 | 40 | void CRG_FCLK_SourceSelect(CRG_CLK_SOURCE src) |
mbed_official | 558:0880f51c4036 | 41 | { |
mbed_official | 558:0880f51c4036 | 42 | assert_param(IS_CRG_FCLK_SRC(src)); |
mbed_official | 558:0880f51c4036 | 43 | |
mbed_official | 558:0880f51c4036 | 44 | if ( src == CRG_RCLK ) CRG->FCLK_SSR = CRG_FCLK_SSR_RCLK; |
mbed_official | 558:0880f51c4036 | 45 | else if ( src == CRG_OCLK ) CRG->FCLK_SSR = CRG_FCLK_SSR_OCLK; |
mbed_official | 558:0880f51c4036 | 46 | else CRG->FCLK_SSR = CRG_FCLK_SSR_MCLK; |
mbed_official | 558:0880f51c4036 | 47 | } |
mbed_official | 558:0880f51c4036 | 48 | |
mbed_official | 558:0880f51c4036 | 49 | void CRG_FCLK_SetPrescale(CRG_PREDIV prediv) |
mbed_official | 558:0880f51c4036 | 50 | { |
mbed_official | 558:0880f51c4036 | 51 | assert_param(IS_CRG_FCLK_PREDIV(prediv)); |
mbed_official | 558:0880f51c4036 | 52 | |
mbed_official | 558:0880f51c4036 | 53 | if ( prediv == CRG_PREDIV1 ) CRG->FCLK_PVSR = CRG_FCLK_PVSR_DIV1; |
mbed_official | 558:0880f51c4036 | 54 | else if ( prediv == CRG_PREDIV2 ) CRG->FCLK_PVSR = CRG_FCLK_PVSR_DIV2; |
mbed_official | 558:0880f51c4036 | 55 | else if ( prediv == CRG_PREDIV4 ) CRG->FCLK_PVSR = CRG_FCLK_PVSR_DIV4; |
mbed_official | 558:0880f51c4036 | 56 | else CRG->FCLK_PVSR = CRG_FCLK_PVSR_DIV8; |
mbed_official | 558:0880f51c4036 | 57 | } |
mbed_official | 558:0880f51c4036 | 58 | |
mbed_official | 558:0880f51c4036 | 59 | void CRG_SSPCLK_SourceSelect(CRG_CLK_SOURCE src) |
mbed_official | 558:0880f51c4036 | 60 | { |
mbed_official | 558:0880f51c4036 | 61 | assert_param(IS_CRG_SSPCLK_SRC(src)); |
mbed_official | 558:0880f51c4036 | 62 | |
mbed_official | 558:0880f51c4036 | 63 | if ( src == CRG_CLK_DIS ) CRG->SSPCLK_SSR = CRG_SSPCLK_SSR_DIS; |
mbed_official | 558:0880f51c4036 | 64 | else if ( src == CRG_MCLK ) CRG->SSPCLK_SSR = CRG_SSPCLK_SSR_MCLK; |
mbed_official | 558:0880f51c4036 | 65 | else if ( src == CRG_RCLK ) CRG->SSPCLK_SSR = CRG_SSPCLK_SSR_RCLK; |
mbed_official | 558:0880f51c4036 | 66 | else CRG->SSPCLK_SSR = CRG_SSPCLK_SSR_OCLK; |
mbed_official | 558:0880f51c4036 | 67 | } |
mbed_official | 558:0880f51c4036 | 68 | |
mbed_official | 558:0880f51c4036 | 69 | void CRG_SSPCLK_SetPrescale(CRG_PREDIV prediv) |
mbed_official | 558:0880f51c4036 | 70 | { |
mbed_official | 558:0880f51c4036 | 71 | assert_param(IS_CRG_SSPCLK_PREDIV(prediv)); |
mbed_official | 558:0880f51c4036 | 72 | |
mbed_official | 558:0880f51c4036 | 73 | if ( prediv == CRG_PREDIV1 ) CRG->SSPCLK_PVSR = CRG_SSPCLK_PVSR_DIV1; |
mbed_official | 558:0880f51c4036 | 74 | else if ( prediv == CRG_PREDIV2 ) CRG->SSPCLK_PVSR = CRG_SSPCLK_PVSR_DIV2; |
mbed_official | 558:0880f51c4036 | 75 | else if ( prediv == CRG_PREDIV4 ) CRG->SSPCLK_PVSR = CRG_SSPCLK_PVSR_DIV4; |
mbed_official | 558:0880f51c4036 | 76 | else CRG->SSPCLK_PVSR = CRG_SSPCLK_PVSR_DIV8; |
mbed_official | 558:0880f51c4036 | 77 | } |
mbed_official | 558:0880f51c4036 | 78 | |
mbed_official | 558:0880f51c4036 | 79 | void CRG_ADCCLK_SourceSelect(CRG_CLK_SOURCE src) |
mbed_official | 558:0880f51c4036 | 80 | { |
mbed_official | 558:0880f51c4036 | 81 | assert_param(IS_CRG_ADCCLK_SRC(src)); |
mbed_official | 558:0880f51c4036 | 82 | |
mbed_official | 558:0880f51c4036 | 83 | if ( src == CRG_CLK_DIS ) CRG->ADCCLK_SSR = CRG_ADCCLK_SSR_DIS; |
mbed_official | 558:0880f51c4036 | 84 | else if ( src == CRG_MCLK ) CRG->ADCCLK_SSR = CRG_ADCCLK_SSR_MCLK; |
mbed_official | 558:0880f51c4036 | 85 | else if ( src == CRG_RCLK ) CRG->ADCCLK_SSR = CRG_ADCCLK_SSR_RCLK; |
mbed_official | 558:0880f51c4036 | 86 | else CRG->ADCCLK_SSR = CRG_ADCCLK_SSR_OCLK; |
mbed_official | 558:0880f51c4036 | 87 | } |
mbed_official | 558:0880f51c4036 | 88 | |
mbed_official | 558:0880f51c4036 | 89 | void CRG_ADCCLK_SetPrescale(CRG_PREDIV prediv) |
mbed_official | 558:0880f51c4036 | 90 | { |
mbed_official | 558:0880f51c4036 | 91 | assert_param(IS_CRG_ADCCLK_PREDIV(prediv)); |
mbed_official | 558:0880f51c4036 | 92 | |
mbed_official | 558:0880f51c4036 | 93 | if ( prediv == CRG_PREDIV1 ) CRG->ADCCLK_PVSR = CRG_ADCCLK_PVSR_DIV1; |
mbed_official | 558:0880f51c4036 | 94 | else if ( prediv == CRG_PREDIV2 ) CRG->ADCCLK_PVSR = CRG_ADCCLK_PVSR_DIV2; |
mbed_official | 558:0880f51c4036 | 95 | else if ( prediv == CRG_PREDIV4 ) CRG->ADCCLK_PVSR = CRG_ADCCLK_PVSR_DIV4; |
mbed_official | 558:0880f51c4036 | 96 | else CRG->ADCCLK_PVSR = CRG_ADCCLK_PVSR_DIV8; |
mbed_official | 558:0880f51c4036 | 97 | } |
mbed_official | 558:0880f51c4036 | 98 | |
mbed_official | 558:0880f51c4036 | 99 | void CRG_TIMERCLK_SourceSelect(CRG_TIMER num, CRG_CLK_SOURCE src) |
mbed_official | 558:0880f51c4036 | 100 | { |
mbed_official | 558:0880f51c4036 | 101 | assert_param(IS_CRG_TIMERCLK_NUM(num)); |
mbed_official | 558:0880f51c4036 | 102 | assert_param(IS_CRG_TIMERCLK_SRC(src)); |
mbed_official | 558:0880f51c4036 | 103 | |
mbed_official | 558:0880f51c4036 | 104 | if ( src == CRG_CLK_DIS ) CRG_SET_TIMERCLK_SSR(num,CRG_TIMERCLK_SSR_DIS); |
mbed_official | 558:0880f51c4036 | 105 | else if ( src == CRG_MCLK ) CRG_SET_TIMERCLK_SSR(num,CRG_TIMERCLK_SSR_MCLK); |
mbed_official | 558:0880f51c4036 | 106 | else if ( src == CRG_RCLK ) CRG_SET_TIMERCLK_SSR(num,CRG_TIMERCLK_SSR_RCLK); |
mbed_official | 558:0880f51c4036 | 107 | else CRG_SET_TIMERCLK_SSR(num,CRG_TIMERCLK_SSR_OCLK); |
mbed_official | 558:0880f51c4036 | 108 | } |
mbed_official | 558:0880f51c4036 | 109 | |
mbed_official | 558:0880f51c4036 | 110 | void CRG_TIMERCLK_SetPrescale(CRG_TIMER num, CRG_PREDIV prediv) |
mbed_official | 558:0880f51c4036 | 111 | { |
mbed_official | 558:0880f51c4036 | 112 | assert_param(IS_CRG_TIMERCLK_NUM(num)); |
mbed_official | 558:0880f51c4036 | 113 | assert_param(IS_CRG_TIMERCLK_PREDIV(prediv)); |
mbed_official | 558:0880f51c4036 | 114 | |
mbed_official | 558:0880f51c4036 | 115 | if ( prediv == CRG_PREDIV1 ) CRG_SET_TIMERCLK_PREDIV(num,CRG_TIMERCLK_PVSR_DIV1); |
mbed_official | 558:0880f51c4036 | 116 | else if ( prediv == CRG_PREDIV2 ) CRG_SET_TIMERCLK_PREDIV(num,CRG_TIMERCLK_PVSR_DIV2); |
mbed_official | 558:0880f51c4036 | 117 | else if ( prediv == CRG_PREDIV4 ) CRG_SET_TIMERCLK_PREDIV(num,CRG_TIMERCLK_PVSR_DIV4); |
mbed_official | 558:0880f51c4036 | 118 | else if ( prediv == CRG_PREDIV8 ) CRG_SET_TIMERCLK_PREDIV(num,CRG_TIMERCLK_PVSR_DIV8); |
mbed_official | 558:0880f51c4036 | 119 | else if ( prediv == CRG_PREDIV16 ) CRG_SET_TIMERCLK_PREDIV(num,CRG_TIMERCLK_PVSR_DIV16); |
mbed_official | 558:0880f51c4036 | 120 | else if ( prediv == CRG_PREDIV32 ) CRG_SET_TIMERCLK_PREDIV(num,CRG_TIMERCLK_PVSR_DIV32); |
mbed_official | 558:0880f51c4036 | 121 | else if ( prediv == CRG_PREDIV64 ) CRG_SET_TIMERCLK_PREDIV(num,CRG_TIMERCLK_PVSR_DIV64); |
mbed_official | 558:0880f51c4036 | 122 | else CRG_SET_TIMERCLK_PREDIV(num,CRG_TIMERCLK_PVSR_DIV128); |
mbed_official | 558:0880f51c4036 | 123 | } |
mbed_official | 558:0880f51c4036 | 124 | |
mbed_official | 558:0880f51c4036 | 125 | void CRG_PWMCLK_SourceSelect(CRG_PWM num, CRG_CLK_SOURCE src) |
mbed_official | 558:0880f51c4036 | 126 | { |
mbed_official | 558:0880f51c4036 | 127 | assert_param(IS_CRG_PWMCLK_NUM(num)); |
mbed_official | 558:0880f51c4036 | 128 | assert_param(IS_CRG_PWMCLK_SRC(src)); |
mbed_official | 558:0880f51c4036 | 129 | |
mbed_official | 558:0880f51c4036 | 130 | if ( src == CRG_CLK_DIS ) CRG_SET_PWMCLK_SSR(num,CRG_PWMCLK_SSR_DIS); |
mbed_official | 558:0880f51c4036 | 131 | else if ( src == CRG_MCLK ) CRG_SET_PWMCLK_SSR(num,CRG_PWMCLK_SSR_MCLK); |
mbed_official | 558:0880f51c4036 | 132 | else if ( src == CRG_RCLK ) CRG_SET_PWMCLK_SSR(num,CRG_PWMCLK_SSR_RCLK); |
mbed_official | 558:0880f51c4036 | 133 | else CRG_SET_PWMCLK_SSR(num,CRG_PWMCLK_SSR_OCLK); |
mbed_official | 558:0880f51c4036 | 134 | } |
mbed_official | 558:0880f51c4036 | 135 | |
mbed_official | 558:0880f51c4036 | 136 | void CRG_PWMCLK_SetPrescale(CRG_PWM num, CRG_PREDIV prediv) |
mbed_official | 558:0880f51c4036 | 137 | { |
mbed_official | 558:0880f51c4036 | 138 | assert_param(IS_CRG_PWMCLK_NUM(num)); |
mbed_official | 558:0880f51c4036 | 139 | assert_param(IS_CRG_PWMCLK_PREDIV(prediv)); |
mbed_official | 558:0880f51c4036 | 140 | |
mbed_official | 558:0880f51c4036 | 141 | if ( prediv == CRG_PREDIV1 ) CRG_SET_PWMCLK_PREDIV(num,CRG_PWMCLK_PVSR_DIV1); |
mbed_official | 558:0880f51c4036 | 142 | else if ( prediv == CRG_PREDIV2 ) CRG_SET_PWMCLK_PREDIV(num,CRG_PWMCLK_PVSR_DIV2); |
mbed_official | 558:0880f51c4036 | 143 | else if ( prediv == CRG_PREDIV4 ) CRG_SET_PWMCLK_PREDIV(num,CRG_PWMCLK_PVSR_DIV4); |
mbed_official | 558:0880f51c4036 | 144 | else if ( prediv == CRG_PREDIV8 ) CRG_SET_PWMCLK_PREDIV(num,CRG_PWMCLK_PVSR_DIV8); |
mbed_official | 558:0880f51c4036 | 145 | else if ( prediv == CRG_PREDIV16 ) CRG_SET_PWMCLK_PREDIV(num,CRG_PWMCLK_PVSR_DIV16); |
mbed_official | 558:0880f51c4036 | 146 | else if ( prediv == CRG_PREDIV32 ) CRG_SET_PWMCLK_PREDIV(num,CRG_PWMCLK_PVSR_DIV32); |
mbed_official | 558:0880f51c4036 | 147 | else if ( prediv == CRG_PREDIV64 ) CRG_SET_PWMCLK_PREDIV(num,CRG_PWMCLK_PVSR_DIV64); |
mbed_official | 558:0880f51c4036 | 148 | else CRG_SET_PWMCLK_PREDIV(num,CRG_PWMCLK_PVSR_DIV128); |
mbed_official | 558:0880f51c4036 | 149 | } |
mbed_official | 558:0880f51c4036 | 150 | |
mbed_official | 558:0880f51c4036 | 151 | void CRG_RTC_HS_SourceSelect(CRG_CLK_SOURCE src) |
mbed_official | 558:0880f51c4036 | 152 | { |
mbed_official | 558:0880f51c4036 | 153 | assert_param(IS_CRG_RTC_HS_SRC(src)); |
mbed_official | 558:0880f51c4036 | 154 | |
mbed_official | 558:0880f51c4036 | 155 | if ( src == CRG_CLK_DIS ) CRG->RTC_HS_SSR = CRG_RTC_HS_SSR_DIS; |
mbed_official | 558:0880f51c4036 | 156 | else if ( src == CRG_MCLK ) CRG->RTC_HS_SSR = CRG_RTC_HS_SSR_MCLK; |
mbed_official | 558:0880f51c4036 | 157 | else if ( src == CRG_RCLK ) CRG->RTC_HS_SSR = CRG_RTC_HS_SSR_RCLK; |
mbed_official | 558:0880f51c4036 | 158 | else CRG->RTC_HS_SSR = CRG_RTC_HS_SSR_OCLK; |
mbed_official | 558:0880f51c4036 | 159 | |
mbed_official | 558:0880f51c4036 | 160 | if ( src != CRG_CLK_DIS ) CRG_RTC_SourceSelect(CRG_CLK_HIGH); |
mbed_official | 558:0880f51c4036 | 161 | } |
mbed_official | 558:0880f51c4036 | 162 | |
mbed_official | 558:0880f51c4036 | 163 | void CRG_RTC_HS_SetPrescale(CRG_PREDIV prediv) |
mbed_official | 558:0880f51c4036 | 164 | { |
mbed_official | 558:0880f51c4036 | 165 | assert_param(IS_CRG_RTC_HS_PREDIV(prediv)); |
mbed_official | 558:0880f51c4036 | 166 | |
mbed_official | 558:0880f51c4036 | 167 | if ( prediv == CRG_PREDIV1 ) CRG->RTC_HS_PVSR = CRG_RTC_HS_PVSR_DIV1; |
mbed_official | 558:0880f51c4036 | 168 | else if ( prediv == CRG_PREDIV2 ) CRG->RTC_HS_PVSR = CRG_RTC_HS_PVSR_DIV2; |
mbed_official | 558:0880f51c4036 | 169 | else if ( prediv == CRG_PREDIV4 ) CRG->RTC_HS_PVSR = CRG_RTC_HS_PVSR_DIV4; |
mbed_official | 558:0880f51c4036 | 170 | else if ( prediv == CRG_PREDIV8 ) CRG->RTC_HS_PVSR = CRG_RTC_HS_PVSR_DIV8; |
mbed_official | 558:0880f51c4036 | 171 | else if ( prediv == CRG_PREDIV16 ) CRG->RTC_HS_PVSR = CRG_RTC_HS_PVSR_DIV16; |
mbed_official | 558:0880f51c4036 | 172 | else if ( prediv == CRG_PREDIV32 ) CRG->RTC_HS_PVSR = CRG_RTC_HS_PVSR_DIV32; |
mbed_official | 558:0880f51c4036 | 173 | else if ( prediv == CRG_PREDIV64 ) CRG->RTC_HS_PVSR = CRG_RTC_HS_PVSR_DIV64; |
mbed_official | 558:0880f51c4036 | 174 | else CRG->RTC_HS_PVSR = CRG_RTC_HS_PVSR_DIV128; |
mbed_official | 558:0880f51c4036 | 175 | } |
mbed_official | 558:0880f51c4036 | 176 | |
mbed_official | 558:0880f51c4036 | 177 | void CRG_RTC_SourceSelect(CRG_CLK_LOW_SOURCE src) |
mbed_official | 558:0880f51c4036 | 178 | { |
mbed_official | 558:0880f51c4036 | 179 | assert_param(IS_CRG_RTC_LOW_SRC(src)); |
mbed_official | 558:0880f51c4036 | 180 | |
mbed_official | 558:0880f51c4036 | 181 | if (src == CRG_CLK_LOW) |
mbed_official | 558:0880f51c4036 | 182 | { |
mbed_official | 558:0880f51c4036 | 183 | CRG_RTC_HS_SourceSelect(CRG_CLK_DIS); |
mbed_official | 558:0880f51c4036 | 184 | CRG->RTC_SSR = CRG_RTC_SSR_LW; |
mbed_official | 558:0880f51c4036 | 185 | } |
mbed_official | 558:0880f51c4036 | 186 | else |
mbed_official | 558:0880f51c4036 | 187 | { |
mbed_official | 558:0880f51c4036 | 188 | CRG->RTC_SSR = CRG_RTC_SSR_HS; |
mbed_official | 558:0880f51c4036 | 189 | } |
mbed_official | 558:0880f51c4036 | 190 | } |
mbed_official | 558:0880f51c4036 | 191 | |
mbed_official | 558:0880f51c4036 | 192 | void CRG_WDOGCLK_HS_SourceSelect(CRG_CLK_SOURCE src) |
mbed_official | 558:0880f51c4036 | 193 | { |
mbed_official | 558:0880f51c4036 | 194 | assert_param(IS_CRG_WDOGCLK_HS_SRC(src)); |
mbed_official | 558:0880f51c4036 | 195 | |
mbed_official | 558:0880f51c4036 | 196 | if ( src == CRG_CLK_DIS ) CRG->WDOGCLK_HS_SSR = CRG_WDOGCLK_HS_SSR_DIS; |
mbed_official | 558:0880f51c4036 | 197 | else if ( src == CRG_MCLK ) CRG->WDOGCLK_HS_SSR = CRG_WDOGCLK_HS_SSR_MCLK; |
mbed_official | 558:0880f51c4036 | 198 | else if ( src == CRG_RCLK ) CRG->WDOGCLK_HS_SSR = CRG_WDOGCLK_HS_SSR_RCLK; |
mbed_official | 558:0880f51c4036 | 199 | else CRG->WDOGCLK_HS_SSR = CRG_WDOGCLK_HS_SSR_OCLK; |
mbed_official | 558:0880f51c4036 | 200 | |
mbed_official | 558:0880f51c4036 | 201 | if ( src != CRG_CLK_DIS ) CRG_WDOGCLK_SourceSelect(CRG_CLK_HIGH); |
mbed_official | 558:0880f51c4036 | 202 | } |
mbed_official | 558:0880f51c4036 | 203 | |
mbed_official | 558:0880f51c4036 | 204 | void CRG_WDOGCLK_HS_SetPrescale(CRG_PREDIV prediv) |
mbed_official | 558:0880f51c4036 | 205 | { |
mbed_official | 558:0880f51c4036 | 206 | assert_param(IS_CRG_WDOGCLK_HS_PREDIV(prediv)); |
mbed_official | 558:0880f51c4036 | 207 | |
mbed_official | 558:0880f51c4036 | 208 | if ( prediv == CRG_PREDIV1 ) CRG->WDOGCLK_HS_PVSR = CRG_WDOGCLK_HS_PVSR_DIV1; |
mbed_official | 558:0880f51c4036 | 209 | else if ( prediv == CRG_PREDIV2 ) CRG->WDOGCLK_HS_PVSR = CRG_WDOGCLK_HS_PVSR_DIV2; |
mbed_official | 558:0880f51c4036 | 210 | else if ( prediv == CRG_PREDIV4 ) CRG->WDOGCLK_HS_PVSR = CRG_WDOGCLK_HS_PVSR_DIV4; |
mbed_official | 558:0880f51c4036 | 211 | else if ( prediv == CRG_PREDIV8 ) CRG->WDOGCLK_HS_PVSR = CRG_WDOGCLK_HS_PVSR_DIV8; |
mbed_official | 558:0880f51c4036 | 212 | else if ( prediv == CRG_PREDIV16 ) CRG->WDOGCLK_HS_PVSR = CRG_WDOGCLK_HS_PVSR_DIV16; |
mbed_official | 558:0880f51c4036 | 213 | else if ( prediv == CRG_PREDIV32 ) CRG->WDOGCLK_HS_PVSR = CRG_WDOGCLK_HS_PVSR_DIV32; |
mbed_official | 558:0880f51c4036 | 214 | else if ( prediv == CRG_PREDIV64 ) CRG->WDOGCLK_HS_PVSR = CRG_WDOGCLK_HS_PVSR_DIV64; |
mbed_official | 558:0880f51c4036 | 215 | else CRG->WDOGCLK_HS_PVSR = CRG_WDOGCLK_HS_PVSR_DIV128; |
mbed_official | 558:0880f51c4036 | 216 | } |
mbed_official | 558:0880f51c4036 | 217 | |
mbed_official | 558:0880f51c4036 | 218 | void CRG_WDOGCLK_SourceSelect(CRG_CLK_LOW_SOURCE src) |
mbed_official | 558:0880f51c4036 | 219 | { |
mbed_official | 558:0880f51c4036 | 220 | assert_param(IS_CRG_WDOGCLK_LOW_SRC(src)); |
mbed_official | 558:0880f51c4036 | 221 | |
mbed_official | 558:0880f51c4036 | 222 | if (src == CRG_CLK_LOW) |
mbed_official | 558:0880f51c4036 | 223 | { |
mbed_official | 558:0880f51c4036 | 224 | CRG_WDOGCLK_HS_SourceSelect(CRG_CLK_DIS); |
mbed_official | 558:0880f51c4036 | 225 | CRG->WDOGCLK_SSR = CRG_WDOGCLK_SSR_LW; |
mbed_official | 558:0880f51c4036 | 226 | } |
mbed_official | 558:0880f51c4036 | 227 | else |
mbed_official | 558:0880f51c4036 | 228 | { |
mbed_official | 558:0880f51c4036 | 229 | CRG->WDOGCLK_SSR = CRG_WDOGCLK_SSR_HS; |
mbed_official | 558:0880f51c4036 | 230 | } |
mbed_official | 558:0880f51c4036 | 231 | } |
mbed_official | 558:0880f51c4036 | 232 | |
mbed_official | 558:0880f51c4036 | 233 | void CRG_UARTCLK_SourceSelect(CRG_CLK_SOURCE src) |
mbed_official | 558:0880f51c4036 | 234 | { |
mbed_official | 558:0880f51c4036 | 235 | assert_param(IS_CRG_UARTCLK_SRC(src)); |
mbed_official | 558:0880f51c4036 | 236 | |
mbed_official | 558:0880f51c4036 | 237 | if ( src == CRG_CLK_DIS ) CRG->UARTCLK_SSR = CRG_UARTCLK_SSR_DIS; |
mbed_official | 558:0880f51c4036 | 238 | else if ( src == CRG_MCLK ) CRG->UARTCLK_SSR = CRG_UARTCLK_SSR_MCLK; |
mbed_official | 558:0880f51c4036 | 239 | else if ( src == CRG_RCLK ) CRG->UARTCLK_SSR = CRG_UARTCLK_SSR_RCLK; |
mbed_official | 558:0880f51c4036 | 240 | else CRG->UARTCLK_SSR = CRG_UARTCLK_SSR_OCLK; |
mbed_official | 558:0880f51c4036 | 241 | } |
mbed_official | 558:0880f51c4036 | 242 | |
mbed_official | 558:0880f51c4036 | 243 | void CRG_UARTCLK_SetPrescale(CRG_PREDIV prediv) |
mbed_official | 558:0880f51c4036 | 244 | { |
mbed_official | 558:0880f51c4036 | 245 | assert_param(IS_CRG_UARTCLK_PREDIV(prediv)); |
mbed_official | 558:0880f51c4036 | 246 | |
mbed_official | 558:0880f51c4036 | 247 | if ( prediv == CRG_PREDIV1 ) CRG->UARTCLK_PVSR = CRG_UARTCLK_PVSR_DIV1; |
mbed_official | 558:0880f51c4036 | 248 | else if ( prediv == CRG_PREDIV2 ) CRG->UARTCLK_PVSR = CRG_UARTCLK_PVSR_DIV2; |
mbed_official | 558:0880f51c4036 | 249 | else if ( prediv == CRG_PREDIV4 ) CRG->UARTCLK_PVSR = CRG_UARTCLK_PVSR_DIV4; |
mbed_official | 558:0880f51c4036 | 250 | else CRG->UARTCLK_PVSR = CRG_UARTCLK_PVSR_DIV8; |
mbed_official | 558:0880f51c4036 | 251 | } |
mbed_official | 558:0880f51c4036 | 252 | |
mbed_official | 558:0880f51c4036 | 253 | void CRG_MII_Enable(FunctionalState rx_clk, FunctionalState tx_clk) |
mbed_official | 558:0880f51c4036 | 254 | { |
mbed_official | 558:0880f51c4036 | 255 | assert_param(IS_FUNCTIONAL_STATE(rx_clk)); |
mbed_official | 558:0880f51c4036 | 256 | assert_param(IS_FUNCTIONAL_STATE(tx_clk)); |
mbed_official | 558:0880f51c4036 | 257 | |
mbed_official | 558:0880f51c4036 | 258 | if ( rx_clk != DISABLE ) CRG->MIICLK_ECR |= CRG_MIICLK_ECR_EN_RXCLK; |
mbed_official | 558:0880f51c4036 | 259 | else CRG->MIICLK_ECR &= ~(CRG_MIICLK_ECR_EN_RXCLK); |
mbed_official | 558:0880f51c4036 | 260 | |
mbed_official | 558:0880f51c4036 | 261 | if ( tx_clk != DISABLE ) CRG->MIICLK_ECR |= CRG_MIICLK_ECR_EN_TXCLK; |
mbed_official | 558:0880f51c4036 | 262 | else CRG->MIICLK_ECR &= ~(CRG_MIICLK_ECR_EN_TXCLK); |
mbed_official | 558:0880f51c4036 | 263 | } |
mbed_official | 558:0880f51c4036 | 264 | |
mbed_official | 558:0880f51c4036 | 265 | void CRG_SetMonitoringClock(uint32_t value) |
mbed_official | 558:0880f51c4036 | 266 | { |
mbed_official | 558:0880f51c4036 | 267 | assert_param(IS_CRG_MONCLK_SSR(value)); |
mbed_official | 558:0880f51c4036 | 268 | |
mbed_official | 558:0880f51c4036 | 269 | CRG->MONCLK_SSR = value; |
mbed_official | 558:0880f51c4036 | 270 | } |
mbed_official | 558:0880f51c4036 | 271 | |
mbed_official | 558:0880f51c4036 | 272 | uint32_t CRG_GetMonitoringClock(void) |
mbed_official | 558:0880f51c4036 | 273 | { |
mbed_official | 558:0880f51c4036 | 274 | return (uint8_t)CRG->MONCLK_SSR; |
mbed_official | 558:0880f51c4036 | 275 | } |
mbed_official | 558:0880f51c4036 | 276 |