10 Aug, 2013

4 commits

  • The LCDIF interface doesn't give us any means to do continuous refresh
    when driving a SmartLCD. To work this around, we produce a special
    circular DMA descriptor, which only writes the HW_LCDIF_CTRL0 register
    and sets the RUN bit.

    Signed-off-by: Marek Vasut
    Cc: Anatolij Gustschin
    Cc: Fabio Estevam
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Add hook that allow configuring SmartLCD attached the MXS LCDIF
    controller operating in System-Mode. This hook can be overriden
    by a platform-specific SmartLCD programming routine, which writes
    the SmartLCD specific values into it's registers.

    Also, this patch makes sure the SYNC signals are off for the
    SmartLCD case.

    Signed-off-by: Marek Vasut
    Cc: Anatolij Gustschin
    Cc: Fabio Estevam
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Allocate the framebuffer aligned so it can be flushed
    and the flush_dcache_range() function won't complain.

    Signed-off-by: Marek Vasut
    Cc: Anatolij Gustschin
    Cc: Fabio Estevam
    Cc: Otavio Salvador
    Cc: Stefano Babic
    Acked-by: Stefano Babic

    Marek Vasut
     
  • Add special function that executes a specially crafted circular
    DMA descriptor. The function doesn't wait for the descriptor to
    finish the transfer, since the descritor never finishes. This is
    useful when operating a SmartLCD through the LCDIF interface, as
    the LCDIF does not give us any means to have continuous refresh
    of the SmartLCD. Instead, the RUN bit in the LCDIF CTRL register
    must be triggered manually. This can be worked around by starting
    an DMA transfer which continuously sets the RUN bit. This function
    allows starting exactly such transfer.

    Signed-off-by: Marek Vasut
    Cc: Anatolij Gustschin
    Cc: Fabio Estevam
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     

09 Aug, 2013

3 commits

  • There is a missing in previous
    commit 951344b778d6ac67b94011d942a5a55da7202027
    (nds32: Convert Makefiles to use COBJS-y style)
    will cause compile error.

    Signed-off-by: Kuan-Yu Kuo
    Cc: Macpaul Lin
    Cc: Andes
    Signed-off-by: Andes

    ken kuo
     
  • U-Boot does not compile for the adp-ag101 boards since
    commit a8f9cd1893bef05b92f63242228607b45821c4a7
    (net: update FTGMAC100 for MMU/D-cache support)

    The driver assumes that the DMA allocation API are provided by all
    architectures. This is not the case for nds32 and it causes a
    build error. This patch adds DMA allocation API to avoid the errors.

    Signed-off-by: Kuan-Yu Kuo
    Cc: Macpaul Lin
    Cc: Andes
    Signed-off-by: Andes

    ken kuo
     
  • Signed-off-by: Andes
    Cc: Macpaul Lin
    Cc: Kuan-Yu Kuo

    Andes
     

06 Aug, 2013

1 commit


03 Aug, 2013

10 commits

  • In case only the CONFIG_SYS_I2C_SPEED is set in configuration file,
    the CONFIG_SYS_I2C_SOFT_SPEED is defined as CONFIG_SYS_I2C_SPEED.
    The CONFIG_SYS_I2C_SOFT_SPEED is then used throughout the driver.

    Unfortunatelly, due to a typo in the driver, instead of defining
    CONFIG_SYS_I2C_SOFT_SPEED, an CONFIG_SYS_SOFT_I2C_SPEED was defined
    and therefore the driver failed to compile. The same applies for
    CONFIG_SYS_I2C_SOFT_SLAVE , where the swap happens as well.

    This patch fixes the issue.

    Signed-off-by: Marek Vasut
    Cc: Heiko Schocher

    Marek Vasut
     
  • This brings U-Boot's cpp invocation into line with the way the Linux
    kernel invokes cpp on device trees. Consistency will be useful to ensure
    *.dts is portable between the two.

    -undef also has the added advantage of not defining "linux", so DT
    property names such as "linux,keymap" don't get mangled.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     
  • Recent dtc supports #line directives in the input source code, and even
    uses them to generate useful line numbers in any messages it emits. Stop
    passing -P to cpp, since there's no need any more.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     
  • Now that nothing uses CONFIG_ARCH_DEVICE_TREE, stop defining it.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     
  • Now that nothing uses the defines ARCH_CPU_DTS, BOARD_DTS, stop defining
    them.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     
  • Now that we assume dtc supports the -i option, we don't need to use
    ARCH_CPU_DTS in *.dts{,i}; we simply specify the include filename
    directly, and dtc will find it.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     
  • *.dts may use #include (via cpp) or /include/ (via dtc; assuming a newer
    dtc). The choice is up to the creator of the DT. Create a common variable
    DTC_INCDIRS that lists the paths searched by include statements, and
    update cpp and dtc invocation to use them.

    For cpp, also specify -nostdinc to ensure the same set of paths is
    available to both type of include statement.

    For dtc, create a new DTC_FLAGS variable to hold all the flags passed to
    dtc.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     
  • The invocation of dtc is significantly more complex that it could be,
    in order to work around an issue on old versions of dtc, which print
    a message to stdout every time they run.

    Remove this workaround, on the assumption that people have or will
    upgrade to a newer version of dtc. This simplifies the build rule
    significantly.

    Related, split the invocation of cpp and dtc into separate commands
    rather than a pipeline, so that if either fail, it is detected. This has
    the nice benefit of saving off the result of the pre-processing step,
    allowing it to be easily inspected.

    Assuming a new enough dtc (which an earlier patch enforces), dtc will
    parse #line directives in its input file, and generate correct file and
    line numbers in error messages, even though cpp is unconditionally
    applied to its input file.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     
  • Aside from microblaze, all other SoCs/boards/vendors store their DT files
    in board/$vendor/dts/$soc-$board.dts. Move microblaze-generic.dts to this
    location for consistency.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass
    Acked-by: Michal Simek

    Stephen Warren
     
  • Subsequent patches assume that dtc supports various recent features.
    These are available in dtc 1.4.0. Validate that dtc is at least that
    version.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     

