mirror of
https://github.com/torvalds/linux.git
synced 2026-04-21 00:04:01 -04:00
Pull MMC and MEMSTICK updates from Ulf Hansson:
"MMC core:
- A few minor improvements and cleanups
MMC host:
- Remove some redundant calls to local_irq_{save,restore}()
- Replace kmap_atomic() with kmap_local_page()
- Take return values from mmc_add_host() into account
- dw_mmc-pltfm: Add support to configure clk-phase for socfpga
- hsq: Minimize latency by using a fifo to dispatch requests
- litex_mmc: Fixup corner case for polling mode
- mtk-sd: Add inline crypto engine clock control
- mtk-sd: Add support for the mediatek MT7986 variant
- renesas_sdhi: Improve reset from HS400 mode
- renesas_sdhi: Take DMA end interrupts into account
- sdhci: Avoid unnecessary update of clock
- sdhci: Fix an SD tuning issue
- sdhci-brcmst: Add Kamal Dasu as maintainer for the Broadcom driver
- sdhci-esdhc-imx: Improve tuning logic
- sdhci-esdhc-imx: Improve support for the imxrt1050 variant
- sdhci_f_sdh30: Add support for non-removable media
- sdhci_f_sdh30: Add support for the Socionext F_SDH30_E51 variant
- sdhci_f_sdh30: Add reset control support
- sdhci-msm: Add support for the Qcom SM8550/SM8350/SM6375 variants
- sdhci-msm: Add support for the Qcom MSM8976 variant
- sdhci-of-arasan: Add support for dynamic configuration
- sdhci-of-esdhc: Limit the clock frequency to confirm to spec
- sdhci-pci: Enable asynchronous probe
- sdhci-sprd: Improve card detection
- sdhci-tegra: Improve reset support
- sdhci-tegra: Add support to program MC stream ID
- sunplus-mmc: Add new mmc driver for the Sunplus SP7021 controller
- vub300: Fix warning splat for SDIO irq
MEMSTICK core:
- memstick: A few minor improvements and cleanups
CLK/IOMMU:
- clk: socfpga: Drop redundant support for clk-phase for the SD/MMC clk
- iommu: Add tegra specific helper to get stream_id"
* tag 'mmc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (108 commits)
mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K
mmc: sdhci-of-esdhc: Modify mismatched function name
memstick/mspro_block: Convert to use sysfs_emit()/sysfs_emit_at() APIs
mmc: sdhci-tegra: Issue CMD and DAT resets together
mmc: sdhci-tegra: Add support to program MC stream ID
mmc: sdhci-tegra: Separate Tegra194 and Tegra234 SoC data
mmc: sdhci-tegra: Sort includes alphabetically
iommu/tegra: Add tegra_dev_iommu_get_stream_id() helper
iommu: Add note about struct iommu_fwspec usage
mmc: sdhci-brcmstb: Resolve "unused" warnings with CONFIG_OF=n
dt-bindings: mmc: sdhci-msm: allow dma-coherent
dt-bindings: mmc: sdhci-msm: drop properties mentioned in common MMC
dt-bindings: mmc: sdhci-msm: cleanup style
dt-bindings: mmc: sdhci-am654: cleanup style
dt-bindings: mmc: sdhci: document sdhci-caps and sdhci-caps-mask
mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
MAINTAINERS: Update maintainer for SDHCI Broadcom BRCMSTB driver
mmc: sdhci-of-esdhc: limit the SDHC clock frequency
mmc: sdhci: Remove unneeded semicolon
mmc: core: Normalize the error handling branch in sd_read_ext_regs()
...
194 lines
5.5 KiB
YAML
194 lines
5.5 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mmc/fsl-imx-esdhc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Freescale Enhanced Secure Digital Host Controller (eSDHC) for i.MX
|
|
|
|
maintainers:
|
|
- Shawn Guo <shawnguo@kernel.org>
|
|
|
|
allOf:
|
|
- $ref: "mmc-controller.yaml"
|
|
|
|
description: |
|
|
The Enhanced Secure Digital Host Controller on Freescale i.MX family
|
|
provides an interface for MMC, SD, and SDIO types of memory cards.
|
|
|
|
This file documents differences between the core properties described
|
|
by mmc.txt and the properties used by the sdhci-esdhc-imx driver.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- fsl,imx25-esdhc
|
|
- fsl,imx35-esdhc
|
|
- fsl,imx51-esdhc
|
|
- fsl,imx53-esdhc
|
|
- fsl,imx6q-usdhc
|
|
- fsl,imx6sl-usdhc
|
|
- fsl,imx6sll-usdhc
|
|
- fsl,imx6sx-usdhc
|
|
- fsl,imx6ull-usdhc
|
|
- fsl,imx7d-usdhc
|
|
- fsl,imx7ulp-usdhc
|
|
- fsl,imx8mm-usdhc
|
|
- fsl,imxrt1050-usdhc
|
|
- nxp,s32g2-usdhc
|
|
- items:
|
|
- enum:
|
|
- fsl,imx8mq-usdhc
|
|
- const: fsl,imx7d-usdhc
|
|
- items:
|
|
- enum:
|
|
- fsl,imx8mn-usdhc
|
|
- fsl,imx8mp-usdhc
|
|
- fsl,imx93-usdhc
|
|
- fsl,imx8ulp-usdhc
|
|
- const: fsl,imx8mm-usdhc
|
|
- items:
|
|
- enum:
|
|
- fsl,imx8dxl-usdhc
|
|
- fsl,imx8qm-usdhc
|
|
- const: fsl,imx8qxp-usdhc
|
|
- items:
|
|
- enum:
|
|
- fsl,imx8mm-usdhc
|
|
- fsl,imx8mn-usdhc
|
|
- fsl,imx8mp-usdhc
|
|
- fsl,imx8qm-usdhc
|
|
- fsl,imx8qxp-usdhc
|
|
- const: fsl,imx7d-usdhc
|
|
deprecated: true
|
|
- items:
|
|
- enum:
|
|
- fsl,imx8mn-usdhc
|
|
- fsl,imx8mp-usdhc
|
|
- const: fsl,imx8mm-usdhc
|
|
- const: fsl,imx7d-usdhc
|
|
deprecated: true
|
|
- items:
|
|
- enum:
|
|
- fsl,imx8dxl-usdhc
|
|
- fsl,imx8qm-usdhc
|
|
- const: fsl,imx8qxp-usdhc
|
|
- const: fsl,imx7d-usdhc
|
|
deprecated: true
|
|
- items:
|
|
- enum:
|
|
- fsl,imxrt1170-usdhc
|
|
- const: fsl,imxrt1050-usdhc
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
fsl,wp-controller:
|
|
description: |
|
|
boolean, if present, indicate to use controller internal write protection.
|
|
type: boolean
|
|
|
|
fsl,delay-line:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: |
|
|
Specify the number of delay cells for override mode.
|
|
This is used to set the clock delay for DLL(Delay Line) on override mode
|
|
to select a proper data sampling window in case the clock quality is not good
|
|
due to signal path is too long on the board. Please refer to eSDHC/uSDHC
|
|
chapter, DLL (Delay Line) section in RM for details.
|
|
default: 0
|
|
|
|
voltage-ranges:
|
|
$ref: '/schemas/types.yaml#/definitions/uint32-matrix'
|
|
description: |
|
|
Specify the voltage range in case there are software transparent level
|
|
shifters on the outputs of the controller. Two cells are required, first
|
|
cell specifies minimum slot voltage (mV), second cell specifies maximum
|
|
slot voltage (mV).
|
|
items:
|
|
items:
|
|
- description: value for minimum slot voltage
|
|
- description: value for maximum slot voltage
|
|
maxItems: 1
|
|
|
|
fsl,tuning-start-tap:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: |
|
|
Specify the start delay cell point when send first CMD19 in tuning procedure.
|
|
default: 0
|
|
|
|
fsl,tuning-step:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: |
|
|
Specify the increasing delay cell steps in tuning procedure.
|
|
The uSDHC use one delay cell as default increasing step to do tuning process.
|
|
This property allows user to change the tuning step to more than one delay
|
|
cells which is useful for some special boards or cards when the default
|
|
tuning step can't find the proper delay window within limited tuning retries.
|
|
default: 0
|
|
|
|
fsl,strobe-dll-delay-target:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: |
|
|
Specify the strobe dll control slave delay target.
|
|
This delay target programming host controller loopback read clock, and this
|
|
property allows user to change the delay target for the strobe input read clock.
|
|
If not use this property, driver default set the delay target to value 7.
|
|
Only eMMC HS400 mode need to take care of this property.
|
|
default: 0
|
|
|
|
clocks:
|
|
maxItems: 3
|
|
description:
|
|
Handle clocks for the sdhc controller.
|
|
|
|
clock-names:
|
|
items:
|
|
- const: ipg
|
|
- const: ahb
|
|
- const: per
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
pinctrl-names:
|
|
oneOf:
|
|
- minItems: 3
|
|
items:
|
|
- const: default
|
|
- const: state_100mhz
|
|
- const: state_200mhz
|
|
- const: sleep
|
|
- minItems: 1
|
|
items:
|
|
- const: default
|
|
- const: sleep
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
mmc@70004000 {
|
|
compatible = "fsl,imx51-esdhc";
|
|
reg = <0x70004000 0x4000>;
|
|
interrupts = <1>;
|
|
fsl,wp-controller;
|
|
};
|
|
|
|
mmc@70008000 {
|
|
compatible = "fsl,imx51-esdhc";
|
|
reg = <0x70008000 0x4000>;
|
|
interrupts = <2>;
|
|
cd-gpios = <&gpio1 6 0>; /* GPIO1_6 */
|
|
wp-gpios = <&gpio1 5 0>; /* GPIO1_5 */
|
|
};
|