Skip to content

Commit 4082b5c

Browse files
committed
temp
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
1 parent b945044 commit 4082b5c

File tree

6 files changed

+735
-0
lines changed

6 files changed

+735
-0
lines changed

src/platform/sam3u/eefc.c

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* SPDX-License-Identifier: MIT
3+
* SPDX-FileCopyrightText: 2021 Rafael Silva <perigoso@riseup.net>
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+
}

src/platform/sam3u/eefc.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*
2+
* SPDX-License-Identifier: MIT
3+
* SPDX-FileCopyrightText: 2021 Rafael Silva <perigoso@riseup.net>
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);

0 commit comments

Comments
 (0)