On 09/25/2015 08:02 AM, Tomi Valkeinen wrote: > LDO1 regulator (VDD_SD) is connected to SoC's vddshv8. vddshv8 needs to > be kept always powered (see commit 5a0f93c6576a ("ARM: dts: Add > am57xx-beagle-x15"), but at the moment VDD_SD is enabled/disabled > depending on whether an SD card is inserted or not. > > This patch sets LDO1 regulator to always-on. > > This patch has a side effect of fixing another issue, HDMI DDC not > working when SD card is not inserted: > > Why this happens is that the tpd12s015 (HDMI level shifter/ESD > protection chip) has LS_OE GPIO input, which needs to be enabled for the > HDMI DDC to work. LS_OE comes from gpio6_28. The pin that provides > gpio6_28 is powered by vddshv8, and vddshv8 comes from VDD_SD. > > So when SD card is not inserted, VDD_SD is disabled, and LS_OE stays > off. > > The proper fix for the HDMI DDC issue would be to maybe have the pinctrl > framework manage the pin specific power. > > Apparently this fixes also a third issue (copy paste from Kishon's > patch): > > ldo1_reg in addition to being connected to the io lines is also > connected to the card detect line. On card removal, omap_hsmmc > driver does a regulator_disable causing card detect line to be > pulled down. This raises a card insertion interrupt and once the > MMC core detects there is no card inserted, it does a > regulator disable which again raises a card insertion interrupt. > This happens in a loop causing infinite MMC interrupts. > > Fixes: 5a0f93c6576a ("ARM: dts: Add am57xx-beagle-x15") > Cc: Kishon Vijay Abraham I <kishon@xxxxxx> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> > Reported-by: Louis McCarthy <compeoree@xxxxxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> > --- > arch/arm/boot/dts/am57xx-beagle-x15.dts | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/am57xx-beagle-x15.dts b/arch/arm/boot/dts/am57xx-beagle-x15.dts > index 3a05b94f59ed..ba8ef66a16e0 100644 > --- a/arch/arm/boot/dts/am57xx-beagle-x15.dts > +++ b/arch/arm/boot/dts/am57xx-beagle-x15.dts > @@ -415,11 +415,12 @@ > /* SMPS9 unused */ > > ldo1_reg: ldo1 { > - /* VDD_SD */ > + /* VDD_SD / VDDSHV8 */ > regulator-name = "ldo1"; > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <3300000>; > regulator-boot-on; > + regulator-always-on; > }; > > ldo2_reg: ldo2 { > -- Regards, Nishanth Menon -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html