On 6 May 2015 at 03:38, Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> wrote: > On Tue, 2015-05-05 at 10:47 +0200, Ulf Hansson wrote: >> On 5 May 2015 at 10:35, Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> wrote: >> > On 05/05/15 10:56, Ulf Hansson wrote: >> >> On 30 April 2015 at 14:32, Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> wrote: >> >>> Implement voltage switch, supporting modes up to SDR-50. >> >>> >> >>> Based on work by Shinobu Uehara, Rob Taylor, William Towle and Ian Molton. >> >>> >> >>> This uses two voltage regulators, one external and one on the pfc. >> >> >> >> Why two? If there is a parent child relation ship, that should be >> >> handled through the regulator tree, right!? Please elaborate. >> > >> > The card main power is separate from the IO line voltages. >> > >> > To get to the high-speed, card power is left at 3.3V and the IO >> > voltage is changed to 1.8V. >> > >> > In the systems we have the power gate is separate from the controls >> > for the IO but not integrated into the MMC controller itself. > > In this case, there are *three* regulators: > > 1. External regulator for card power (VDD pin): "vmmc" > 2. External regulator for pull-up voltage for the data pins: "vqmmc" Is this really a regulator and not just about changing a pinctrl setting? The reason why I wonder, is because there are several other mmc host driver's the use a specific pinctrl state for this. > 3. Internal regulator for input(?) level on the data pins: > "vqmmc_ref" (I'm open to suggestions of a better name) > >> Okay, that's what I was expecting and hoping for :-) >> >> Then you need to rework $subject patch according to below. >> >> 1) Use mmc_regulator_get_supply() to fetch both the I/O voltage >> regulator (vqmmc) and the main power regulator (vmmc). > > We already do that. Okay, great! > >> Your "vqmmc_ref" regulator should thus be renamed to "vmmc". > > No, we have one of those already. > >> 2) The vmmc regulator should not be handled from the >> ->start_signal_voltage_switch() callback, since it's only vqmmc >> voltage levels that should be changed from there. > > It isn't. > >> 3) The voltage levels changes for vmmc shall be handled via the >> ->set_ios() callback. > > We don't support UHS-II so we never change the voltage of this > regulator. That's not related to UHS-II. Voltage level negotiation for vmmc is done even for legacy mode cards. Kind regards Uffe -- 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