1. 04 2月, 2015 3 次提交
    • M
      mmc: pwrseq: add driver for emmc hardware reset · 726b6324
      Marek Szyprowski 提交于
      This patch provides a simple mmc-pwrseq-emmc driver, which controls
      single gpio line. It perform standard eMMC hw reset procedure, as
      descibed by Jedec 4.4 specification. This procedure is performed just
      after MMC core enabled power to the given mmc host (to fix possible
      issues if bootloader has left eMMC card in initialized or unknown
      state), and before performing complete system reboot (also in case of
      emergency reboot call). The latter is needed on boards, which doesn't
      have hardware reset logic connected to emmc card and (limited or broken)
      ROM bootloaders are unable to read second stage from the emmc card if
      the card is left in unknown or already initialized state.
      Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      726b6324
    • A
      mmc: moxart: fix probe logic · 3981c516
      Arnd Bergmann 提交于
      Jonas Jensen wanted to submit a patch for these, but apparently
      forgot about it. I stumbled over this symptom first:
      
      drivers/built-in.o: In function `moxart_probe':
      :(.text+0x2af128): undefined reference to `of_dma_request_slave_channel'
      
      This is because of_dma_request_slave_channel is an internal helper
      and not exported to loadable module. I'm changing the driver to
      use dma_request_slave_channel_reason() instead.
      
      Further problems from inspection:
      
      * The remove function must not call kfree on the host pointer,
        because it is allocated together with the mmc_host.
      
      * The clock is never released
      
      * The dma_cap_mask_t is completely unused and can be removed
      
      * deferred probing does not work if the dma driver is loaded
        after the mmc driver.
      
      This patch should fix all of the above.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NJonas Jensen <jonas.jensen@gmail.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      3981c516
    • U
      mmc: core: Invoke mmc_pwrseq_post_power_on() prior MMC_POWER_ON state · 4febb7e2
      Ulf Hansson 提交于
      Host drivers have different ways to sends their "init stream" to the
      card. Some need to do it as part of a request, some do it from the
      ->set_ios() callback in the MMC_POWER_ON state and some don't send an
      "init stream" at all.
      
      To be able to use the reset GPIOs from the simple MMC power sequence
      provider, the card need to be powered and the "init stream" must not
      have been sent.
      
      To cope with these requirements, invoke mmc_pwrseq_post_power_on()
      prior we change the state to MMC_POWER_ON in mmc_power_up().
      
      Host drivers shall perform power up operations in the MMC_POWER_UP
      state. Unfortunate three hosts (au1xmmc, cb710-mmc and toshsd) don't
      conform to this expectation. Instead those ignore the MMC_POWER_UP
      state and delays their power up operations to the MMC_POWER_ON state.
      
      Those hosts needs to change their behavior to enable proper support for
      the simple MMC power sequence provider.
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Reviewed-by: NJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Tested-by: NJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      4febb7e2
  2. 30 1月, 2015 5 次提交
  3. 29 1月, 2015 8 次提交
  4. 28 1月, 2015 11 次提交
  5. 21 1月, 2015 6 次提交
  6. 20 1月, 2015 7 次提交