1*ea049a03SNeil Armstrong# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*ea049a03SNeil Armstrong%YAML 1.2 3*ea049a03SNeil Armstrong--- 4*ea049a03SNeil Armstrong$id: http://devicetree.org/schemas/mmc/amlogic,meson-mx-sdio.yaml# 5*ea049a03SNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ea049a03SNeil Armstrong 7*ea049a03SNeil Armstrongtitle: Amlogic Meson6, Meson8 and Meson8b SDIO/MMC controller 8*ea049a03SNeil Armstrong 9*ea049a03SNeil Armstrongdescription: | 10*ea049a03SNeil Armstrong The highspeed MMC host controller on Amlogic SoCs provides an interface 11*ea049a03SNeil Armstrong for MMC, SD, SDIO and SDHC types of memory cards. 12*ea049a03SNeil Armstrong 13*ea049a03SNeil Armstrong Supported maximum speeds are the ones of the eMMC standard 4.41 as well 14*ea049a03SNeil Armstrong as the speed of SD standard 2.0. 15*ea049a03SNeil Armstrong 16*ea049a03SNeil Armstrong The hardware provides an internal "mux" which allows up to three slots 17*ea049a03SNeil Armstrong to be controlled. Only one slot can be accessed at a time. 18*ea049a03SNeil Armstrong 19*ea049a03SNeil Armstrongmaintainers: 20*ea049a03SNeil Armstrong - Neil Armstrong <neil.armstrong@linaro.org> 21*ea049a03SNeil Armstrong 22*ea049a03SNeil Armstrongproperties: 23*ea049a03SNeil Armstrong compatible: 24*ea049a03SNeil Armstrong items: 25*ea049a03SNeil Armstrong - enum: 26*ea049a03SNeil Armstrong - amlogic,meson8-sdio 27*ea049a03SNeil Armstrong - amlogic,meson8b-sdio 28*ea049a03SNeil Armstrong - const: amlogic,meson-mx-sdio 29*ea049a03SNeil Armstrong 30*ea049a03SNeil Armstrong reg: 31*ea049a03SNeil Armstrong maxItems: 1 32*ea049a03SNeil Armstrong 33*ea049a03SNeil Armstrong interrupts: 34*ea049a03SNeil Armstrong maxItems: 1 35*ea049a03SNeil Armstrong 36*ea049a03SNeil Armstrong clocks: 37*ea049a03SNeil Armstrong maxItems: 2 38*ea049a03SNeil Armstrong 39*ea049a03SNeil Armstrong clock-names: 40*ea049a03SNeil Armstrong items: 41*ea049a03SNeil Armstrong - const: core 42*ea049a03SNeil Armstrong - const: clkin 43*ea049a03SNeil Armstrong 44*ea049a03SNeil Armstrong "#address-cells": 45*ea049a03SNeil Armstrong const: 1 46*ea049a03SNeil Armstrong 47*ea049a03SNeil Armstrong "#size-cells": 48*ea049a03SNeil Armstrong const: 0 49*ea049a03SNeil Armstrong 50*ea049a03SNeil ArmstrongpatternProperties: 51*ea049a03SNeil Armstrong "slot@[0-2]$": 52*ea049a03SNeil Armstrong $ref: mmc-slot.yaml# 53*ea049a03SNeil Armstrong description: 54*ea049a03SNeil Armstrong A node for each slot provided by the MMC controller 55*ea049a03SNeil Armstrong 56*ea049a03SNeil Armstrong properties: 57*ea049a03SNeil Armstrong reg: 58*ea049a03SNeil Armstrong enum: [0, 1, 2] 59*ea049a03SNeil Armstrong 60*ea049a03SNeil Armstrong bus-width: 61*ea049a03SNeil Armstrong enum: [1, 4] 62*ea049a03SNeil Armstrong 63*ea049a03SNeil Armstrong unevaluatedProperties: false 64*ea049a03SNeil Armstrong 65*ea049a03SNeil Armstrongrequired: 66*ea049a03SNeil Armstrong - compatible 67*ea049a03SNeil Armstrong - reg 68*ea049a03SNeil Armstrong - interrupts 69*ea049a03SNeil Armstrong - clocks 70*ea049a03SNeil Armstrong - clock-names 71*ea049a03SNeil Armstrong - "#address-cells" 72*ea049a03SNeil Armstrong - "#size-cells" 73*ea049a03SNeil Armstrong 74*ea049a03SNeil ArmstrongadditionalProperties: false 75*ea049a03SNeil Armstrong 76*ea049a03SNeil Armstrongexamples: 77*ea049a03SNeil Armstrong - | 78*ea049a03SNeil Armstrong #include <dt-bindings/interrupt-controller/irq.h> 79*ea049a03SNeil Armstrong #include <dt-bindings/interrupt-controller/arm-gic.h> 80*ea049a03SNeil Armstrong mmc@c1108c20 { 81*ea049a03SNeil Armstrong compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio"; 82*ea049a03SNeil Armstrong reg = <0xc1108c20 0x20>; 83*ea049a03SNeil Armstrong interrupts = <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>; 84*ea049a03SNeil Armstrong clocks = <&clk_core>, <&clk_in>; 85*ea049a03SNeil Armstrong clock-names = "core", "clkin"; 86*ea049a03SNeil Armstrong #address-cells = <1>; 87*ea049a03SNeil Armstrong #size-cells = <0>; 88*ea049a03SNeil Armstrong 89*ea049a03SNeil Armstrong slot@1 { 90*ea049a03SNeil Armstrong compatible = "mmc-slot"; 91*ea049a03SNeil Armstrong reg = <1>; 92*ea049a03SNeil Armstrong bus-width = <4>; 93*ea049a03SNeil Armstrong }; 94*ea049a03SNeil Armstrong }; 95