Re: [PATCH 04/10] dt-bindings: mmc: Add RDA SDMMC controller
From: Rob Herring <robh@kernel.org>
Date: 2025-09-22 18:13:25
Also in:
dmaengine, linux-clk, linux-devicetree, linux-gpio, linux-hardening, linux-mmc, lkml
On Fri, Sep 19, 2025 at 01:48:44AM +0700, Dang Huynh wrote:
quoted hunk ↗ jump to hunk
Add documentation describing the SD/MMC controller in RDA Micro RDA8810PL SoC. Signed-off-by: Dang Huynh <redacted> --- Documentation/devicetree/bindings/mmc/rda,mmc.yaml | 92 ++++++++++++++++++++++ 1 file changed, 92 insertions(+)diff --git a/Documentation/devicetree/bindings/mmc/rda,mmc.yaml b/Documentation/devicetree/bindings/mmc/rda,mmc.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f3cda38abd66023ca9bc94d1c29df5ae9e211e7c --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/rda,mmc.yaml@@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mmc/rda,mmc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: RDA Micro SD/MMC Controller + +allOf: + - $ref: mmc-controller.yaml + +maintainers: + - Dang Huynh <dang.huynh@mainlining.org> + +properties: + compatible: + items: + - enum: + - rda,8810pl-mmc + - const: rda,mmc
Drop the generic compatible.
+ + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + const: mclk + + resets: + maxItems: 1 + + dmas: + maxItems: 2 + + dma-names: + items: + - const: tx + - const: rx + + rda,mclk-adj: + $ref: /schemas/types.yaml#/definitions/uint8 + description: + Some board need MCLK output to be delayed for the card to work. + If not present, MCLK output is not delayed. + minimum: 0 + maximum: 255
You can drop the constraints if they are not less than uint8 range. What are the units? I guess 'adj' means adjust. Just use 'rda,mclk-delay' to be more precise.
+
+ rda,mclk-inv:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description:
+ Some board need MCLK to be inverted for the card to work.
+ If not present, MCLK is not inverted.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+ - resets
+ - dmas
+ - dma-names
+ - vmmc-supply
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/clock/rda,8810pl-apclk.h>
+ #include <dt-bindings/dma/rda-ifc.h>
+ mmc@20950000 {
+ compatible = "rda,8810pl-mmc", "rda,mmc";
+ reg = <0x20950000 0x1000>;
+ interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ap_syscon CLK_APB2>;
+ clock-names = "mclk";
+ resets = <&ap_syscon RST_APB2_SDMMC1>;
+ dmas = <&ifc IFC_SDMMC1_TX>, <&ifc IFC_SDMMC1_RX>;
+ dma-names = "tx", "rx";
+ vmmc-supply = <&vdd_sdmmc>;
+ rda,mclk-adj = /bits/ 8 <1>;
+ rda,mclk-inv;
+ };
+
+...
--
2.51.0