01 Aug, 2013

1 commit


31 Jul, 2013

5 commits


30 Jul, 2013

16 commits

  • This commit adds some prototypes into include/mtd/cfi_flash.h.
    These functions are defined with a weak attribute in
    drivers/mtd/cfi_flash.c.
    This means they can be overrided by board-specific ones
    if necessary.

    When defining such functions under board/ directory or
    somewhere, cfi_flash.h should be included.
    This makes sure that board-specfic cfi functions
    are defined in a correct prototype.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Stefan Roese

    Masahiro Yamada
     
  • usb_lowlevel_init() allocates a new periodic_list each time it is invoked,
    without freeing the original list. Since it is initialized later on in the code,
    just reuse the first-allocated list in future invocations of usb_lowlevel_init.

    Cc: Marek Vasut
    Cc: Igor Grinberg
    Signed-off-by: Nikita Kiryanov

    Nikita Kiryanov
     
  • When power cycling the hub ports, a misbehaving port will prevent all ports
    from being powered on because we quit at the first sign of trouble.

    Skip problematic ports instead of failing the entire power on.

    Cc: Marek Vasut
    Cc: Igor Grinberg
    Signed-off-by: Nikita Kiryanov

    Nikita Kiryanov
     
  • Fixes NFS root problems with Beagle (3530 ES1.0) when used with
    external USB-ethernet adapter and "USB start" command used within
    u-boot.

    Soft resetting the UHH module causes instability issues on
    all OMAPs so we just avoid it.

    See OMAP36xx Errata
    i571: USB host EHCI may stall when entering smart-standby mode
    i660: USBHOST Configured In Smart-Idle Can Lead To a Deadlock

    On OMAP4/5, soft-resetting the UHH module can put it into
    Smart-Idle mode and lead to a deadlock.

    On OMAP3 this doesn't seem to be the case but still instabilities
    are observed on beagle (3530 ES1.0) if soft-reset is used.
    e.g. NFS root failures with Linux kernel.

    Signed-off-by: Roger Quadros

    Roger Quadros
     
  • This patch extends dfu code to support transmission with -R switch
    specified at dfu-util.

    When -R is specified, the extra USB_REQ_DFU_DETACH request is sent after
    successful data transmission. Then dfu resources are released and reset
    command is issued.

    Signed-off-by: Lukasz Majewski
    Signed-off-by: Kyungmin Park

    Lukasz Majewski
     
  • The requests sent to the controller are not properly cache aligned
    most of the time, thus implement a simple bounce buffer to avoid
    problem with cache.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Implement functions to flush/invalidate dcache over QH and qTDs
    and make use of them where appropriate. Also use them to replace
    the old incorrect cache management attempt. This is the first step
    towards making this driver work with data cache enabled.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • The code for retrieving qTD item for particular endpoint is hard
    to understand, moreover it's duplicated all over the driver. Move
    the code into single nice and documented function.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Allocate the qTD items all at once instead of allocating them
    separately. Moreover, make sure each qTD is properly aligned
    to 32-bytes boundary and that cache can be safely flushed over
    each qTD touple.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • The code for retrieving QH for particular endpoint is hard to understand,
    moreover it's duplicated all over the driver. Move the code into single
    nice and documented function.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Check the length of system cacheline at compile-time and fail
    if the system uses too long cachelines.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • The endpoint QH list has to be aligned to 10-bit boundary. We also have
    to make sure the list is aligned on a cacheline boundary. Make sure it
    is. Furthermore, check if the memory allocation for the QH list didn't
    fail. Moveover, improve the comment about the QH list structure.

    Finally, the qTD item list has to be aligned only to 5-bit boundary, not
    10-bit as it is now, fix this as well.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Both the endpoint queue head and the endpoint item list is a controller
    specific thing. Move them both into controller private data.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • There is no need to init this field at runtime, so init it statically.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • The QH_MAXNUM is used in absolutelly incorrect manner and is not
    even needed. Remove it and correctly replace it's occurance with
    2 * NUM_ENDPOINTS .

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Clean up the code that checks the validity of a USB gadget driver
    in usb_gadget_register_driver(). Moreover, limit the speed of the
    driver to either FULL or HIGH, this is more precise and once we
    have xHCI support, also more correct.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut