[U-Boot] A question about driver/mmc/mmc.c

Lv Terry-R65388 r65388 at freescale.com
Tue Nov 24 12:26:03 CET 2009


Hi All,
 
    I use implement the esdhc driver and use driver/mmc/mmc.c and I
think there might be a bug.
 
    I have a 4G mmc plus card in hand.
 
    The mmc_send_op_cond( ) function in mmc_init( ) will set
mmc->high_capacity to 0. It's not a high capacity card.
 
    And in mmc_change_freq( ), due to SEC_CNT in ext_csd[ ] is not zero,
mmc->high_capacity will be set to 1. It will be addressed by sector.
 
    But this card is not a high capacity card. Sector address will make
it access wrong data.
 
    When I comment the line:
 
    if (ext_csd[212] || ext_csd[213] || ext_csd[214] || ext_csd[215])
          mmc->high_capacity = 1;
 
    The data in mmc can be read and write correctly.
 
  Is this need to be changed?
 
  Thanks~~
 
Yours
Terry
 
 General Business Information
 Freescale Internal Use Only
 Freescale Confidential Proprietary
 


More information about the U-Boot mailing list