core/filesystem/sdcard_driver.c File Reference

#include "sceptre.h"
#include "sdcard_driver.h"
#include "ssp.h"
#include "rdcf2.h"

Go to the source code of this file.

Defines

#define SDCARD_POWER_BIT   (16)
#define SDCARD_WRITE_PROTECT_BIT   (24)
#define SDCARD_DETECT_BIT   (25)
#define SDCARD_CS_BIT   (20)
#define sdcard_status_idle   (1<<0)
#define sdcard_status_erase_reset   (1<<1)
#define sdcard_status_illegal_cmd   (1<<2)
#define sdcard_status_error_crc   (1<<3)
#define sdcard_status_erase_seq_err   (1<<4)
#define sdcard_status_addr_error   (1<<5)
#define sdcard_status_param_error   (1<<6)
#define sdcard_status_data_accepted   0x5
#define sdcard_status_data_crc_error   0xb
#define sdcard_status_data_write_error   0xd
#define SDCARD_CMD0   0x40
#define SDCARD_CMD1   0x41
#define SDCARD_CMD13   0x4d
#define SDCARD_CMD16   0x50
#define SDCARD_CMD17   0x51
#define SDCARD_CMD24   0x58
#define SDCARD_MAX_CMD   8

Functions

void sdcard_hardware_init (void)
void sdcard_power (uint8_t power)
bool_t sdcard_detect (void)
bool_t sdcard_write_protected (void)
void sdcard_select (void)
void sdcard_unselect (void)
bool_t sdcard_status (uint8_t response)
bool_t sdcard_initialise (void)
bool_t sdcard_read_block (long sector, uint8_t *p_data)
uint8_t sdcard_get_write_result (void)
bool_t sdcard_write_block (long sector, const uint8_t *p_data)

Variables

uint8_t sdcard_cmd [SDCARD_MAX_CMD]
uint8_t sdcard_cmd_reset [] = { 0x40, 0x00, 0x00, 0x00, 0x00, 0x95 }
uint8_t sdcard_cmd_init [] = { 0x41, 0x00, 0x00, 0x00, 0x00, 0xff }
uint8_t sdcard_cmd_set_block [] = { SDCARD_CMD16, 0, 0, 2, 0, 0xff }

Detailed Description

MMC interface routines.

Definition in file sdcard_driver.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Defines

Generated by  doxygen 1.6.2