Re: Tegra boots failing due to as3722 I/O errors

From: Jon Hunter
Date: Thu Mar 31 2016 - 10:45:25 EST



On 30/03/16 17:46, Mark Brown wrote:
> * PGP Signed by an unknown key
>
> On Wed, Mar 30, 2016 at 02:15:16PM +0100, Jon Hunter wrote:
>
>> On second thoughts, is this the correct way to fix this? I see that
>> there are some operators defined for get/set_bypass for a regulator and
>> these are not specified for LDO6 either. However, even if they were I
>> don't believe this will fix the problem alone.
>
> If this is trying to implement bypass support it should use bypass
> support (and the other things doing this fixed to do so).

I have created 2 patches to add bypass support for LDO6 on the as3722 [0].

>> The failure is caused by _regulator_get_voltage() returning an error.
>> This function does not check if the regulator is bypassed, but I am
>> wondering if it should and then return the bypass voltage?
>
> Yes, like we already do for switches. I'll send an untested patch
> shortly.

Thanks. I have tested the patch, but as I mentioned in my response, the
issue is still not resolved even my patches for as3722. Hence, I have
not sent out my patches yet (although I verified they are working and
detecting bypass correctly).

Unfortunately, I am leaving for a weeks holiday starting tomorrow.

Laxman, Thierry, if you have some time to look at this over the next
week that would be great. Otherwise I will pick it up when I get back. I
don't think that it is too hard to resolve, we just need to add support
for bypass on LDO6 for as3722 (hopefully I have done this now) and then
ensure the bypass voltage is read correctly when registering the LDO.
Mark's initial patch to do this [1] is not working so far.

By the way, this issue has been recently exposed by a change to the
regulator core (bisect showed the problem is first seen after commit
fa93fd4ecc9c "regulator: core: Ensure we are at least in bounds for our
constraints" was added).

Cheers
Jon

[0] https://github.com/jonhunter/linux/commits/as3722
[1] http://marc.info/?l=linux-kernel&m=145935914903138&w=2