22 Apr, 2014

2 commits


18 Apr, 2014

10 commits


17 Apr, 2014

4 commits

  • Combine the Tegra USB header file into one header file for all SoCs.
    Use ifdef to account for the difference, especially Tegra20 is quite
    different from newer SoCs. This avoids duplication, mainly for
    Tegra30 and newer devices.

    Reviewed-by: Stephen Warren
    Signed-off-by: Stefan Agner
    Signed-off-by: Tom Warren

    Stefan Agner
     
  • On Tegra30 and later, the PTS (parallel transceiver select) and STS
    (serial transceiver select) are part of the HOSTPC1_DEVLC_0 register
    rather than PORTSC1_0 register. Since the reset configuration
    usually matches the intended configuration, this error did not show
    up on Tegra30 devices.

    Also use the slightly different bit fields of first USB, (USBD) on
    Tegra20 and move those definitions to the Tegra20 specific header
    file.

    Reviewed-by: Stephen Warren
    Signed-off-by: Stefan Agner
    Signed-off-by: Tom Warren

    Stefan Agner
     
  • Clear the forced powerdown bit in the UTMIP_PLL_CFG2_0 register
    which brings USB2 in UTMI mode to work. This was clearly missing
    since the forced powerdown bit is set in reset by default for all
    USB ports.

    Acked-by: Stephen Warren
    Signed-off-by: Stefan Agner
    Tested-by: Stephen Warren
    Signed-off-by: Tom Warren

    Stefan Agner
     
  • This renames all the Tegra20 pinmux pins and functions so they have a
    prefix which matches the type name.

    The entries in tegra20_pingroups[] are all updated to remove the columns
    which are no longer used.

    All affected code is updated to match.

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

    Stephen Warren
     

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

2 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