mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-03 21:03:51 -04:00
Add the Labs projects provided in the V10.2.1_191129 zip file.
This commit is contained in:
parent
46e5937529
commit
e5708b38e9
801 changed files with 356576 additions and 0 deletions
|
@ -0,0 +1,56 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* mmc_decode_cid() and sd_decode_csd()
|
||||
*
|
||||
* analyse the meta data of an SD-card to read its capacity and some other properties.
|
||||
*
|
||||
* CID and CSD Analysis borrowed from the Linux kernel.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef SDPS_INFO_H_
|
||||
|
||||
#define SDPS_INFO_H_ 1
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
struct mmc_cid {
|
||||
uint32_t manfid;
|
||||
char prod_name[8];
|
||||
uint32_t serial;
|
||||
uint16_t oemid;
|
||||
uint16_t year;
|
||||
uint8_t hwrev;
|
||||
uint8_t fwrev;
|
||||
uint8_t month;
|
||||
};
|
||||
|
||||
struct mmc_csd {
|
||||
volatile uint64_t capacity_bytes;
|
||||
uint32_t sd_last_block_address;
|
||||
uint8_t mmca_vsn;
|
||||
uint16_t erase_size;
|
||||
uint8_t spare;
|
||||
uint16_t cmdclass;
|
||||
uint16_t tacc_clks;
|
||||
int32_t erase_shift;
|
||||
uint32_t tacc_ns;
|
||||
uint32_t r2w_factor;
|
||||
uint32_t max_dtr;
|
||||
uint32_t read_blkbits;
|
||||
uint32_t write_blkbits;
|
||||
uint32_t capacity;
|
||||
uint32_t pref_erase;
|
||||
uint32_t read_partial : 1,
|
||||
read_misalign : 1,
|
||||
write_partial : 1,
|
||||
write_misalign : 1;
|
||||
};
|
||||
|
||||
extern struct mmc_cid myCID;
|
||||
extern struct mmc_csd myCSD;
|
||||
|
||||
int mmc_decode_cid( const struct mmc_csd *pxCSD, struct mmc_cid *pxCID, uint32_t *raw_data );
|
||||
int sd_decode_csd( struct mmc_csd *pxCSD, uint32_t *ulResponse );
|
||||
|
||||
#endif /* SDPS_INFO_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue