[PATCH] ARM: dts: exynos: Fix invalid maximum voltage for buck9 supplying SD card

Krzysztof Kozlowski k.kozlowski at samsung.com
Sun Mar 27 17:08:48 PDT 2016


On 25.03.2016 14:45, Javier Martinez Canillas wrote:
> Hello Krzysztof,
> 
> On 03/24/2016 05:12 AM, Krzysztof Kozlowski wrote:
>> The buck9 regulator of S2MPS11 PMIC had incorrect maximum voltage -
>> lower by 5 mV than specified by datasheet. This buck9 provides power to
>> other regulators, including LDO13 and LDO19 which supply the MMC2 (SD
>> card).
>>
>> When constraints were applied, the depending regulators were not
>> providing enough power, leading to SD card detection errors:
>> 	mmc1: card never left busy state
>> 	mmc1: error -110 whilst initialising SD card
>>
>> Fixes: 86a2d2ac5e5d ("ARM: dts: Add dts file for Odroid XU3 board")
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski at samsung.com>
>>
>> ---
>>
>> The issue can be reproduced on next-20160324 with
>> bae4fdc88d7f7dda1 (regulator: core: Ensure we are at least in bounds for our constraints).
>> ---
>>  arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> index 1bd507bfa750..82b2ba632cf6 100644
>> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> @@ -299,7 +299,7 @@
>>  			buck9_reg: BUCK9 {
>>  				regulator-name = "vdd_2.8v_ldo";
>>  				regulator-min-microvolt = <3000000>;
>> -				regulator-max-microvolt = <3750000>;
>> +				regulator-max-microvolt = <3755000>;
>>  				regulator-always-on;
>>  				regulator-boot-on;
>>  			};
>>
> 
> I tested next-20160324 + $SUBJECT on an Odroid XU4 (with exynos_defconfig)
> and while it's true that the patch makes the SD card error to go away, I see
> that the s2mps11 regulator driver fails to probe due an -EINVAL being return
> by machine_constraints_voltage() -> _regulator_do_set_voltage():
> 
> [    1.710300] vdd_2.8v_ldo: failed to apply 3755000-3755000uV constraint(-22)
> [    1.716387] s2mps11-pmic s2mps11-regulator: regulator init failed for 46
> [    1.734878] s2mps11-pmic: probe of s2mps11-regulator failed with error -22

Oh, damn, so the fix was only because driver failed to probe (which I
missed). This explains Friday's next failures. I'll drop it from next
because it makes more harm than good...

BR,
Krzysztof

> I wonder how neither Markus nor you saw this issue when testing so maybe I'm
> doing something wrong? Since AFAICT it's only working because the driver fails
> to probe so the same effect can be achieved disabling CONFIG_REGULATOR_S2MPS11.
> 
> Best regards,
> 




More information about the linux-arm-kernel mailing list