16 Jun, 2015

1 commit


07 May, 2015

1 commit


05 Mar, 2015

1 commit


10 Jan, 2015

1 commit


14 Apr, 2014

1 commit

  • This is regression of commit 2035d77d i2c: sh_i2c: Update to new CONFIG_SYS_I2C framework

    Before commit 2035d77d, i2c probe command works properly on kzm9g board.

    KZM-A9-GT# i2c probe
    Valid chip addresses: 0C 12 1D 32 39 3D 40 60

    After commit 2035d77d, i2c probe command does not work.

    KZM-A9-GT# i2c probe
    Valid chip addresses: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F

    sh_i2c_probe() calls sh_i2c_read(), but read length is 0. So acutally it does not read device at all. This patch prepares dummy buffer and read data into it.

    Signed-off-by: Tetsuyuki Kobayashi
    Acked-by: Heiko Schocher
    Signed-off-by: Nobuhiro Iwamatsu

    Tetsuyuki Kobayashi
     

08 Apr, 2014

1 commit


04 Apr, 2014

1 commit


03 Apr, 2014

1 commit

  • Commit 2faf5fb82ed6 introduced a regression that causes a data
    abort when running scsi init followed by scsi reset.

    There are 2 problems with the original commit
    1) ALLOC_CACHE_ALIGN_BUFFER() allocates memory on the stack but is
    assigned to ataid[port] and used by other functions.
    2) The function ata_scsiop_inquiry() tries to free memory which was
    never allocated on the heap.

    Fix these problems by using tmpid as a temporary cache aligned buffer.
    Allocate memory separately for ataid[port] and re-use it if required.

    Fixes: 2faf5fb82ed6 (ahci: Fix cache align error messages)

    Reported-by: Eli Nidam
    Signed-off-by: Roger Quadros

    Roger Quadros
     

02 Apr, 2014

6 commits

  • 1. The Data timeout counter value in eSDHC_SYSCTL register is
    not working as it should be, so add quirks to enable this
    workaround to fix it to the max value 0xE.

    2. Add CONFIG_SYS_FSL_ERRATUM_ESDHC111 to enable its workaround.

    * Update of patch for change mmc interface by
    Pantelis Antoniou

    Signed-off-by: Haijun Zhang
    Acked-by: Pantelis Antoniou

    Haijun.Zhang
     
  • The controller reset is performed now if command error occurs.
    This commit adds the reset for the case of data related errors too.

    Signed-off-by: Andrew Gabbasov
    Acked-by: Pantelis Antoniou

    Andrew Gabbasov
     
  • Calculation of the timeout value should be based on actual clock value,
    written to controller registers. Since mmc->tran_speed is either the
    maximum allowed speed, or the preliminary value, that is be not yet
    set to registers, the actual timeout, taken by the controller, based
    on its clock settings, may be much longer than expected, based on
    mmc->tran_speed value. In particular it happens at early initialization
    stage, when typical value of mmc->tran_speed is 20MHz or 26MHz, while
    actual clock setting, configured in the controller, is 400kHz.
    It's more correct to use mmc->clock value for timeout calculation instead.

    Signed-off-by: Andrew Gabbasov
    Acked-by: Pantelis Antoniou

    Andrew Gabbasov
     
  • Some eMMC chips may need the RST_n_FUNCTION bit set to a non-zero value
    in order for warm reset of the system to work. Details on this being
    required will be part of the eMMC datasheet. Also add using this
    command to the dra7xx README.

    * Whitespace fix by panto

    Signed-off-by: Tom Rini
    Acked-by: Pantelis Antoniou

    Tom Rini
     
  • Signed-off-by: Nobuhiro Iwamatsu
    Reported-by: Masahiro Yamada
    Acked-by: Pantelis Antoniou

    Nobuhiro Iwamatsu
     
  • BY commit "mmc: Split mmc struct, rework mmc initialization (v2)",
    sh_mmcif has compile error. This fixes compile error.

    Signed-off-by: Nobuhiro Iwamatsu
    CC: Pantelis Antoniou
    Reported-by: Masahiro Yamada
    Acked-by: Pantelis Antoniou

    Nobuhiro Iwamatsu
     

