File tree Expand file tree Collapse file tree 6 files changed +735
-0
lines changed Expand file tree Collapse file tree 6 files changed +735
-0
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ * SPDX-License-Identifier: MIT
3+ * SPDX-FileCopyrightText: 2021 Rafael Silva <[email protected] > 4+ */
5+
6+ #include <sam.h>
7+
8+ #include "platform/sam3u/eefc.h"
9+
10+ void eefc_config_waitstates (const u32 frequency )
11+ {
12+ if (frequency <= 27000000UL )
13+ EFC0 -> EEFC_FMR = (EFC0 -> EEFC_FMR & ~EEFC_FMR_FWS_Msk ) | (0 << EEFC_FMR_FWS_Pos );
14+ else if (frequency <= 47000000UL )
15+ EFC0 -> EEFC_FMR = (EFC0 -> EEFC_FMR & ~EEFC_FMR_FWS_Msk ) | (1 << EEFC_FMR_FWS_Pos );
16+ else if (frequency <= 84000000UL )
17+ EFC0 -> EEFC_FMR = (EFC0 -> EEFC_FMR & ~EEFC_FMR_FWS_Msk ) | (2 << EEFC_FMR_FWS_Pos );
18+ else
19+ EFC0 -> EEFC_FMR = (EFC0 -> EEFC_FMR & ~EEFC_FMR_FWS_Msk ) | (3 << EEFC_FMR_FWS_Pos );
20+
21+ #if 0
22+ if (frequency <= 27000000UL )
23+ EFC1 -> EEFC_FMR = (EFC0 -> EEFC_FMR & ~EEFC_FMR_FWS_Msk ) | (0 << EEFC_FMR_FWS_Pos );
24+ else if (frequency <= 47000000UL )
25+ EFC1 -> EEFC_FMR = (EFC0 -> EEFC_FMR & ~EEFC_FMR_FWS_Msk ) | (1 << EEFC_FMR_FWS_Pos );
26+ else if (frequency <= 84000000UL )
27+ EFC1 -> EEFC_FMR = (EFC0 -> EEFC_FMR & ~EEFC_FMR_FWS_Msk ) | (2 << EEFC_FMR_FWS_Pos );
28+ else
29+ EFC1 -> EEFC_FMR = (EFC0 -> EEFC_FMR & ~EEFC_FMR_FWS_Msk ) | (3 << EEFC_FMR_FWS_Pos );
30+ #endif
31+ }
Original file line number Diff line number Diff line change 1+ /*
2+ * SPDX-License-Identifier: MIT
3+ * SPDX-FileCopyrightText: 2021 Rafael Silva <[email protected] > 4+ */
5+
6+ #pragma once
7+
8+ #include <sam.h>
9+
10+ #include "util/types.h"
11+
12+ void eefc_config_waitstates (const u32 frequency );
You can’t perform that action at this time.
0 commit comments