
On 01/22/2015 12:45 PM, Pantelis Antoniou wrote:
Hi Stephen,
On Jan 22, 2015, at 20:42 , Stephen Warren swarren@wwwdotorg.org wrote:
On 12/23/2014 02:50 AM, Diego Santa Cruz wrote:
There is currently no command that will provide an overview of the hardware partitions present on an eMMC device, one has to switch to every partition via "mmc dev" and run mmcinfo for each to get the partition's capacity. This commit adds a few lines of output to mmcinfo with the sizes of the present partitions, like this:
Device: OMAP SD/MMC Manufacturer ID: fe OEM: 14e Name: MMC16 Tran Speed: 52000000 Rd Block Len: 512 MMC version 4.41 High Capacity: Yes Capacity: 13.8 GiB Bus Width: 4-bit User Capacity: 13.8 GiB Boot Capacity: 16 MiB RPMB Capacity: 128 KiB GP1 Capacity: 64 MiB GP2 Capacity: 64 MiB
I have an MMC device which has at least boot HW partitions, yet with the very latest code in u-boot.git, I don't see the additional lines mentioned above. My HW partitions are still working fine, since I can select a boot partition and mmcinfo shows the correct "Capacity" for it:
Any ideas why?
Tegra124 (Jetson TK1) # mmc dev 0 switch to partitions #0, OK mmc0(part 0) is current device Tegra124 (Jetson TK1) # mmcinfo Device: Tegra SD/MMC Manufacturer ID: 45 OEM: 100 Name: SEM16 Tran Speed: 52000000 Rd Block Len: 512 MMC version 4.5 High Capacity: Yes Capacity: 14.7 GiB <<<< Sounds right for a 16GB device with partitions Bus Width: 8-bit Erase Group Size: 512 KiB <<<< No HW partition information is printed here
Tegra124 (Jetson TK1) # mmc dev 0 1 <<<< select "boot0" HW partition switch to partitions #1, OK mmc0(part 1) is current device Tegra124 (Jetson TK1) # mmcinfo Device: Tegra SD/MMC Manufacturer ID: 45 OEM: 100 Name: SEM16 Tran Speed: 52000000 Rd Block Len: 512 MMC version 4.5 High Capacity: Yes Capacity: 4 MiB <<<< "boot0" partition size correctly reported Bus Width: 8-bit Erase Group Size: 512 KiB
That is really weird; are you sure you got the latest version of u-boot containing those patches?
if (!IS_SD(mmc) && mmc->version >= MMC_VERSION_4_41) {
Ah, my device is MMC 4.5, and the version numbers aren't monotonic:
#define MMC_VERSION_4_41 (MMC_VERSION_MMC | 0x429) #define MMC_VERSION_4_5 (MMC_VERSION_MMC | 0x405)
Should that be 0x450, or do we need some more complex version comparison logic?
FWIW, if I hack the test you quoted to always pass, then the data that's printed looks plausible. At the very least, the boot capacity agrees with Linux.