| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/mmc/st,sdhci.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: STMicroelectronics SDHCI-ST MMC/SD Controller |
| |
| maintainers: |
| - Peter Griffin <peter.griffin@linaro.org> |
| |
| description: |
| The STMicroelectronics SDHCI-ST MMC/SD host controller is compliant with |
| the SD Host Controller Interface (SDHCI) specification and is used to |
| interface with MMC, SD and SDIO cards. The ST SDHCI controller extends the |
| standard SDHCI capabilities with platform-specific configurations such as |
| additional register regions, clock inputs, and delay control mechanisms |
| required for signal timing adjustments to support high-speed modes across |
| different ST SoCs. |
| |
| allOf: |
| - $ref: mmc-controller.yaml# |
| - if: |
| properties: |
| reg: |
| minItems: 2 |
| required: |
| - reg |
| then: |
| required: |
| - reg-names |
| |
| properties: |
| compatible: |
| oneOf: |
| - const: st,sdhci |
| - items: |
| - const: st,sdhci-stih407 |
| - const: st,sdhci |
| |
| reg: |
| minItems: 1 |
| items: |
| - description: MMC controller base registers |
| - description: FlashSS Top registers for TX/RX DLL delay configuration |
| |
| reg-names: |
| minItems: 1 |
| items: |
| - const: mmc |
| - const: top-mmc-delay |
| |
| clocks: |
| minItems: 1 |
| items: |
| - description: Clock for the MMC controller |
| - description: Interconnect (ICN) clock |
| |
| clock-names: |
| minItems: 1 |
| items: |
| - const: mmc |
| - const: icn |
| |
| interrupts: |
| maxItems: 1 |
| |
| interrupt-names: |
| const: mmcirq |
| |
| resets: |
| maxItems: 1 |
| |
| max-frequency: |
| enum: [200000000, 100000000, 50000000] |
| default: 50000000 |
| |
| required: |
| - reg |
| - compatible |
| - clocks |
| - clock-names |
| - interrupts |
| - interrupt-names |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/clock/stih407-clks.h> |
| mmc@9060000 { |
| compatible = "st,sdhci-stih407", "st,sdhci"; |
| reg = <0x09060000 0x7ff>, <0x9061008 0x20>; |
| reg-names = "mmc", "top-mmc-delay"; |
| interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-names = "mmcirq"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_mmc0>; |
| clock-names = "mmc", "icn"; |
| clocks = <&clk_s_c0_flexgen CLK_MMC_0>, |
| <&clk_s_c0_flexgen CLK_RX_ICN_HVA>; |
| bus-width = <8>; |
| }; |
| ... |