From efee94901a3d587c3168f7340f3797336eb5f0dc Mon Sep 17 00:00:00 2001 From: Ken Sarkies Date: Thu, 6 Dec 2012 03:25:51 +1030 Subject: CRC moved to common area --- include/libopencm3/stm32/crc.h | 89 ++++++------------------------------------ 1 file changed, 12 insertions(+), 77 deletions(-) (limited to 'include/libopencm3/stm32/crc.h') diff --git a/include/libopencm3/stm32/crc.h b/include/libopencm3/stm32/crc.h index aa30182..3d43061 100644 --- a/include/libopencm3/stm32/crc.h +++ b/include/libopencm3/stm32/crc.h @@ -1,22 +1,8 @@ -/** @defgroup crc_defines CRC Defines +/* This provides unification of code over STM32F subfamilies */ -@brief libopencm3 Defined Constants and Types for the STM32F CRC Generator - -@ingroup STM32F_defines - -@version 1.0.0 - -@author @htmlonly © @endhtmlonly 2010 Thomas Otto - -@date 18 August 2012 - -LGPL License Terms @ref lgpl_license - */ /* * This file is part of the libopencm3 project. * - * Copyright (C) 2010 Thomas Otto - * * 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 @@ -31,66 +17,15 @@ LGPL License Terms @ref lgpl_license * along with this library. If not, see . */ -#ifndef LIBOPENCM3_CRC_H -#define LIBOPENCM3_CRC_H - -#include -#include - -/* --- CRC registers ------------------------------------------------------- */ - -/* Data register (CRC_DR) */ -#define CRC_DR MMIO32(CRC_BASE + 0x00) - -/* Independent data register (CRC_IDR) */ -#define CRC_IDR MMIO32(CRC_BASE + 0x04) - -/* Control register (CRC_CR) */ -#define CRC_CR MMIO32(CRC_BASE + 0x08) - -/* --- CRC_DR values ------------------------------------------------------- */ - -/* Bits [31:0]: Data register */ - -/* --- CRC_IDR values ------------------------------------------------------ */ - -/* Bits [31:8]: Reserved */ - -/* Bits [7:0]: General-purpose 8-bit data register bits */ - -/* --- CRC_CR values ------------------------------------------------------- */ - -/* Bits [31:1]: Reserved */ - -/* RESET bit */ -#define CRC_CR_RESET (1 << 0) - -/* --- CRC function prototypes --------------------------------------------- */ - -BEGIN_DECLS - -/* TODO */ - -/** - * Reset the CRC calculator to initial values. - */ -void crc_reset(void); - -/** - * Add a word to the crc calculator and return the result. - * @param data new word to add to the crc calculator - * @return final crc calculator value - */ -u32 crc_calculate(u32 data); - -/** - * Add a block of data to the CRC calculator and return the final result - * @param datap pointer to the start of a block of 32bit data words - * @param size length of data, in 32bit increments - * @return final CRC calculator value - */ -u32 crc_calculate_block(u32 *datap, int size); - -END_DECLS - +#if defined(STM32F1) +# include +#elif defined(STM32F2) +# include +#elif defined(STM32F4) +# include +#elif defined(STM32L1) +# include +#else +# error "stm32 family not defined." #endif + -- cgit v1.2.3