Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 # Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
0003 %YAML 1.2
0004 ---
0005 $id: "http://devicetree.org/schemas/mmc/sdhci-am654.yaml#"
0006 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0007 
0008 title: TI AM654 MMC Controller
0009 
0010 maintainers:
0011   - Ulf Hansson <ulf.hansson@linaro.org>
0012 
0013 allOf:
0014   - $ref: mmc-controller.yaml#
0015 
0016 properties:
0017   compatible:
0018     oneOf:
0019       - const: ti,am654-sdhci-5.1
0020       - const: ti,j721e-sdhci-8bit
0021       - const: ti,j721e-sdhci-4bit
0022       - const: ti,am64-sdhci-8bit
0023       - const: ti,am64-sdhci-4bit
0024       - const: ti,am62-sdhci
0025       - items:
0026           - const: ti,j7200-sdhci-8bit
0027           - const: ti,j721e-sdhci-8bit
0028       - items:
0029           - const: ti,j7200-sdhci-4bit
0030           - const: ti,j721e-sdhci-4bit
0031 
0032   reg:
0033     maxItems: 2
0034 
0035   interrupts:
0036     maxItems: 1
0037 
0038   power-domains:
0039     maxItems: 1
0040 
0041   clocks:
0042     minItems: 1
0043     maxItems: 2
0044     description: Handles to input clocks
0045 
0046   clock-names:
0047     minItems: 1
0048     items:
0049       - const: clk_ahb
0050       - const: clk_xin
0051 
0052   sdhci-caps-mask: true
0053 
0054   # PHY output tap delays:
0055   # Used to delay the data valid window and align it to the sampling clock.
0056   # Binding needs to be provided for each supported speed mode otherwise the
0057   # corresponding mode will be disabled.
0058 
0059   ti,otap-del-sel-legacy:
0060     description: Output tap delay for SD/MMC legacy timing
0061     $ref: "/schemas/types.yaml#/definitions/uint32"
0062     minimum: 0
0063     maximum: 0xf
0064 
0065   ti,otap-del-sel-mmc-hs:
0066     description: Output tap delay for MMC high speed timing
0067     $ref: "/schemas/types.yaml#/definitions/uint32"
0068     minimum: 0
0069     maximum: 0xf
0070 
0071   ti,otap-del-sel-sd-hs:
0072     description: Output tap delay for SD high speed timing
0073     $ref: "/schemas/types.yaml#/definitions/uint32"
0074     minimum: 0
0075     maximum: 0xf
0076 
0077   ti,otap-del-sel-sdr12:
0078     description: Output tap delay for SD UHS SDR12 timing
0079     $ref: "/schemas/types.yaml#/definitions/uint32"
0080     minimum: 0
0081     maximum: 0xf
0082 
0083   ti,otap-del-sel-sdr25:
0084     description: Output tap delay for SD UHS SDR25 timing
0085     $ref: "/schemas/types.yaml#/definitions/uint32"
0086     minimum: 0
0087     maximum: 0xf
0088 
0089   ti,otap-del-sel-sdr50:
0090     description: Output tap delay for SD UHS SDR50 timing
0091     $ref: "/schemas/types.yaml#/definitions/uint32"
0092     minimum: 0
0093     maximum: 0xf
0094 
0095   ti,otap-del-sel-sdr104:
0096     description: Output tap delay for SD UHS SDR104 timing
0097     $ref: "/schemas/types.yaml#/definitions/uint32"
0098     minimum: 0
0099     maximum: 0xf
0100 
0101   ti,otap-del-sel-ddr50:
0102     description: Output tap delay for SD UHS DDR50 timing
0103     $ref: "/schemas/types.yaml#/definitions/uint32"
0104     minimum: 0
0105     maximum: 0xf
0106 
0107   ti,otap-del-sel-ddr52:
0108     description: Output tap delay for eMMC DDR52 timing
0109     $ref: "/schemas/types.yaml#/definitions/uint32"
0110     minimum: 0
0111     maximum: 0xf
0112 
0113   ti,otap-del-sel-hs200:
0114     description: Output tap delay for eMMC HS200 timing
0115     $ref: "/schemas/types.yaml#/definitions/uint32"
0116     minimum: 0
0117     maximum: 0xf
0118 
0119   ti,otap-del-sel-hs400:
0120     description: Output tap delay for eMMC HS400 timing
0121     $ref: "/schemas/types.yaml#/definitions/uint32"
0122     minimum: 0
0123     maximum: 0xf
0124 
0125   # PHY input tap delays:
0126   # Used to delay the data valid window and align it to the sampling clock for
0127   # modes that don't support tuning
0128 
0129   ti,itap-del-sel-legacy:
0130     description: Input tap delay for SD/MMC legacy timing
0131     $ref: "/schemas/types.yaml#/definitions/uint32"
0132     minimum: 0
0133     maximum: 0x1f
0134 
0135   ti,itap-del-sel-mmc-hs:
0136     description: Input tap delay for MMC high speed timing
0137     $ref: "/schemas/types.yaml#/definitions/uint32"
0138     minimum: 0
0139     maximum: 0x1f
0140 
0141   ti,itap-del-sel-sd-hs:
0142     description: Input tap delay for SD high speed timing
0143     $ref: "/schemas/types.yaml#/definitions/uint32"
0144     minimum: 0
0145     maximum: 0x1f
0146 
0147   ti,itap-del-sel-sdr12:
0148     description: Input tap delay for SD UHS SDR12 timing
0149     $ref: "/schemas/types.yaml#/definitions/uint32"
0150     minimum: 0
0151     maximum: 0x1f
0152 
0153   ti,itap-del-sel-sdr25:
0154     description: Input tap delay for SD UHS SDR25 timing
0155     $ref: "/schemas/types.yaml#/definitions/uint32"
0156     minimum: 0
0157     maximum: 0x1f
0158 
0159   ti,itap-del-sel-ddr52:
0160     description: Input tap delay for MMC DDR52 timing
0161     $ref: "/schemas/types.yaml#/definitions/uint32"
0162     minimum: 0
0163     maximum: 0x1f
0164 
0165   ti,trm-icp:
0166     description: DLL trim select
0167     $ref: "/schemas/types.yaml#/definitions/uint32"
0168     minimum: 0
0169     maximum: 0xf
0170 
0171   ti,driver-strength-ohm:
0172     description: DLL drive strength in ohms
0173     $ref: "/schemas/types.yaml#/definitions/uint32"
0174     enum:
0175       - 33
0176       - 40
0177       - 50
0178       - 66
0179       - 100
0180 
0181   ti,strobe-sel:
0182     description: strobe select delay for HS400 speed mode.
0183     $ref: "/schemas/types.yaml#/definitions/uint32"
0184 
0185   ti,clkbuf-sel:
0186     description: Clock Delay Buffer Select
0187     $ref: "/schemas/types.yaml#/definitions/uint32"
0188 
0189   ti,fails-without-test-cd:
0190     $ref: /schemas/types.yaml#/definitions/flag
0191     description:
0192       When present, indicates that the CD line is not connected
0193       and the controller is required to be forced into Test mode
0194       to set the TESTCD bit.
0195 
0196 required:
0197   - compatible
0198   - reg
0199   - interrupts
0200   - clocks
0201   - clock-names
0202   - ti,otap-del-sel-legacy
0203 
0204 unevaluatedProperties: false
0205 
0206 examples:
0207   - |
0208     #include <dt-bindings/interrupt-controller/irq.h>
0209     #include <dt-bindings/interrupt-controller/arm-gic.h>
0210 
0211     bus {
0212         #address-cells = <2>;
0213         #size-cells = <2>;
0214 
0215         mmc0: mmc@4f80000 {
0216             compatible = "ti,am654-sdhci-5.1";
0217             reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
0218             power-domains = <&k3_pds 47>;
0219             clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
0220             clock-names = "clk_ahb", "clk_xin";
0221             interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
0222             sdhci-caps-mask = <0x80000007 0x0>;
0223             mmc-ddr-1_8v;
0224             ti,otap-del-sel-legacy = <0x0>;
0225             ti,otap-del-sel-mmc-hs = <0x0>;
0226             ti,otap-del-sel-ddr52 = <0x5>;
0227             ti,otap-del-sel-hs200 = <0x5>;
0228             ti,otap-del-sel-hs400 = <0x0>;
0229             ti,itap-del-sel-legacy = <0x10>;
0230             ti,itap-del-sel-mmc-hs = <0xa>;
0231             ti,itap-del-sel-ddr52 = <0x3>;
0232             ti,trm-icp = <0x8>;
0233         };
0234     };