On Mon, Dec 1, 2014 at 4:13 PM, Hans de Goede <hdego...@redhat.com> wrote:
> On 12/01/2014 03:00 AM, wens Tsai wrote:
>> On Fri, Nov 28, 2014 at 7:50 PM, Hans de Goede <hdego...@redhat.com> wrote:
>>> On 11/28/2014 10:20 AM, wens Tsai wrote:
>>>>
>>>>
>>>> Hi Hans,
>>>>
>>>> Thanks for completing SPL support on the A31.
>>>> I've managed to boot mainline U-boot on my Hummingbird A31.
>>>>
>>>> One issue I ran into is that with DCDC1 set at 3.0V,
>>>> mmc0 is very unstable in the kernel. All operations
>>>> timeout and the kernel panics because the rootfs isn't
>>>> available.
>>>>
>>>> Raising the voltage to 3.3V gets rid of the problem,
>>>> but I'm not sure that is the correct solution.
>>>
>>>
>>>
>>> The fex file for the mele boards says dcdc1 should be 3.3V not
>>> 3.0V and that makes sense really, since 3.3V is a standard
>>> voltage, while 3.0V is not.
>>>
>>> However the fex file for the Hummingbird says 3.0V and my
>>> Mele M9 works fine with the current u-boot setting of 3.0V.
>>>
>>> I've just booted my M9 into the original firmware and that is
>>> actually using 3.3V so changing things to 3.3V does seem to
>>> be the right thing.
>>>
>>> Maxime, I seem to remember you telling me that the Colombus
>>> is really using 3.0V.
>>>
>>> Maxime can you confirm this? Is that routed to the mmc power ?
>>>
>>> It could be that 3.0V is enough for the A31 itself, but that
>>> on boards which do not have a separate power-supply for the
>>> mmc 3.3V is used ?
>>>
>>> I'm fine with moving to 3.3V, I'm wondering if we should
>>> make it configurable like the DLDO# and ALDO# voltages,
>>> see drivers/power/Kconfig, with a 3.3V voltage and an
>>> override in the Colombus defconfig ?
>>>
>>> ChenYu, can you check which voltage the original firmware
>>> is actually using ? You should see boot1 printing the
>>> voltage, and you can check it from a root shell by doing:
>>
>>
>> This is during boot:
>>
>> U-Boot 2011.09-rc1 (Jun 17 2014 - 17:30:56) Allwinner Technology
>>
>> [      0.213]version: 1.1.0
>> [      0.216]pmbus:   ready
>> [      0.218]PMU: AXP221
>> [      0.220]PMU: AXP22x found
>> [      0.223]PMU: bat ratio = 100
>> [      0.226]PMU: dcdc3 1260
>> [      0.229]PMU: pll1 1008 Mhz
>> dcdc1_vol = 3000
>> dcdc2_vol = 1200
>> dcdc3_vol = 1260
>> dcdc4_vol = 1200
>> dcdc5_vol = 1500
>> aldo1_vol = 3000
>> aldo2_vol = 1800
>> aldo3_vol = 3000
>> eldo3_vol = 1800
>>
>>> cat /sys/class/regulator/regulator.13/name
>>> cat /sys/class/regulator/regulator.13/microvolts
>>>
>>> (The first one is just to check your regulators are numbered
>>> the same).
>>
>>
>> This is just a dump of all the regulators from the firmware:
>>
>> axp22_DCDC1  3000000  enabled
>> axp22_DCDC2  1200000  enabled
>> axp22_DCDC3  1260000  enabled
>> axp22_DCDC4  1200000  enabled
>> axp22_DCDC5  1500000  enabled
>> axp22_ldoio0 2800000  disabled
>> axp22_ldoio1 1800000  enabled
>> axp22_ldo1   3000000  enabled
>> axp22_ldo2   3300000  enabled
>> axp22_ldo3   1800000  enabled
>> axp22_ldo4   3000000  enabled
>> axp22_ldo5    700000  disabled
>> axp22_ldo6    700000  disabled
>> axp22_ldo7   2800000  disabled
>> axp22_ldo8   2800000  enabled
>> axp22_ldo9   1500000  disabled
>> axp22_ldo10   700000  disabled
>> axp22_ldo11  1800000  disabled
>> axp22_ldo12  1100000  enabled
>>
>> As you can see it is indeed set to 3.0V. And it does work.
>> So I'm kind of confused. Plus 3.0V doesn't seem to be a valid
>> I/O voltage level for SD/MMC.
>
>
> I/O voltage yes, but what if DCDC1 is used to power the card too ?

According to the schematic, the DCDC1 rail is used to power most
things running on 3V ~ 3.3V, such as MMC card power, NAND, Ethernet PHY,
LRADC, and some of the internal blocks like headphone amp, HDMI, MIPI PHYs
and most of the I/O ports (a few aren't).

The USB block which should be 3.3V has a discrete 3.0V fixed regulator.
VCC-PLL for the clock generator and AVCC for the analog bits are 3.0V.
These are hooked up to ALDO3.

I think having DCDC1 at 3.3V is the correct setting.

> And maybe the firmware is using one of the low voltage modes which
> we do not support in the upstream kernel ?

Low voltage setting for MMC I/O levels? All the power lines are tied
together on this board. There is no separate regulator for MMC I/O.

>> BTW, I see you're working on RSB support for U-boot. Thanks
>> in advance.
>
>
> Yes, the RSB bits in my u-boot tree actually already work (but still
> need some cleanup). My first target is the A23, but it should be useful
> and usable for the A80 too.

Should be. But no one is working on u-boot at the moment.

> Talking about the A23 I'm working on DRAM support for it in u-boot,
> given that all we've to go from is the boot0 binary this is slow
> painstakingly work, but I'm making progress.

I would've thought the controller was the same as the A31, with just
one channel, and it's the MBUS or whatever that's different.


ChenYu

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to