From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ulf Hansson Subject: Re: [PATCH] mmc: dw_mmc: try pick the exact same voltage as vmmc for vqmmc Date: Fri, 21 Nov 2014 13:06:18 +0100 Message-ID: References: <1415109789-7046-1-git-send-email-addy.ke@rock-chips.com> <1415678573-6093-1-git-send-email-addy.ke@rock-chips.com> <5464152E.7040209@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: <5464152E.7040209@rock-chips.com> Sender: linux-mmc-owner@vger.kernel.org To: addy ke Cc: Doug Anderson , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Randy Dunlap , "tgih.jun@samsung.com" , Jaehoon Chung , Chris Ball , Dinh Nguyen , =?UTF-8?Q?Heiko_St=C3=BCbner?= , Olof Johansson , Sonny Rao , Alexandru Stan , "devicetree@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , linux-mmc , "linux-arm-kernel@lists.infradead.org" linux- List-Id: devicetree@vger.kernel.org [...] > Sure > If the first card is sd2.0 since startup, dw_mci_switch_voltage will not be called, That can't be right. mmc_power_up() should trigger dw_mci_switch_voltage() to be invoked. > and card can be identified. But if UHS card is pulgged in first, the vqmmc will be down to 1.8v. > > when sd2.0 card is pulgged in, mmc core will call dw_mci_switch_voltage to change vqmmc to 3.3v > (MMC_SINGLE_VOTAGE_330). So vqmmc will be set 2.7v, if we request 2.7-3.6v. > > But vmmc is always 3.3v,becuase it be set min_volt = max_volt = 3.3v in dt tables. > > So the result: > vmmc = 3.3v and vqmmc = 2.7v, and sd2.0 card is failed to identify in my test. Hmm. I wonder why it works the first time? Could it be that your regulator have voltage ramp up time that isn't properly considered? Kind regards Uffe