Re: [PATCH] mmc: rtsx_pci: Do not set MMC_CAP2_FULL_PWR_CYCLE

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

 



On Sun, 25 Aug 2019 at 00:25, Philip Langdale <philipl@xxxxxxxxx> wrote:
>
> On Thu, 22 Aug 2019 16:05:22 -0700
> Philip Langdale <philipl@xxxxxxxxx> wrote:
>
> > So, what's actually wrong? Well, either the controller doesn't really
> > support the
> > low voltage range, or the card doesn't. As my machine here only has a
> > microsd slot,
> > I can't test with an MMCplus card to see if low voltage MMC would
> > work. Without that
> > I can't say whether we should remove the host flag or somehow
> > blacklist low voltage
> > range on these cards (or any SD card?)
> >
> > Would love to get your thoughts.
>
> I did more reading and thinking. In the MMC spec, a low-voltage (1.8V)
> supporting card can run at 1.8V directly from start up (and this is
> what the existing core logic does). But for SD cards, i think this is
> not true. I read the Low-Voltage-Signaling announcement which says
> there is a new negotiation mechanism but I can't find it documented in
> the SD 6.0 spec (despite the announcement saying it's part of the SD
> 6.0 spec). That implies that direct bring up at low voltage doesn't
> work like it does for an MMC card.

Thanks a lot for analyzing the problem more deeply!

As far as I can understand, the the OCR register for SD card
represents the voltage range for VDD (and VDD1 for UHS-II cards),
which is represented by the vmmc regulator in the mmc core.

The OCR is isn't about the I/O signaling voltage, at least to my
understanding. When in comes to "dual voltage" SD cards, I think we
can simply forget about those, at least until someone come and says we
need to support then. Moreover, reading the spec doesn't really
mention much about "dual voltage" SD cards.

>
> Also, again without seeing an actual spec, I'd guess this means that
> having bit 7 set in OCR cannot be interpreted the same way for an SD
> card as for an MMC card. Perhaps it should be read to mean that the LVS
> negotiation process should be executed, but even that might be silly,
> because the whole point of LVS is to support scenarios where only 1.8V
> is usable - that means negotiation must be done with no prior
> knowledge. So you can't read OCR until you already know that 1.8V is
> supported.

Again, OCR is probably not about LVS. Becuase LVS is about supporting
to initialize the SD card in 1.8V signal voltage.

>
> So maybe the punchline here is that shared logic that will try and
> bring up a card at 1.8V should be MMC only and for SD cards, the LVS
> negotiation should be implemented instead.
>
> Finally, this Sandisk A2 card doesn't have the LV logo on it, so I
> don't know whether it would support 1.8V operation if the LVS
> negotiation was done directly or not - and I don't know whether setting
> bit 7 in OCR is correct for an LV compliant card.

Yeah.

I think we can agree on that having bit7 set in OCR is not really
useful for SD card. In principle I think we should just just ignore it
for all SD cards.

Do you want to send a patch, or if you prefer, I can do it!?

Kind regards
Uffe



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

  Powered by Linux