01 Apr, 2014

2 commits

  • Implement a callback to toggle the slot power supply. The callback
    can be overriden in case some more complex power supply for the slot
    was implemented in hardware, yet for the usual case, one can define
    a GPIO which toggles the power to the slot.

    Signed-off-by: Marek Vasut
    Cc: Stefano Babic
    Cc: Fabio Estevam
    Cc: Liu Ying

    Marek Vasut
     
  • Add yet another OCOTP driver for this i.MX family. This time, it's a driver for
    the OCOTP variant found in the i.MX23 and i.MX28. This version of OCOTP is too
    different from the i.MX6 one that I could not use the mxc_ocotp.c driver without
    making it into a big pile of #ifdef . This driver implements the regular fuse
    command interface, but due to the IP blocks' limitation, we support only READ
    and PROG functions.

    Signed-off-by: Marek Vasut
    Cc: Stefano Babic

    Marek Vasut
     

31 Mar, 2014

1 commit


29 Mar, 2014

3 commits


28 Mar, 2014

1 commit


25 Mar, 2014

1 commit


24 Mar, 2014

4 commits

  • For some time we have been using the run_command() with properly crafted
    string. Such approach turned to be unreliable and error prone.

    Switch to "native" mmc subsystem API would allow better type checking and
    shall improve speed.

    Also, it seems that this API is changing less often than u-boot commands.
    The approach similar to env operations on the eMMC has been reused.

    Signed-off-by: Lukasz Majewski

    Łukasz Majewski
     
  • The way that struct mmc was implemented was a bit of a mess;
    configuration and internal state all jumbled up in a single structure.

    On top of that the way initialization is done with mmc_register leads
    to a lot of duplicated code in drivers.

    Typically the initialization got something like this in every driver.

    struct mmc *mmc = malloc(sizeof(struct mmc));
    memset(mmc, 0, sizeof(struct mmc);
    /* fill in fields of mmc struct */
    /* store private data pointer */
    mmc_register(mmc);

    By using the new mmc_create call one just passes an mmc config struct
    and an optional private data pointer like this:

    struct mmc = mmc_create(&cfg, priv);

    All in tree drivers have been updated to the new form, and expect
    mmc_register to go away before long.

    Changes since v1:

    * Use calloc instead of manually calling memset.
    * Mark mmc_register as deprecated.

    Signed-off-by: Pantelis Antoniou

    Pantelis Antoniou
     
  • Using an array is pointless; even more pointless (and scary) is using
    sprintf to fill it without a format string.

    Signed-off-by: Pantelis Antoniou

    Pantelis Antoniou
     
  • Remove the in-structure ops and put them in mmc_ops with
    a constant pointer to it.

    This makes the mmc structure smaller as well as conserving
    code space (in theory).

    All in-tree drivers are converted as well; this is done in a
    single patch in order to not break git bisect.

    Changes since V1:
    Fix compilation b0rked issue on omap platforms where OMAP_GPIO was
    not set.

    Signed-off-by: Pantelis Antoniou

    Pantelis Antoniou
     

23 Mar, 2014

3 commits

  • For some time we have been using the run_command() with properly crafted
    string. Such approach turned to be unreliable and error prone.

    Switch to "native" mmc subsystem API would allow better type checking and
    shall improve speed.

    Also, it seems that this API is changing less often than u-boot commands.
    The approach similar to env operations on the eMMC has been reused.

    Signed-off-by: Lukasz Majewski

    Łukasz Majewski
     
  • on nand flash using ubi, after the download of the new image into
    the flash, the "rest" of the nand sectors get erased while flushing
    the medium. With current u-boot version dfu-util may show:

    Starting download: [##################################################] finished!
    state(7) = dfuMANIFEST, status(0) = No error condition is present
    unable to read DFU status

    as get_status is not answered while erasing sectors, if erasing
    needs some time.

    So do the following changes to prevent this:

    - introduce dfuManifest state
    According to dfu specification
    ( http://www.usb.org/developers/devclass_docs/usbdfu10.pdf ) section 7:
    "the device enters the dfuMANIFEST-SYNC state and awaits the solicitation
    of the status report by the host. Upon receipt of the anticipated
    DFU_GETSTATUS, the device enters the dfuMANIFEST state, where it
    completes its reprogramming operations."

    - when stepping into dfuManifest state, sending a PollTimeout
    DFU_MANIFEST_POLL_TIMEOUT in ms, to the host, so the host
    (dfu-util) waits the PollTimeout before sending a get_status again.

    Signed-off-by: Heiko Schocher
    Cc: Lukasz Majewski
    Cc: Kyungmin Park
    Cc: Marek Vasut
    Cc: Pantelis Antoniou

    Heiko Schocher
     
  • move the flushing code into an extra function dfu_flush(),
    so it can be used from other code.

    Signed-off-by: Heiko Schocher
    Cc: Lukasz Majewski
    Cc: Kyungmin Park
    Cc: Marek Vasut
    Cc: Pantelis Antoniou

    Heiko Schocher
     

18 Mar, 2014

11 commits

  • This function is needed when CONFIG_OF_SPI is defined.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • It is useful for Cltl-C to be handled by U-Boot as it is on other boards.
    But it is also useful to be able to terminate U-Boot with Ctrl-C.

    Add an option to enable signals while in raw mode, and make this the
    default. Add an option to leave the terminal cooked, which is useful for
    redirecting output.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • The i2s code is in fact Samsung-specific, but there might be other
    implementation. Move this code into its own file. This makes it slightly
    more obviously how to adjust the code to support another SoC, when someone
    takes this task on.

    Also drop non-FDT support, since it isn't used on Exynos 5.

    Tested-by: Che-Liang Chiou
    Signed-off-by: Simon Glass

    Simon Glass
     
  • Add a simple LCD driver which uses SDL to display the image. We update the
    image regularly, while still providing for reasonable performance.

    Adjust the common lcd code to support sandbox.

    For command-line runs we do not want the LCD to be displayed, so add a
    --show_lcd option to enable it.

    Tested-by: Che-Liang Chiou
    Signed-off-by: Simon Glass

    Simon Glass
     
  • Add a sound driver for sandbox, which uses SDL.

    Tested-by: Che-Liang Chiou
    Signed-off-by: Simon Glass

    Simon Glass
     
  • The Chrome EC has a feature where you can access its I2C buses through a
    pass-through arrangement. Add a command to support this, and export the
    function for it also.

    Reviewed-by: Vadim Bendebury
    Signed-off-by: Simon Glass

    Simon Glass
     
  • Add a simple emulation of the Chrome OS EC for sandbox, so that it can
    perform various EC tasks such as keyboard handling.

    Reviewed-by: Vadim Bendebury
    Signed-off-by: Simon Glass

    Simon Glass
     
  • Due to signed/unsigned comparison, '< sizeof(struct)' does not do the right
    thing, since if ec_command() returns a -ve number we will consider this be
    success.

    Adjust all comparisons to avoid this problem.

    This error was found with sandbox, which gives a segfault in this case. On
    ARM we may instead silently fail.

    We should also consider turning on -Wsign-compare to catch this sort of thing
    in future.

    Reviewed-by: Andrew Chew
    Reviewed-by: Simon Glass
    Reviewed-by: Vadim Bendebury
    Tested-by: Andrew Chew
    Signed-off-by: Simon Glass
    Signed-off-by: Jimmy Zhang

    Simon Glass
     
  • Protocol version 3 will be attempted first; if the EC doesn't support
    it, u-boot will fall back to the old protocol version (2).

    Reviewed-by: Simon Glass
    Signed-off-by: Randall Spangler
    Signed-off-by: Simon Glass

    Randall Spangler
     
  • Protocol v2 was shipped with snow, link and spring. Protocol v3 is for
    pit and is targetted at SPI operation.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Version 1 protocols (without command version) were already no longer
    supported in cros_ec.c. This removes some dead code from the
    cros_ec_i2c driver.

    Version 2 protcols (with command version) are now called
    protocol_version=2, instead of cmd_version_is_supported=1.

    A subsequent change will introduce protocol version 3 for SPI.

    Reviewed-by: Simon Glass
    Signed-off-by: Randall Spangler
    Signed-off-by: Simon Glass

    Randall Spangler