development tree for U-Boot: Changes to 'stable'

git at git.openmoko.org git at git.openmoko.org
Sun Aug 3 20:35:13 CEST 2008


 board/neo1973/common/udc.c     |   14 ++++++++++++--
 board/neo1973/gta02/gta02.c    |   14 +++++++++++++-
 common/cmd_bootm.c             |    7 +++++++
 drivers/serial/usbtty.c        |   16 ++++++++++++++--
 drivers/usb/usbdcore.c         |    6 ++++++
 drivers/usb/usbdcore_s3c2410.c |    9 ++++++---
 6 files changed, 58 insertions(+), 8 deletions(-)

New commits:
commit aa9b0ea7a1c9277fe0e9bfbda5070a9c9d61eaff
Author: Andy Green <andy at openmoko.com>
Date:   Sun Aug 3 19:34:57 2008 +0100

    fix-dont-do-i2c-with-irqs-off.patch
    
    We can't afford turning off interrupts for long periods in
    U-Boot as the USB stack fails and leaves the USB device in
    Insane Spam Mode.
    
    This patch allowed 50 resets in a row giving normal USB
    behaviour with no sign of the issue any more.
    
    Signed-off-by: Andy Green <andy at openmoko.com>

commit e8be8149e66a84c9576aea01b38c4c8fdb6677a6
Author: Andy Green <andy at openmoko.com>
Date:   Sun Aug 3 19:34:48 2008 +0100

    fix-stop-sitting-printing-in-time-critical-context.patch
    
    Someone left us a big fat warning in USB device code
    
    	/* Don't ever put [serial] debugging in non-error codepaths here, it
    	 * will violate the tight timing constraints of this USB Device
    	 * controller (and lead to bus enumeration failures) */
    
    these "non-error codepaths" go all over the shop, this patch nukes some
    serial printf()s that can do what we must never do.
    
    Signed-off-by: Andy Green <andy at openmoko.com>

commit 8e307f5847af04c975922ba1eb5d97e8dbfb600c
Author: Andy Green <andy at openmoko.com>
Date:   Sun Aug 3 19:34:38 2008 +0100

    fix-kill-endpoints-before-linux.patch
    
    This patch ties up udc closedown before starting Linux, and
    makes sure the endpoints are off in the hardware.
    
    Signed-off-by: Andy Green <andy at openmoko.com>

commit c7994820c491ad1cdff28d5ff9b062d2c79d5f2c
Author: Andy Green <andy at openmoko.com>
Date:   Fri Aug 1 07:47:06 2008 +0100

    fix-broken-usb-handed-to-linux.patch
    
    The USB callback for udc / enumeration notification is very time
    critical.  Recently, we started using this for PMU actions, which
    occur on the ridiculously slow I2C bus and block the USB stack for
    the duration.
    
    This caused a very bad behaviour in the USB Device hardware of
    spamming the USB bus at 6MHz for the entire session, even after
    Linux had booted, rendering the USB interface not operational.
    The chances were about 50:50 per boot you would have broken USB.
    
    This patch removes the I2C action from the time critical path
    and instead takes care to track it only if we are spinning
    waiting for enumeration because we have a bad battery level.
    The I2C transaction then takes place out of any time critical
    code.
    
    Enumeration is lost anyway as soon as we enter Linux where the
    device is enumerated fresh and the Linux pcf50633 driver will
    handle it.
    
    One of the results of Insane Spam Mode on USB is not being able
    to enumerate properly with host PC over USB.  And that leads
    directly to not being able to charge the device for the whole
    session.
    
    Signed-off-by: Andy Green <andy at openmoko.com>





More information about the commitlog mailing list