Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1645375 > unrolled thread
| Started by | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| First post | 2017-05-19 10:40 +0200 |
| Last post | 2017-05-22 14:30 +0200 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH 00/41] omap_hsmmc: Add ADMA support and UHS/HS200/DDR support Kishon Vijay Abraham I <kishon@ti.com> - 2017-05-19 10:40 +0200
[PATCH 07/41] mmc: host: omap_hsmmc: Allow io voltage switch even for fixed vdd Kishon Vijay Abraham I <kishon@ti.com> - 2017-05-19 12:20 +0200
Re: [PATCH 00/41] omap_hsmmc: Add ADMA support and UHS/HS200/DDR support Tony Lindgren <tony@atomide.com> - 2017-05-20 00:20 +0200
Re: [PATCH 00/41] omap_hsmmc: Add ADMA support and UHS/HS200/DDR support Kishon Vijay Abraham I <kishon@ti.com> - 2017-05-22 14:30 +0200
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2017-05-19 10:40 +0200 |
| Subject | [PATCH 00/41] omap_hsmmc: Add ADMA support and UHS/HS200/DDR support |
| Message-ID | <tILiF-7O7-5@gated-at.bofh.it> |
This series adds UHS, HS200, DDR mode and ADMA support to
omap_hsmmc driver used to improve the throughput of MMC/SD in dra7
SoCs.
The functionality implemented in this series was sent before ([1]) but
was never followed up since supporting high speed modes in dra7 required
IODelay values to be configured. With IODelay driver being merged into
kernel, sending it as a fresh series with support for configuring IODelay
values.
Suggestions of migrating to sdhci driver (from omap_hsmmc driver) is not
addressed since
*) tuning ratio of MMC in dra7 is different from sdhci
*) IOdelay is required for dra7
*) GPIO based card detect is not supported in sdhci
*) Some of the registers don't always have correct values as in sdhci
(like PSTATE).
Supporting all of these in sdhci will result in adding lot of quirks in
sdhci driver.
This series has been tested on beagleboard, pandaboard, beaglebone-black,
beaglebone, am335x-evm, am437x-evm, dra7xx-evm, dra72x-evm, am571x-idk
and am572x-idk.
I can split the series to go into Ulf Hansson's tree and Tony's tree
separately if that is required.
[1] -> https://lkml.org/lkml/2015/8/25/213
Balaji T K (1):
mmc: host: omap_hsmmc: Add voltage switch support for UHS SD card
Kishon Vijay Abraham I (30):
mmc: host: omap_hsmmc: Support pbias and vmmc_aux to switch to 1.8v
mmc: host: omap_hsmmc: Separate setting voltage capabilities from bus
power
mmc: host: omap_hsmmc: Program HCTL based on signal_voltage set by mmc
core
mmc: host: omap_hsmmc: Set clk rate to the max frequency
mmc: host: omap_hsmmc: Add tuning support
mmc: host: omap_hsmmc: Allow io voltage switch even for fixed vdd
mmc: host: omap_hsmmc: Remove incorrect voltage switch sequence
mmc: host: omap_hsmmc: Prepare *set_timing() to be used for iodelay
setting
mmc: host: omap_hsmmc: Add new compatible string to support dra7
mmc: host: omap_hsmmc: Fix error path sequence
mmc: host: omap_hsmmc: Add support to set IODELAY values
mmc: host: omap_hsmmc: Remove *use_dma* member
mmc: host: omap_hsmmc: Enable ADMA2
ARM: dts: dra72-evm: Add vmmc_aux supply to mmc1
ARM: dts: dra72-evm-revc: Add vmmc_aux supply to mmc1
ARM: dts: am57xx-beagle-x15-revb1: Fix supply name used for MMC1 IO
lines
ARM: dts: dra7-evm: Add pinmux configuration for MMC
ARM: dts: am57xx-beagle-x15: Add pinmux configuration for MMC
ARM: dts: am571x-idk: Add pinmux configuration for MMC
ARM: dts: am572x-idk: Add pinmux configuration for MMC
ARM: dts: dra72-evm: Add pinmux configuration for MMC
ARM: dts: dra72-evm-revc: Add pinmux configuration for MMC
ARM: dts: dra71-evm: Add pinmux configuration for MMC
ARM: dts: dra7: Add "max-frequency" property to MMC dt nodes
ARM: dts: dra7: Use new dra7-specific compatible string
ARM: dts: dra7: Add supported MMC/SD modes in MMC dt nodes
ARM: dts: am57xx-beagle-x15-common: Set MMC2 IO voltage to 3.3V
ARM: omap2plus_defconfig: Enable PINCTRL_TI_IODELAY
ARM: multi_v7_defconfig: Enable PINCTRL_TI_IODELAY
Documentation: ARM: Document new dependencies for MMC on DRA7
Mugunthan V N (1):
mmc: host: omap_hsmmc: Add software timer when timeout greater than
hardware capablility
Ravikumar Kattekola (2):
ARM: dts: dra7-evm: Correct the vmmc-supply for mmc2
ARM: dts: dra72-evm-common: Correct vmmc-supply for mmc2
Sekhar Nori (6):
mmc: omap_hsmmc: Support non-1.8V IO controllers
ARM: dts: dra72x: Create a common file with MMC/SD IOdelay data
ARM: dts: dra74x: Create a common file with MMC/SD IOdelay data
ARM: dts: am57xx-idk: Move common MMC/SD properties to common file
ARM: dts: am57xx-idk: Set MMC2 IO voltage to 3.3V
ARM: OMAP2+: Add pdata-quirks for MMC/SD on DRA74x EVM
Tony Lindgren (1):
ARM: dts: Add dra7 iodelay configuration
Documentation/arm/OMAP/README | 4 +
.../devicetree/bindings/mmc/ti-omap-hsmmc.txt | 6 +
arch/arm/boot/dts/am571x-idk.dts | 27 +-
arch/arm/boot/dts/am572x-idk.dts | 27 +-
arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi | 30 +-
arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts | 18 +-
arch/arm/boot/dts/am57xx-beagle-x15.dts | 17 +
arch/arm/boot/dts/am57xx-idk-common.dtsi | 10 +
arch/arm/boot/dts/dra7-evm.dts | 28 +-
arch/arm/boot/dts/dra7.dtsi | 35 +-
arch/arm/boot/dts/dra71-evm.dts | 28 +
arch/arm/boot/dts/dra72-evm-common.dtsi | 2 -
arch/arm/boot/dts/dra72-evm-revc.dts | 32 +
arch/arm/boot/dts/dra72-evm.dts | 32 +
arch/arm/boot/dts/dra72x-mmc-iodelay.dtsi | 350 ++++++
arch/arm/boot/dts/dra74x-mmc-iodelay.dtsi | 648 +++++++++++
arch/arm/configs/multi_v7_defconfig | 1 +
arch/arm/configs/omap2plus_defconfig | 1 +
arch/arm/mach-omap2/pdata-quirks.c | 31 +
drivers/mmc/host/omap_hsmmc.c | 1158 ++++++++++++++++----
include/dt-bindings/pinctrl/dra.h | 3 +
include/linux/platform_data/hsmmc-omap.h | 10 +
22 files changed, 2256 insertions(+), 242 deletions(-)
create mode 100644 arch/arm/boot/dts/dra72x-mmc-iodelay.dtsi
create mode 100644 arch/arm/boot/dts/dra74x-mmc-iodelay.dtsi
--
2.11.0
[toc] | [next] | [standalone]
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2017-05-19 12:20 +0200 |
| Subject | [PATCH 07/41] mmc: host: omap_hsmmc: Allow io voltage switch even for fixed vdd |
| Message-ID | <tINaN-JU-3@gated-at.bofh.it> |
| In reply to | #1645375 |
Now that vmmc regulator is made optional, do not bail out if vmmc regulator is not found. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> --- drivers/mmc/host/omap_hsmmc.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index d8970a7ff4be..d47ef51fbe51 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -416,13 +416,6 @@ static int omap_hsmmc_set_power(struct omap_hsmmc_host *host, int power_on, if (mmc_pdata(host)->set_power) return mmc_pdata(host)->set_power(host->dev, power_on, iov); - /* - * If we don't see a Vcc regulator, assume it's a fixed - * voltage always-on regulator. - */ - if (!mmc->supply.vmmc) - return 0; - if (mmc_pdata(host)->before_set_reg) mmc_pdata(host)->before_set_reg(host->dev, power_on, iov); -- 2.11.0
[toc] | [prev] | [next] | [standalone]
| From | Tony Lindgren <tony@atomide.com> |
|---|---|
| Date | 2017-05-20 00:20 +0200 |
| Subject | Re: [PATCH 00/41] omap_hsmmc: Add ADMA support and UHS/HS200/DDR support |
| Message-ID | <tIYpA-8J-7@gated-at.bofh.it> |
| In reply to | #1645375 |
Hi,
* Kishon Vijay Abraham I <kishon@ti.com> [170519 01:19]:
> This series adds UHS, HS200, DDR mode and ADMA support to
> omap_hsmmc driver used to improve the throughput of MMC/SD in dra7
> SoCs.
Certainly seems way less intrusive than earlier before the
dmaengine changes :)
> *) tuning ratio of MMC in dra7 is different from sdhci
Hmm what's the tuning ratio?
> This series has been tested on beagleboard, pandaboard, beaglebone-black,
> beaglebone, am335x-evm, am437x-evm, dra7xx-evm, dra72x-evm, am571x-idk
> and am572x-idk.
I gave this a quick try after manally applying next-20170519
after reverting 67d0687224a9 ("mm: drop HASH_ADAPT"). Looks like
something is missing as I got:
arch/arm/mach-omap2/pdata-quirks.c:445:23: error:
'struct omap_hsmmc_platform_data' has no member named 'version'
...
It's possible I messed up something while manually applying.
> I can split the series to go into Ulf Hansson's tree and Tony's tree
> separately if that is required.
Yes please. Maybe send the dts parts first that are ready to
get merged, like the fixes and all the iodelay configuration.
Then the mmc driver changes as a separate set.
Then third set to follow-up and enable things once the mmc
driver changes are merged.
Regards,
Tony
[toc] | [prev] | [next] | [standalone]
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2017-05-22 14:30 +0200 |
| Subject | Re: [PATCH 00/41] omap_hsmmc: Add ADMA support and UHS/HS200/DDR support |
| Message-ID | <tJUDg-5Es-3@gated-at.bofh.it> |
| In reply to | #1645981 |
Hi,
On Saturday 20 May 2017 03:43 AM, Tony Lindgren wrote:
> Hi,
>
> * Kishon Vijay Abraham I <kishon@ti.com> [170519 01:19]:
>> This series adds UHS, HS200, DDR mode and ADMA support to
>> omap_hsmmc driver used to improve the throughput of MMC/SD in dra7
>> SoCs.
>
> Certainly seems way less intrusive than earlier before the
> dmaengine changes :)
>
>> *) tuning ratio of MMC in dra7 is different from sdhci
>
> Hmm what's the tuning ratio?
For high speed modes like UHS SDR104 and HS200, sampling clock has to adjusted
according to the position of the data window and it varies depending on the
host and the card.
For this we configure the controller with phase delay from 0 to 0x7c (in steps
of 4) and send the tuning command (CMD19 or CMD21) for which the card responds
with a known pattern. We keep track of the phase delay's for which we received
the known patterns (without errors) and select one of the phase delays (3/4th
ratio from largest consecutive successful phase delay window).
sdhci driver makes use of the HW feature for tuning (no manual setting of phase
delays etc). Sdhci has an ops for platform specific tuning but that again has
to be implemented in omap_hsmmc driver.
>
>> This series has been tested on beagleboard, pandaboard, beaglebone-black,
>> beaglebone, am335x-evm, am437x-evm, dra7xx-evm, dra72x-evm, am571x-idk
>> and am572x-idk.
>
> I gave this a quick try after manally applying next-20170519
> after reverting 67d0687224a9 ("mm: drop HASH_ADAPT"). Looks like
> something is missing as I got:
>
> arch/arm/mach-omap2/pdata-quirks.c:445:23: error:
> 'struct omap_hsmmc_platform_data' has no member named 'version'
> ...
>
> It's possible I messed up something while manually applying.
[PATCH 13/41] mmc: host: omap_hsmmc: Add support to set IODELAY values adds
version member to 'struct omap_hsmmc_platform_data'.
>
>> I can split the series to go into Ulf Hansson's tree and Tony's tree
>> separately if that is required.
>
> Yes please. Maybe send the dts parts first that are ready to
> get merged, like the fixes and all the iodelay configuration.
>
> Then the mmc driver changes as a separate set.
>
> Then third set to follow-up and enable things once the mmc
> driver changes are merged.
Sure.
Thanks
Kishon
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web