aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/include/mmc_spi.h
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-11-29 08:25:31 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-11-29 08:25:31 +0000
commit0d0e4d619185ad86270ca5c0212c314f7f4529d5 (patch)
treefc147672ae3e49134251d25fe82902d51ace500b /os/hal/include/mmc_spi.h
parent10bec8e1297d92e7b96d1b9932d24afb62a88fac (diff)
downloadChibiOS-0d0e4d619185ad86270ca5c0212c314f7f4529d5.tar.gz
ChibiOS-0d0e4d619185ad86270ca5c0212c314f7f4529d5.tar.bz2
ChibiOS-0d0e4d619185ad86270ca5c0212c314f7f4529d5.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1342 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/include/mmc_spi.h')
-rw-r--r--os/hal/include/mmc_spi.h208
1 files changed, 0 insertions, 208 deletions
diff --git a/os/hal/include/mmc_spi.h b/os/hal/include/mmc_spi.h
deleted file mode 100644
index e77dbe7dc..000000000
--- a/os/hal/include/mmc_spi.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT 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/>.
-*/
-
-/**
- * @file mmc_spi.h
- * @brief MMC over SPI driver header.
- * @addtogroup MMC_SPI
- * @{
- */
-
-#ifndef _MMC_SPI_H_
-#define _MMC_SPI_H_
-
-#if CH_HAL_USE_MMC_SPI
-
-/*===========================================================================*/
-/* Driver pre-compile time settings. */
-/*===========================================================================*/
-
-/**
- * @brief Block size for MMC transfers.
- */
-#if !defined(MMC_SECTOR_SIZE) || defined(__DOXYGEN__)
-#define MMC_SECTOR_SIZE 512
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/**
- * @brief Number of positive insertion queries before generating the
- * insertion event.
- */
-#if !defined(MMC_POLLING_INTERVAL) || defined(__DOXYGEN__)
-#define MMC_POLLING_INTERVAL 10
-#endif
-
-/**
- * @brief Interval, in milliseconds, between insertion queries.
- */
-#if !defined(MMC_POLLING_DELAY) || defined(__DOXYGEN__)
-#define MMC_POLLING_DELAY 10
-#endif
-
-/*===========================================================================*/
-/* Driver constants. */
-/*===========================================================================*/
-
-#define MMC_CMD0_RETRY 10
-#define MMC_CMD1_RETRY 100
-#define MMC_WAIT_DATA 10000
-
-#define MMC_CMDGOIDLE 0
-#define MMC_CMDINIT 1
-#define MMC_CMDREADCSD 9
-#define MMC_CMDSTOP 12
-#define MMC_CMDSETBLOCKLEN 16
-#define MMC_CMDREAD 17
-#define MMC_CMDREADMULTIPLE 18
-#define MMC_CMDWRITE 24
-#define MMC_CMDWRITEMULTIPLE 25
-
-/*===========================================================================*/
-/* Driver data structures and types. */
-/*===========================================================================*/
-
-/**
- * @brief Driver state machine possible states.
- */
-typedef enum {
- MMC_UNINIT = 0, /**< @brief Not initialized. */
- MMC_STOP = 1, /**< @brief Stopped. */
- MMC_WAIT = 2, /**< @brief Waiting card. */
- MMC_INSERTED = 3, /**< @brief Card inserted. */
- MMC_READY = 4, /**< @brief Card ready. */
- MMC_READING = 5, /**< @brief Reading. */
- MMC_WRITING = 6 /**< @brief Writing. */
-} mmcstate_t;
-
-/**
- * @brief Function used to query some hardware status bits.
- *
- * @return The status.
- */
-typedef bool_t (*mmcquery_t)(void);
-
-/**
- * @brief Driver configuration structure.
- */
-typedef struct {
-
-} MMCConfig;
-
-/**
- * @brief Structure representing a MMC driver.
- */
-typedef struct {
- /**
- * @brief Driver state.
- */
- mmcstate_t mmc_state;
- /**
- * @brief Current configuration data.
- */
- const MMCConfig *mmc_config;
- /**
- * @brief SPI driver associated to this MMC driver.
- */
- SPIDriver *mmc_spip;
- /**
- * @brief SPI low speed configuration used during initialization.
- */
- const SPIConfig *mmc_lscfg;
- /**
- * @brief SPI high speed configuration used during transfers.
- */
- const SPIConfig *mmc_hscfg;
- /**
- * @brief Write protect status query function.
- */
- mmcquery_t mmc_is_protected;
- /**
- * @brief Insertion status query function.
- */
- mmcquery_t mmc_is_inserted;
- /**
- * @brief Card insertion event source.
- */
- EventSource mmc_inserted_event;
- /**
- * @brief Card removal event source.
- */
- EventSource mmc_removed_event;
- /**
- * @brief MMC insertion polling timer.
- */
- VirtualTimer mmc_vt;
- /**
- * @brief Insertion counter.
- */
- uint_fast8_t mmc_cnt;
-} MMCDriver;
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-/**
- * @brief Returns the driver state.
- */
-#define mmcGetDriverState(mmcp) ((mmcp)->mmc_state)
-
-/**
- * @brief Returns the write protect status.
- */
-#define mmcIsWriteProtected(mmcp) ((mmcp)->mmc_is_protected())
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void mmcInit(void);
- void mmcObjectInit(MMCDriver *mmcp, SPIDriver *spip,
- const SPIConfig *lscfg, const SPIConfig *hscfg,
- mmcquery_t is_protected, mmcquery_t is_inserted);
- void mmcStart(MMCDriver *mmcp, const MMCConfig *config);
- void mmcStop(MMCDriver *mmcp);
- bool_t mmcConnect(MMCDriver *mmcp);
- bool_t mmcDisconnect(MMCDriver *mmcp);
- bool_t mmcStartSequentialRead(MMCDriver *mmcp, uint32_t startblk);
- bool_t mmcSequentialRead(MMCDriver *mmcp, uint8_t *buffer);
- bool_t mmcStopSequentialRead(MMCDriver *mmcp);
- bool_t mmcStartSequentialWrite(MMCDriver *mmcp, uint32_t startblk);
- bool_t mmcSequentialWrite(MMCDriver *mmcp, const uint8_t *buffer);
- bool_t mmcStopSequentialWrite(MMCDriver *mmcp);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* CH_HAL_USE_MMC_SPI */
-
-#endif /* _MMC_SPI_H_ */
-
-/** @} */