Get SD card working in SPI
This commit is contained in:
61
sw/bootloader/devices/sd_print.h
Normal file
61
sw/bootloader/devices/sd_print.h
Normal file
@@ -0,0 +1,61 @@
|
||||
#ifndef SD_PRINT_H
|
||||
#define SD_PRINT_H
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
/* R1 MACROS */
|
||||
#define PARAM_ERROR(X) X & 0b01000000
|
||||
#define ADDR_ERROR(X) X & 0b00100000
|
||||
#define ERASE_SEQ_ERROR(X) X & 0b00010000
|
||||
#define CRC_ERROR(X) X & 0b00001000
|
||||
#define ILLEGAL_CMD(X) X & 0b00000100
|
||||
#define ERASE_RESET(X) X & 0b00000010
|
||||
#define IN_IDLE(X) X & 0b00000001
|
||||
|
||||
/* R2 MACROS */
|
||||
#define OUT_OF_RANGE(X) X & 0b10000000
|
||||
#define ERASE_PARAM(X) X & 0b01000000
|
||||
#define WP_VIOLATION(X) X & 0b00100000
|
||||
#define CARD_ECC_FAILED(X) X & 0b00010000
|
||||
#define CC_ERROR(X) X & 0b00001000
|
||||
#define ERROR(X) X & 0b00000100
|
||||
#define WP_ERASE_SKIP(X) X & 0b00000010
|
||||
#define CARD_LOCKED(X) X & 0b00000001
|
||||
|
||||
/* R3 MACROS */
|
||||
#define POWER_UP_STATUS(X) X & 0x40
|
||||
#define CCS_VAL(X) X & 0x40
|
||||
#define VDD_2728(X) X & 0b10000000
|
||||
#define VDD_2829(X) X & 0b00000001
|
||||
#define VDD_2930(X) X & 0b00000010
|
||||
#define VDD_3031(X) X & 0b00000100
|
||||
#define VDD_3132(X) X & 0b00001000
|
||||
#define VDD_3233(X) X & 0b00010000
|
||||
#define VDD_3334(X) X & 0b00100000
|
||||
#define VDD_3435(X) X & 0b01000000
|
||||
#define VDD_3536(X) X & 0b10000000
|
||||
|
||||
/* R7 MACROS */
|
||||
#define CMD_VER(X) ((X >> 4) & 0xF0)
|
||||
#define VOL_ACC(X) (X & 0x1F)
|
||||
#define VOLTAGE_ACC_27_33 0b00000001
|
||||
#define VOLTAGE_ACC_LOW 0b00000010
|
||||
#define VOLTAGE_ACC_RES1 0b00000100
|
||||
#define VOLTAGE_ACC_RES2 0b00001000
|
||||
|
||||
/* DATA ERROR TOKEN */
|
||||
#define SD_TOKEN_OOR(X) X & 0b00001000
|
||||
#define SD_TOKEN_CECC(X) X & 0b00000100
|
||||
#define SD_TOKEN_CC(X) X & 0b00000010
|
||||
#define SD_TOKEN_ERROR(X) X & 0b00000001
|
||||
|
||||
void SD_printR1(uint8_t res);
|
||||
void SD_printR2(uint8_t *res);
|
||||
void SD_printR3(uint8_t *res);
|
||||
void SD_printR7(uint8_t *res);
|
||||
void SD_printBuf(uint8_t *buf);
|
||||
void SD_printDataErrToken(uint8_t token);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user