11 May, 2018

2 commits


07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

02 May, 2018

1 commit

  • Some IP-core implementations of the SDHCI have different troubles on the
    silicon where they are placed.

    On ZYNQ platform for example Xilinx doesn't accept the hold timing of an
    eMMC chip which operates in High-Speed mode and must be forced to
    operate in non high-speed mode. To get rid of this
    "SDHCI_QUIRK_BROKEN_HISPD_MODE" is introduced.

    For more details about this refer to the Xilinx answer-recor #59999
    https://www.xilinx.com/support/answers/59999.html

    This commit:
    - doesn't set HISPD bit on the host-conroller
    - reflects this fact within the host-controller capabilities

    Upon this the layer above (mmc-driver) can setup the card correctly.

    Otherwise the MMC card will be switched into high-speed mode and causes
    possible timing violation on the host-controller side.

    Signed-off-by: Hannes Schmelzer

    Signed-off-by: Hannes Schmelzer

    Hannes Schmelzer
     

17 Aug, 2017

1 commit


25 Jan, 2017

1 commit

  • Some SDHCI drivers might need to do some special controller configuration
    after the common clock set_ios() function has been called (speed / width
    configuration). This patch adds a call to the newly created function
    set_ios_port() when its configured in the host driver.

    This will be used by the Xenon SDHCI controller driver used on the
    Marvell Armada 3700 and 7k/8k ARM64 SoCs.

    Signed-off-by: Stefan Roese
    Cc: Jaehoon Chung
    Cc: Simon Glass
    Reviewed-by: Jaehoon Chung

    Stefan Roese
     

23 Jan, 2017

1 commit


11 Jan, 2017

5 commits


20 Sep, 2016

1 commit


16 Aug, 2016

1 commit

  • Convert the driver to the driver model while retaining the existing
    legacy code. This allows the driver to support boards that have
    converted to driver model as well as those that have not.

    Signed-off-by: Wenyou Yang
    Reviewed-by: Simon Glass
    Reviewed-by: Jaehoon Chung
    Reviewed-by: Heiko Schocher

    Wenyou Yang
     

05 Aug, 2016

2 commits


12 Jul, 2016

1 commit


26 Apr, 2016

1 commit


30 Jan, 2015

1 commit


08 Apr, 2014

1 commit


24 Mar, 2014

1 commit

  • 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
     

12 Mar, 2014

1 commit


18 Sep, 2013

1 commit


24 Jul, 2013

1 commit


28 Nov, 2012

1 commit

  • Bring in the code from Linux kernel.

    Added to Linux kernel by:
    commit e08c1694d9e2138204f2b79b73f0f159074ce2f5
    Author: Andres Salomon
    Date: Fri Jul 4 10:00:03 2008 -0700

    Some HW balks when writing both voltage setting and power up at the same
    time to SDHCI_POWER_CONTROL register.

    Signed-off-by: Rommel G Custodio
    CC: Andy Fleming

    v2: fix attribution and SOB
    Signed-off-by: Andy Fleming

    Mela Custodio
     

22 Oct, 2012

1 commit

  • MMC host controller requires a delay between every sdhci_send_cmd()
    execution. In s5p_mmc driver (s5p_sdhci replaces this driver), a delay
    of 1000us was provided after every mmc_send_cmd() call. Adding a quirk
    in current sdhci driver to replicate the behaviour.

    Without this delay, MMC initialization on Origen board fails with
    following error messages.

    Timeout for status update!
    mmc fail to send stop cmd

    Signed-off-by: Tushar Behera
    Signed-off-by: Jaehoon Chung
    Signed-off-by: Andy Fleming

    Tushar Behera
     

06 Sep, 2012

2 commits


09 May, 2012

2 commits

  • To support the Samsung-SoC, added the basically functions.
    Samsung-SoC didn't used the SDHCI_CTRL_HISPD.
    And added set_control_reg callback for s3c64xx.

    Signed-off-by: Jaehoon Chung
    Signed-off-by: Kyungmin Park
    Acked-by: Lei Wen

    Jaehoon Chung
     
  • When response type is R1b, mask value is added the SDHCI_INT_DAT_END.
    but in while(), didn't check that flag.
    So sdhci controller didn't work fine.
    CMD6 didn't always complete.

    So add the quirks for broken r1b response
    and add the timeout value to prevent the infinite loop.

    Signed-off-by: Jaehoon Chung
    Signed-off-by: Kyungmin Park
    Acked-by: Lei Wen

    Jaehoon Chung
     

26 Nov, 2011

1 commit


03 Nov, 2011

2 commits

  • So that sdhci host would tell in the driver that the mmc current
    attributes.

    Signed-off-by: Lei Wen

    Lei Wen
     
  • If CONFIG_MMC_SDHCI_IO_ACCESSORS is defined, the following warning would
    shows up:

    include/sdhci.h:224: warning: 'struct sdhci_host' declared inside
    parameter list
    include/sdhci.h:224: warning: its scope is only this definition or
    declaration, which is probably not what you want
    include/sdhci.h:225: warning: 'struct sdhci_host' declared inside
    parameter list
    include/sdhci.h:226: warning: 'struct sdhci_host' declared inside
    parameter list
    include/sdhci.h:227: warning: 'struct sdhci_host' declared inside
    parameter list
    include/sdhci.h:228: warning: 'struct sdhci_host' declared inside
    parameter list
    include/sdhci.h:229: warning: 'struct sdhci_host' declared inside
    parameter list

    Signed-off-by: Lei Wen

    Lei Wen
     

16 Jul, 2011

1 commit

  • Nowdays, there are plenty of mmc driver in uboot adopt the sd standard
    host design, aka as sdhci. It is better to centralize the common logic
    together to better maintenance.

    Signed-off-by: Lei Wen
    Acked-by: Andy Fleming

    Lei Wen