(Marek and the QA team found that they could power on a GTA02v5 without battery even without applying the u-boot changes. So they wonder why the change was actually necessary.)
The main problem is that u-boot has to set the USB current limit to 100mA, which is not sufficient for the system to run. We then have a loop in u-boot which makes sure that we have good power, before we try to boot. We can increase USB current to 500mA or even 1A if we detect a host/powered hub, or even the adapter. The u-boot fix makes sure we draw less than 100mA before we know we can increase the USB current. Without the fix, we'd depend on this detection to happen before we run out of the power stored in capacitors. Sometimes, this works, sometimes it doesn't. Also, if we're connected to a host-powered hub or some other 100mA-only USB port, we can never boot from that alone. But we can still charge the battery. Another problem is that u-boot didn't enable the charger. So even if we would have been able to charge the battery, we didn't. Instead, we tried to proceed, and - if the battery was weak enough - then just ran out of power somewhere later in the boot sequence. - Werner
