dt-bindings: mmc: convert amlogic,meson-mx-sdio.txt to dtschema

Convert the Amlogic Meson6, Meson8 and Meson8b SDIO/MMC controller
bindings to dt-schema.

Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Message-ID: <20241128-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-v4-5-11d9f9200a59@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
Neil Armstrong
2024-11-28 16:16:45 +01:00
committed by Ulf Hansson
parent b833f3deb1
commit ea049a037e
2 changed files with 94 additions and 54 deletions

View File

@@ -1,54 +0,0 @@
* Amlogic Meson6, Meson8 and Meson8b SDIO/MMC controller
The highspeed MMC host controller on Amlogic SoCs provides an interface
for MMC, SD, SDIO and SDHC types of memory cards.
Supported maximum speeds are the ones of the eMMC standard 4.41 as well
as the speed of SD standard 2.0.
The hardware provides an internal "mux" which allows up to three slots
to be controlled. Only one slot can be accessed at a time.
Required properties:
- compatible : must be one of
- "amlogic,meson8-sdio"
- "amlogic,meson8b-sdio"
along with the generic "amlogic,meson-mx-sdio"
- reg : mmc controller base registers
- interrupts : mmc controller interrupt
- #address-cells : must be 1
- size-cells : must be 0
- clocks : phandle to clock providers
- clock-names : must contain "core" and "clkin"
Required child nodes:
A node for each slot provided by the MMC controller is required.
NOTE: due to a driver limitation currently only one slot (= child node)
is supported!
Required properties on each child node (= slot):
- compatible : must be "mmc-slot" (see mmc.txt within this directory)
- reg : the slot (or "port") ID
Optional properties on each child node (= slot):
- bus-width : must be 1 or 4 (8-bit bus is not supported)
- for cd and all other additional generic mmc parameters
please refer to mmc.txt within this directory
Examples:
mmc@c1108c20 {
compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio";
reg = <0xc1108c20 0x20>;
interrupts = <0 28 1>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>;
clock-names = "core", "clkin";
slot@1 {
compatible = "mmc-slot";
reg = <1>;
bus-width = <4>;
};
};

View File

@@ -0,0 +1,94 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mmc/amlogic,meson-mx-sdio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Amlogic Meson6, Meson8 and Meson8b SDIO/MMC controller
description: |
The highspeed MMC host controller on Amlogic SoCs provides an interface
for MMC, SD, SDIO and SDHC types of memory cards.
Supported maximum speeds are the ones of the eMMC standard 4.41 as well
as the speed of SD standard 2.0.
The hardware provides an internal "mux" which allows up to three slots
to be controlled. Only one slot can be accessed at a time.
maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
properties:
compatible:
items:
- enum:
- amlogic,meson8-sdio
- amlogic,meson8b-sdio
- const: amlogic,meson-mx-sdio
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
maxItems: 2
clock-names:
items:
- const: core
- const: clkin
"#address-cells":
const: 1
"#size-cells":
const: 0
patternProperties:
"slot@[0-2]$":
$ref: mmc-slot.yaml#
description:
A node for each slot provided by the MMC controller
properties:
reg:
enum: [0, 1, 2]
bus-width:
enum: [1, 4]
unevaluatedProperties: false
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- "#address-cells"
- "#size-cells"
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
mmc@c1108c20 {
compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio";
reg = <0xc1108c20 0x20>;
interrupts = <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>;
clocks = <&clk_core>, <&clk_in>;
clock-names = "core", "clkin";
#address-cells = <1>;
#size-cells = <0>;
slot@1 {
compatible = "mmc-slot";
reg = <1>;
bus-width = <4>;
};
};