[Gta04-owner] Kernel 3.14-rc7

Dr. H. Nikolaus Schaller hns at goldelico.com
Mon Mar 17 17:16:46 CET 2014

finally we have merged 3.14-rc7 into our gta04 kernel [1] but it is still in alpha
stage, because some important features are lacking (display/Xorg is not stable,
internal USB/Modem is missing, WLAN/BT/GPS not working).

To give you an understanding why it is so difficult and time consuming, let me
talk about one example.

If we compile the kernel without device tree (we still have the board file included),
the kernel works and boots and we can charge the battery.

If we compile with device tree, the kernel works and boots but the battery does not charge.

Asking the hardware monitor tells that there are ~110 mA flowing from USB into the system.
Since the CPU draws more than 110 mA if active, this will still slowly discharge the battery.

Because USB-OTG is working, the system detects that a cable is plugged in. And the
/sys/class/power_supply tells that the usb chargers is in status "charging".

So what is going on?

After several hours experimenting I found that the charger is programmed for a 
max. current of 100mA.

This means that our udev rule to query the ID pin and control the charging current
is not working!

But why is it working on the non-DT kernel?

Finally it turns out that instantiating the drivers by DT gives them different
names and positions in the /sysfs - and therefore the udev rules fail.

Even worse: it appears that the nodes are no longer in the same subtree
but in different ones.

So it is not a kernel problem but a user-space thing, where we need help from
someone who is brilliant in writing udev rules.

If you think you can help, please raise your finger to discuss the details.

Thank you,

[1]: http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/3.14-rc7

More information about the Gta04-owner mailing list