+void sd_dumpCsd(SdCSD *csd)
+{
+ ASSERT(csd);
+
+ LOG_INFO("VERSION: %d.0\n", csd->structure ? 2 : 1);
+ LOG_INFO("CARD COMMAND CLASS: %d\n", csd->ccc);
+ LOG_INFO("MAX DATA RATE: %ld\n", csd->max_data_rate);
+ LOG_INFO("WRITE BLK LEN BITS: %ld\n", csd->write_blk_bits);
+ LOG_INFO("READ BLK LEN BITS: %ld\n", csd->read_blk_bits);
+ LOG_INFO("ERASE SIZE: %ld\n", csd->erase_size);
+ LOG_INFO("BLK NUM: %ld\n", csd->block_num);
+ LOG_INFO("BLK LEN: %ld\n", csd->block_len);
+ LOG_INFO("CAPACITY %ld\n", csd->capacity);
+ LOG_INFO("FLAG Write: WP %d, W MISALIGN %d\n", csd->write_partial, csd->write_misalign);
+ LOG_INFO("FLAG Read: RP %d, R MISALIGN %d\n", csd->read_partial, csd->read_misalign);
+
+}
+
+void sd_dumpCid(SdCID *cid)
+{
+ ASSERT(cid);
+
+ LOG_INFO("MANFID: %d\n", cid->manfid);
+ LOG_INFO("OEMID: %d\n", cid->oemid);
+ LOG_INFO("SERIAL: %ld\n", cid->serial);
+ LOG_INFO("PROD_NAME: %s\n", cid->prod_name);
+ LOG_INFO("REV: %d.%d\n", cid->m_rev, cid->l_rev);
+ LOG_INFO("OFF,Y,M: %lx, %ld %ld\n", cid->year_off, (BCD_TO_INT_32BIT(cid->year_off) / 12) + 2000,
+ (BCD_TO_INT_32BIT(cid->year_off) % 12));
+}
+
+void sd_dumpSsr(SdSSR *ssr)
+{
+ ASSERT(ssr);