07 Apr, 2015

1 commit

  • In stead of user_buffer_size, transfer_size should be used to pass to
    ahci_device_data_io(). transfer_size is the length that we want the
    low level function to transfer each time.
    If we use user_buffer_size which is the totally data length as parameter,
    low level function will actually create many SGs to transfer as many data
    as possible each time. That will produce many redundant data transfer.

    Signed-off-by: Tang Yuantian
    Reviewed-by: Simon Glass

    Tang Yuantian
     

06 Apr, 2015

2 commits


03 Apr, 2015

2 commits


01 Apr, 2015

3 commits


31 Mar, 2015

9 commits

  • Tom Rini
     
  • Testing showed, that commands like STATUS made the buffer dirty
    when executed with NFC_SECSZ set to the page size. It looks
    like the controller transfers bogus data when this register
    is configured. When setting it to 0, the buffer does not get
    altered while the status command still seems to work flawless.

    Signed-off-by: Stefan Agner

    Stefan Agner
     
  • The driver tries to re-use the page buffer by storing the page
    number of the current page in the buffer. The page is only read
    if the requested page number is not currently in the buffer. When
    a block is erased, the page number is marked as invalid if the
    erased page equals the one currently in the cache. However, since
    a erase block consists of multiple pages, also other page numbers
    could be affected.

    The commands to reproduce this issue (on a written page):
    > nand dump 0x800
    > nand erase 0x0 0x20000
    > nand dump 0x800

    The second nand dump command returns the data from the buffer,
    while in fact the page is erased (0xff).

    Avoid the hassle to calculate whether the page is affected or not,
    but set the page buffer unconditionally to invalid instead.

    Signed-off-by: Stefan Agner

    Stefan Agner
     
  • This command is only enabled by one board, complicates the NAND code,
    and doesn't appear to have been functioning properly for several
    years. If there are no bad blocks in the NAND region being written
    nand_write_skip_bad() will take the shortcut of calling nand_write()
    which bypasses the special yaffs handling. This causes invalid YAFFS
    data to be written. See
    http://lists.denx.de/pipermail/u-boot/2011-September/102830.html for
    an example and a potential workaround.

    U-Boot still retains the ability to mount and access YAFFS partitions
    via CONFIG_YAFFS2.

    Signed-off-by: Peter Tyser

    Peter Tyser
     
  • The CONFIG_MTD_NAND_VERIFY_WRITE has been removed from Linux for some
    time and a more generic method of NAND verification now exists in U-Boot.

    Signed-off-by: Peter Tyser
    Tested-by: Heiko Schocher
    Acked-by: Heiko Schocher

    Peter Tyser
     
  • Previously NAND writes were not verified and could fail silently. Add
    a verification step after all writes to NAND.

    Signed-off-by: Peter Tyser
    Reviewed-by: Lukasz Majewski
    Tested-by: Heiko Schocher
    Acked-by: Heiko Schocher

    Peter Tyser
     
  • Add nand_verify() and nand_verify_page_oob(). nand_verify() verifies
    NAND contents against an arbitrarily sized buffer using ECC while
    nand_verify_page_oob() verifies a NAND page's contents and OOB.

    Signed-off-by: Peter Tyser
    Tested-by: Heiko Schocher
    Acked-by: Heiko Schocher

    Peter Tyser
     
  • There is only one pio_word in this DMA transaction so data field must be 1.

    Signed-off-by: Luca Ellero

    Luca Ellero
     
  • There is only one pio_word in this DMA transaction so data field must be 1.

    Signed-off-by: Luca Ellero

    Luca Ellero
     

30 Mar, 2015

7 commits


29 Mar, 2015

1 commit

  • The usb0 / otg phy on sunxi boards has a bug where it wrongly detects a
    high speed squelch on usb reset deassert when a lo speed device is plugged in.

    The android kernel has a work around for this in the form of temporary
    disabling the phy's squelch detection on reset deassert, this commit adds
    the same workaround to the u-boot sunxi musb code, thereby fixing various usb
    lo speed devices not working.

    Tested with a (before non working) usb keyboard and a usb 2.4 GHz wireless
    keyboard/mouse combo receiver.

    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Hans de Goede
     

28 Mar, 2015

1 commit


27 Mar, 2015

2 commits


26 Mar, 2015

2 commits

  • board/sunxi/board.c tries to set ldo3 to 2.8v however drivers/power/axp209.c
    contains an incorrect limit on ldo3 of 2.275v

    The origin of the incorrect limit seems likely due to some inconsistencies
    in the axp209 datasheet. ldo3 is described with different limits in
    different sections. register 0x29 uses 7 bits for voltage configuration
    while the 2.275v limit would apply if only 6 bits were used.
    Probably this is a cut&paste error from register 0x23

    The linux kernel driver has the correct limit and operation up to the 2.8v
    required by my board has been physically verified with a multimeter.

    Signed-off-by: Iain Paton
    Acked-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Iain Paton
     
  • Serial-uclass should be generically implemented without depending
    a particular hardware. Fortunately, nothing in include/ns16550.h is
    referenced from drivers/serial/serial-uclass.c, so remove this bogus
    include.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Tom Rini
    Acked-by: Simon Glass

    Masahiro Yamada
     

25 Mar, 2015

3 commits

  • with WCR_WDW set, the watchdog won't trigger if we bootet linux and idle
    around while the watchdog is not triggered. It seems the timer makes
    progress very slowly if at all. I managed to remain 20minutes alive
    while the timeout was set to 60secs. It reboots within 60secs if I start
    a busyloop in userland (something like "while (1) { }").

    While I don't see a reason why the WDT should not be running while the
    CPU is in idle, I'm dropping this bit.

    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: Stefano Babic

    Sebastian Siewior
     
  • Add a new driver for the Gigabit Ethernet MAC found on Intel Topcliff
    Platform Controller Hub. Tested under 10/100 half/full duplex and 1000
    full duplex modes using ping and tftpboot commands.

    Signed-off-by: Bin Meng
    Acked-by: Joe Hershberger

    Bin Meng
     
  • Some ethernet drivers use their own version of ethernet FCS length
    macro which is really common. We define ETH_FCS_LEN in net.h and
    replace those custom versions in various places.

    Signed-off-by: Bin Meng
    Acked-by: Joe Hershberger

    Bin Meng
     

24 Mar, 2015

1 commit

  • Various files are needlessly rebuilt every time due to the version and
    build time changing. As version.h is not actually needed, remove the
    include.

    Signed-off-by: Rob Herring
    Cc: Albert Aribaud
    Cc: Stefano Babic
    Cc: Minkyu Kang
    Cc: Marek Vasut
    Cc: Tom Warren
    Cc: Michal Simek
    Cc: Macpaul Lin
    Cc: Wolfgang Denk
    Cc: York Sun
    Cc: Stefan Roese
    Cc: Nobuhiro Iwamatsu
    Cc: Simon Glass
    Cc: Philippe Reynes
    Cc: Eric Jarrige
    Cc: "David Müller"
    Cc: Phil Edworthy
    Cc: Robert Baldyga
    Cc: Torsten Koschorrek
    Cc: Anatolij Gustschin
    Reviewed-by: Linus Walleij
    Reviewed-by: Łukasz Majewski

    Rob Herring
     

21 Mar, 2015

1 commit


20 Mar, 2015

1 commit


19 Mar, 2015

1 commit


18 Mar, 2015

3 commits