1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mmc/st,sdhci.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: STMicroelectronics SDHCI-ST MMC/SD Controller 8 9maintainers: 10 - Peter Griffin <peter.griffin@linaro.org> 11 12description: 13 The STMicroelectronics SDHCI-ST MMC/SD host controller is compliant with 14 the SD Host Controller Interface (SDHCI) specification and is used to 15 interface with MMC, SD and SDIO cards. The ST SDHCI controller extends the 16 standard SDHCI capabilities with platform-specific configurations such as 17 additional register regions, clock inputs, and delay control mechanisms 18 required for signal timing adjustments to support high-speed modes across 19 different ST SoCs. 20 21allOf: 22 - $ref: mmc-controller.yaml# 23 - if: 24 properties: 25 reg: 26 minItems: 2 27 required: 28 - reg 29 then: 30 required: 31 - reg-names 32 33properties: 34 compatible: 35 oneOf: 36 - const: st,sdhci 37 - items: 38 - const: st,sdhci-stih407 39 - const: st,sdhci 40 41 reg: 42 minItems: 1 43 items: 44 - description: MMC controller base registers 45 - description: FlashSS Top registers for TX/RX DLL delay configuration 46 47 reg-names: 48 minItems: 1 49 items: 50 - const: mmc 51 - const: top-mmc-delay 52 53 clocks: 54 minItems: 1 55 items: 56 - description: Clock for the MMC controller 57 - description: Interconnect (ICN) clock 58 59 clock-names: 60 minItems: 1 61 items: 62 - const: mmc 63 - const: icn 64 65 interrupts: 66 maxItems: 1 67 68 interrupt-names: 69 const: mmcirq 70 71 resets: 72 maxItems: 1 73 74 max-frequency: 75 enum: [200000000, 100000000, 50000000] 76 default: 50000000 77 78required: 79 - reg 80 - compatible 81 - clocks 82 - clock-names 83 - interrupts 84 - interrupt-names 85 86unevaluatedProperties: false 87 88examples: 89 - | 90 #include <dt-bindings/interrupt-controller/arm-gic.h> 91 #include <dt-bindings/clock/stih407-clks.h> 92 mmc@9060000 { 93 compatible = "st,sdhci-stih407", "st,sdhci"; 94 reg = <0x09060000 0x7ff>, <0x9061008 0x20>; 95 reg-names = "mmc", "top-mmc-delay"; 96 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 97 interrupt-names = "mmcirq"; 98 pinctrl-names = "default"; 99 pinctrl-0 = <&pinctrl_mmc0>; 100 clock-names = "mmc", "icn"; 101 clocks = <&clk_s_c0_flexgen CLK_MMC_0>, 102 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>; 103 bus-width = <8>; 104 }; 105... 106