diff options
author | Karl Palsson <karlp@tweak.net.au> | 2018-07-11 01:21:18 +0300 |
---|---|---|
committer | Karl Palsson <karlp@tweak.net.au> | 2018-07-29 23:31:17 +0300 |
commit | b23dccc7ae9cb4ee7916c35e81e5a999f162adf4 (patch) | |
tree | 3ebb2f5a35b6214ccb031cf006825b0a50aa094a /include/libopencm3/stm32/common/flash_common_all.h | |
parent | 9dd901ba279bc9d65fea920186b2dbb7fd17b16d (diff) |
stm32: flash: pull up prefetch to _all
Turns out, there's lots of common code for flash. Pull up prefetch
on/off to start with, as there's only a single bit name different.
Pull up the definitions of common API functions too, starting with
flash_set_ws. Even if the implementations are different, things that
meant to be the same, should be defined centrally.
Diffstat (limited to 'include/libopencm3/stm32/common/flash_common_all.h')
-rw-r--r-- | include/libopencm3/stm32/common/flash_common_all.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/include/libopencm3/stm32/common/flash_common_all.h b/include/libopencm3/stm32/common/flash_common_all.h new file mode 100644 index 00000000..be1c5eeb --- /dev/null +++ b/include/libopencm3/stm32/common/flash_common_all.h @@ -0,0 +1,48 @@ +/** @addtogroup flash_defines + * + */ +/* + * This file is part of the libopencm3 project. + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include <libopencm3/cm3/common.h> + +BEGIN_DECLS + +/** + * This buffer is used for instruction fetches and is enabled by default after + * reset. + * + * Note carefully the clock restrictions under which the prefetch buffer may be + * enabled or disabled. Changes are normally made while the clock is running in + * the power-on low frequency mode before being set to a higher speed mode. + * + * See the reference manual for details. + */ +void flash_prefetch_enable(void); + +/** + * Note carefully the clock restrictions under which the prefetch buffer may be + * set to disabled. See the reference manual for details. + */ +void flash_prefetch_disable(void); + + +void flash_set_ws(uint32_t ws); + +END_DECLS
\ No newline at end of file |