Hi,

On 12/01/2014 03:00 AM, wens Tsai wrote:
Hi,

On Fri, Nov 28, 2014 at 7:50 PM, Hans de Goede <hdego...@redhat.com> wrote:
Hi ChenYu,

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 ?

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

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.

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.

Regards,

Hans

--
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