diff options
Diffstat (limited to 'os/hal/include')
-rw-r--r-- | os/hal/include/emc.h | 93 | ||||
-rw-r--r-- | os/hal/include/hal.h | 3 | ||||
-rw-r--r-- | os/hal/include/nand.h (renamed from os/hal/include/emcnand.h) | 90 |
3 files changed, 44 insertions, 142 deletions
diff --git a/os/hal/include/emc.h b/os/hal/include/emc.h deleted file mode 100644 index 9f2c65267..000000000 --- a/os/hal/include/emc.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - ChibiOS/HAL - Copyright (C) 2006,2007,2008,2009,2010, - 2011,2012,2013,2014 Giovanni Di Sirio. - - This file is part of ChibiOS/HAL - - ChibiOS/HAL is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ -/* - Concepts and parts of this file have been contributed by Uladzimir Pylinsky - aka barthess. - */ - -/** - * @file emc.h - * @brief EMC Driver macros and structures. - * - * @addtogroup EMC - * @{ - */ - -#ifndef _EMC_H_ -#define _EMC_H_ - -#if HAL_USE_EMC || defined(__DOXYGEN__) - -/*===========================================================================*/ -/* Driver constants. */ -/*===========================================================================*/ - -/*===========================================================================*/ -/* Driver pre-compile time settings. */ -/*===========================================================================*/ - -/*===========================================================================*/ -/* Derived constants and error checks. */ -/*===========================================================================*/ - -/*===========================================================================*/ -/* Driver data structures and types. */ -/*===========================================================================*/ - -/** - * @brief Driver state machine possible states. - */ -typedef enum { - EMC_UNINIT = 0, /**< Not initialized. */ - EMC_STOP = 1, /**< Stopped. */ - EMC_READY = 2, /**< Ready. */ -} emcstate_t; - -/** - * @brief Type of a structure representing a EMC driver. - */ -typedef struct EMCDriver EMCDriver; - -#include "emc_lld.h" - -/*===========================================================================*/ -/* Driver macros. */ -/*===========================================================================*/ - -/*===========================================================================*/ -/* External declarations. */ -/*===========================================================================*/ - -#ifdef __cplusplus -extern "C" { -#endif - void emcInit(void); - void emcObjectInit(EMCDriver *emcp); - void emcStart(EMCDriver *emcp, const EMCConfig *config); - void emcStop(EMCDriver *emcp); -#ifdef __cplusplus -} -#endif - -#endif /* HAL_USE_EMC */ - -#endif /* _EMC_H_ */ - -/** @} */ diff --git a/os/hal/include/hal.h b/os/hal/include/hal.h index 162eced73..0203bd417 100644 --- a/os/hal/include/hal.h +++ b/os/hal/include/hal.h @@ -64,8 +64,7 @@ #include "st.h"
#include "uart.h"
#include "usb.h"
-#include "emc.h"
-#include "emcnand.h"
+#include "nand.h"
/* Complex drivers.*/
#include "mmc_spi.h"
diff --git a/os/hal/include/emcnand.h b/os/hal/include/nand.h index 7d3ec70ba..77ca972f6 100644 --- a/os/hal/include/emcnand.h +++ b/os/hal/include/nand.h @@ -23,17 +23,17 @@ */ /** - * @file emcnand.h - * @brief EMCNAND Driver macros and structures. + * @file nand.h + * @brief NAND Driver macros and structures. * - * @addtogroup EMCNAND + * @addtogroup NAND * @{ */ -#ifndef _EMCNAND_H_ -#define _EMCNAND_H_ +#ifndef _NAND_H_ +#define _NAND_H_ -#if HAL_USE_EMCNAND || defined(__DOXYGEN__) +#if HAL_USE_NAND || defined(__DOXYGEN__) /*===========================================================================*/ /* Driver constants. */ @@ -62,19 +62,15 @@ /** * @brief Enables the mutual exclusion APIs on the NAND. */ -#if !defined(EMCNAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) -#define EMCNAND_USE_MUTUAL_EXCLUSION FALSE +#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) +#define NAND_USE_MUTUAL_EXCLUSION FALSE #endif /*===========================================================================*/ /* Derived constants and error checks. */ /*===========================================================================*/ -#if EMCNAND_USE_MUTUAL_EXCLUSION && !CH_CFG_USE_MUTEXES && !CH_CFG_USE_SEMAPHORES -#error "EMCNAND_USE_MUTUAL_EXCLUSION requires CH_CFG_USE_MUTEXES and/or CH_CFG_USE_SEMAPHORES" -#endif - -#if !HAL_USE_EMC -#error "This driver requires EMC controller" +#if NAND_USE_MUTUAL_EXCLUSION && !CH_CFG_USE_MUTEXES && !CH_CFG_USE_SEMAPHORES +#error "NAND_USE_MUTUAL_EXCLUSION requires CH_CFG_USE_MUTEXES and/or CH_CFG_USE_SEMAPHORES" #endif /*===========================================================================*/ @@ -85,23 +81,23 @@ * @brief Driver state machine possible states. */ typedef enum { - EMCNAND_UNINIT = 0, /**< Not initialized. */ - EMCNAND_STOP = 1, /**< Stopped. */ - EMCNAND_READY = 2, /**< Ready. */ - EMCNAND_PROGRAM = 3, /**< Programming in progress. */ - EMCNAND_ERASE = 4, /**< Erasing in progress. */ - EMCNAND_WRITE = 5, /**< Writing to NAND buffer. */ - EMCNAND_READ = 6, /**< Reading from NAND. */ - EMCNAND_DMA_TX = 7, /**< DMA transmitting. */ - EMCNAND_DMA_RX = 8, /**< DMA receiving. */ -} emcnandstate_t; + NAND_UNINIT = 0, /**< Not initialized. */ + NAND_STOP = 1, /**< Stopped. */ + NAND_READY = 2, /**< Ready. */ + NAND_PROGRAM = 3, /**< Programming in progress. */ + NAND_ERASE = 4, /**< Erasing in progress. */ + NAND_WRITE = 5, /**< Writing to NAND buffer. */ + NAND_READ = 6, /**< Reading from NAND. */ + NAND_DMA_TX = 7, /**< DMA transmitting. */ + NAND_DMA_RX = 8, /**< DMA receiving. */ +} nandstate_t; /** - * @brief Type of a structure representing a EMCNAND driver. + * @brief Type of a structure representing a NAND driver. */ -typedef struct EMCNANDDriver EMCNANDDriver; +typedef struct NANDDriver NANDDriver; -#include "emcnand_lld.h" +#include "nand_lld.h" /*===========================================================================*/ /* Driver macros. */ @@ -114,39 +110,39 @@ typedef struct EMCNANDDriver EMCNANDDriver; #ifdef __cplusplus extern "C" { #endif - void emcnandInit(void); - void emcnandObjectInit(EMCNANDDriver *emcnandp); - void emcnandStart(EMCNANDDriver *emcnandp, const EMCNANDConfig *config); - void emcnandStop(EMCNANDDriver *emcnandp); - void emcnandReadPageWhole(EMCNANDDriver *emcnandp, uint32_t block, + void nandInit(void); + void nandObjectInit(NANDDriver *nandp); + void nandStart(NANDDriver *nandp, const NANDConfig *config); + void nandStop(NANDDriver *nandp); + void nandReadPageWhole(NANDDriver *nandp, uint32_t block, uint32_t page, uint8_t *data, size_t datalen); - uint8_t emcnandWritePageWhole(EMCNANDDriver *emcnandp, uint32_t block, + uint8_t nandWritePageWhole(NANDDriver *nandp, uint32_t block, uint32_t page, const uint8_t *data, size_t datalen); - void emcnandReadPageData(EMCNANDDriver *emcnandp, uint32_t block, + void nandReadPageData(NANDDriver *nandp, uint32_t block, uint32_t page, uint8_t *data, size_t datalen, uint32_t *ecc); - uint8_t emcnandWritePageData(EMCNANDDriver *emcnandp, uint32_t block, + uint8_t nandWritePageData(NANDDriver *nandp, uint32_t block, uint32_t page, const uint8_t *data, size_t datalen, uint32_t *ecc); - void emcnandReadPageSpare(EMCNANDDriver *emcnandp, uint32_t block, + void nandReadPageSpare(NANDDriver *nandp, uint32_t block, uint32_t page, uint8_t *spare, size_t sparelen); - uint8_t emcnandWritePageSpare(EMCNANDDriver *emcnandp, uint32_t block, + uint8_t nandWritePageSpare(NANDDriver *nandp, uint32_t block, uint32_t page, const uint8_t *spare, size_t sparelen); - void emcnandMarkBad(EMCNANDDriver *emcnandp, uint32_t block); - uint8_t emcnandReadBadMark(EMCNANDDriver *emcnandp, + void nandMarkBad(NANDDriver *nandp, uint32_t block); + uint8_t nandReadBadMark(NANDDriver *nandp, uint32_t block, uint32_t page); - uint8_t emcnandErase(EMCNANDDriver *emcnandp, uint32_t block); - bool emcnandIsBad(EMCNANDDriver *emcnandp, uint32_t block); + uint8_t nandErase(NANDDriver *nandp, uint32_t block); + bool nandIsBad(NANDDriver *nandp, uint32_t block); -#if EMCNAND_USE_MUTUAL_EXCLUSION - void emcnandAcquireBus(EMCNANDDriver *emcnandp); - void emcnandReleaseBus(EMCNANDDriver *emcnandp); -#endif /* EMCNAND_USE_MUTUAL_EXCLUSION */ +#if NAND_USE_MUTUAL_EXCLUSION + void nandAcquireBus(NANDDriver *nandp); + void nandReleaseBus(NANDDriver *nandp); +#endif /* NAND_USE_MUTUAL_EXCLUSION */ #ifdef __cplusplus } #endif -#endif /* HAL_USE_EMCNAND */ +#endif /* HAL_USE_NAND */ -#endif /* _EMCNAND_H_ */ +#endif /* _NAND_H_ */ /** @} */ |