Commit 1f140286 authored by Frank Li's avatar Frank Li Committed by Ulf Hansson
Browse files

dt-bindings: mmc: Convert fsl-esdhc.txt to yaml



Convert layerscape fsl-esdhc binding doc from txt to yaml format.

Addtional change during convert:
- Deprecate "sdhci,wp-inverted", "sdhci,1-bit-only".
- Add "reg" and "interrupts" property.
- Change example "sdhci@2e000" to "mmc@2e000".
- Compatible string require fsl,<chip>-esdhc followed by fsl,esdhc to match
most existed dts file.
- Set clock-frequency to 100mhz in example.
- clock-frequency is not required now.
- Allow dma-coherence
- Add clocks

Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20240613-ls_waring_esdhc-v5-2-36644e2fe21c@nxp.com


Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent ce4f2199
Loading
Loading
Loading
Loading
+105 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mmc/fsl,esdhc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale Enhanced Secure Digital Host Controller (eSDHC)

description:
  The Enhanced Secure Digital Host Controller provides an interface
  for MMC, SD, and SDIO types of memory cards.

maintainers:
  - Frank Li <Frank.Li@nxp.com>

properties:
  compatible:
    items:
      - enum:
          - fsl,mpc8536-esdhc
          - fsl,mpc8378-esdhc
          - fsl,p2020-esdhc
          - fsl,p4080-esdhc
          - fsl,t1040-esdhc
          - fsl,t4240-esdhc
          - fsl,ls1012a-esdhc
          - fsl,ls1028a-esdhc
          - fsl,ls1088a-esdhc
          - fsl,ls1043a-esdhc
          - fsl,ls1046a-esdhc
          - fsl,ls2080a-esdhc
      - const: fsl,esdhc

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-frequency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: specifies eSDHC base clock frequency.

  sdhci,wp-inverted:
    $ref: /schemas/types.yaml#/definitions/flag
    deprecated: true
    description:
      specifies that eSDHC controller reports
      inverted write-protect state; New devices should use the generic
      "wp-inverted" property.

  sdhci,1-bit-only:
    $ref: /schemas/types.yaml#/definitions/flag
    deprecated: true
    description:
      specifies that a controller can only handle
      1-bit data transfers. New devices should use the generic
      "bus-width = <1>" property.

  sdhci,auto-cmd12:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      specifies that a controller can only handle auto CMD12.

  voltage-ranges:
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    items:
      items:
        - description: specifies minimum slot voltage (mV).
        - description: specifies maximum slot voltage (mV).
    minItems: 1
    maxItems: 8

  dma-coherent: true

  little-endian:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      If the host controller is little-endian mode, specify
      this property. The default endian mode is big-endian.

required:
  - compatible
  - reg
  - interrupts

allOf:
  - $ref: sdhci-common.yaml#

unevaluatedProperties: false

examples:
  - |
    mmc@2e000 {
        compatible = "fsl,mpc8378-esdhc", "fsl,esdhc";
        reg = <0x2e000 0x1000>;
        interrupts = <42 0x8>;
        interrupt-parent = <&ipic>;
        /* Filled in by U-Boot */
        clock-frequency = <100000000>;
        voltage-ranges = <3300 3300>;
    };
+0 −52
Original line number Diff line number Diff line
* Freescale Enhanced Secure Digital Host Controller (eSDHC)

The Enhanced Secure Digital Host Controller 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 driver.

Required properties:
  - compatible : should be "fsl,esdhc", or "fsl,<chip>-esdhc".
    Possible compatibles for PowerPC:
	"fsl,mpc8536-esdhc"
	"fsl,mpc8378-esdhc"
	"fsl,p2020-esdhc"
	"fsl,p4080-esdhc"
	"fsl,t1040-esdhc"
	"fsl,t4240-esdhc"
    Possible compatibles for ARM:
	"fsl,ls1012a-esdhc"
	"fsl,ls1028a-esdhc"
	"fsl,ls1088a-esdhc"
	"fsl,ls1043a-esdhc"
	"fsl,ls1046a-esdhc"
	"fsl,ls2080a-esdhc"
  - clock-frequency : specifies eSDHC base clock frequency.

Optional properties:
  - sdhci,wp-inverted : specifies that eSDHC controller reports
    inverted write-protect state; New devices should use the generic
    "wp-inverted" property.
  - sdhci,1-bit-only : specifies that a controller can only handle
    1-bit data transfers. New devices should use the generic
    "bus-width = <1>" property.
  - sdhci,auto-cmd12: specifies that a controller can only handle auto
    CMD12.
  - voltage-ranges : two cells are required, first cell specifies minimum
    slot voltage (mV), second cell specifies maximum slot voltage (mV).
    Several ranges could be specified.
  - little-endian : If the host controller is little-endian mode, specify
    this property. The default endian mode is big-endian.

Example:

sdhci@2e000 {
	compatible = "fsl,mpc8378-esdhc", "fsl,esdhc";
	reg = <0x2e000 0x1000>;
	interrupts = <42 0x8>;
	interrupt-parent = <&ipic>;
	/* Filled in by U-Boot */
	clock-frequency = <0>;
	voltage-ranges = <3300 3300>;
};