[U-Boot] MMC issues with cards formatted as SuperFloppy format?

Andy:
I was running into a issues, and just wanted to double check that it should be able to be handled - and the problem wasn't in the arch specific mmc driver somewhere....
If you format the card with unpartitioned Removable device ('super floppy' format: A super floppy layout is one in which there is no MBR, so there is no partition table. The entire disk (from start to end) is one giant partition.)
# dd if=/dev/zero of=/dev/sda bs=512 count=1 # mkdosfs -I /dev/sda
This will work OK in Windows and Linux hosts - it will just get mounted on /dev/sda.
When I pop it into U-Boot, I get something that thinks it _is_ a DOS parition, with a MBR (some extra debugging turned on). and the partition offset gets messed up, and everything falls apart.
bfin> mmcinit CID information: Manufacturer ID: 03 OEM/Application ID: 5344 Product name: SD256 Product Revision: 8.0 Product Serial Number: 544862406 Manufacturing Date: 07/08 SD Card detected (RCA 32769) CSD information: CSD structure version: 1.0 Card command classes: 5f5 Max trans speed: 25MHz Read block length: 512 Write block length: 512 Card capacity: 252968960 bytes
mmc_bread: dev 0, start 16, blkcnt 1 mmc_bread: dev 0, start 0, blkcnt 1 mmc_bread: dev 0, start 0, blkcnt 1 mmc_bread: dev 0, start 0, blkcnt 1 bfin> fatinfo mmc fat_register_device mmc_bread: dev 0, start 0, blkcnt 1 mmc_bread: dev 0, start 0, blkcnt 1 ## Valid DOS partition found ## part_offset = 778135908 Interface: MMC Device 0: Vendor: Man 035344 Snr 2079f0c6 Rev: 8 0 Prod: SD256 Type: Hard Disk Capacity: 241.2 MB = 0.2 GB (494080 x 512) disk_read mmc_bread: dev 0, start 778135908, blkcnt 1 mmc: bread failed, status = 00000008, card status = 80000900 Error: broken fs_type sign
It looks like a problem in common fat & partition management code.
Can you confirm the same happens on your systems?
Thanks -Robin
participants (1)
-
Robin Getz