Re: FW: eMMC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: linux-mmc-owner@xxxxxxxxxxxxxxx [mailto:linux-mmc-owner@xxxxxxxxxxxxxxx] On Behalf Of Philip Rakity
> Sent: Wednesday, November 21, 2012 8:42 PM
> To: linux-mmc@xxxxxxxxxxxxxxx
> Subject: RFC: eMMC
>
> Recently there have been a number of patches to sdhci.c and discussions on regulators for folks using eMMC.
>
> I would appreciate any feedback.  The opinions below are my own.
>
> eMMC is a hardware device.  It is NOT voltage configurable in any real sense other then turning on/off the voltage,
> The board designer is supposed to read the data sheet and hook things up.  It is somewhat unclear to me how having a dummy regulator really helps.
>
But if the system enabled dummy regulator, regulator_get will return a
dummy regulator if vmmc/vmmcq not found.
So we had better take dummy regulator into consideration.

> Given that -- voltage checking for vmmc or vmmcq is not meaningful. eMMC either works or does not.
> The testing for vccq/vcc has no meaning since it cannot be changed.  In fact the samsung eMMC we used for DDR worked at 2.8v.

You set the vmmcq regulator to 2.8v while enable the 1.8v signaling
enable bit in host control 2 register.
It's mismatch in logic. But it's good to make DDR50 work under 2.8v(3v).
The reason for this working is the 1.8v signaling enable bit does NOT
control actual signal voltage at all.
In your case, although the 1.8v bit is set, the signal voltage for
both mmc host and emmc chip vmmcq is still 2.8v. Because the actual
signal voltage is controlled by external regulator whose voltage is
not changed.
So DDR50 can keep working since DDR50 support both 1.8v and 3v.

> Given this -- we have a chicken and egg situation in sdhci.c
> if we are in this code and the kernel was on eMMC obviously the system is working.
> If we booted the kernel from say SPI then hopefully the boot code has set up the voltage rails correctly.
> I would argue that for eMMC the regulator structure should not be exposed to sdhci.c and everything would just work.
>
The easy way is just not register vmmc/vmmcq regulator for emmc, right?

> SD/UHS cards are a completely different matter and regulators make complete sense.
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux