Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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 |