18dbdf23aSMasahiro Yamada# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
28dbdf23aSMasahiro Yamada%YAML 1.2
38dbdf23aSMasahiro Yamada---
48dbdf23aSMasahiro Yamada$id: http://devicetree.org/schemas/mmc/socionext,uniphier-sd.yaml#
58dbdf23aSMasahiro Yamada$schema: http://devicetree.org/meta-schemas/core.yaml#
68dbdf23aSMasahiro Yamada
78dbdf23aSMasahiro Yamadatitle: UniPhier SD/SDIO/eMMC controller
88dbdf23aSMasahiro Yamada
98dbdf23aSMasahiro Yamadamaintainers:
108dbdf23aSMasahiro Yamada  - Masahiro Yamada <yamada.masahiro@socionext.com>
118dbdf23aSMasahiro Yamada
128dbdf23aSMasahiro Yamadaproperties:
138dbdf23aSMasahiro Yamada  compatible:
148dbdf23aSMasahiro Yamada    description: version 2.91, 3.1, 3.1.1, respectively
158dbdf23aSMasahiro Yamada    enum:
168dbdf23aSMasahiro Yamada      - socionext,uniphier-sd-v2.91
178dbdf23aSMasahiro Yamada      - socionext,uniphier-sd-v3.1
188dbdf23aSMasahiro Yamada      - socionext,uniphier-sd-v3.1.1
198dbdf23aSMasahiro Yamada
208dbdf23aSMasahiro Yamada  reg:
218dbdf23aSMasahiro Yamada    maxItems: 1
228dbdf23aSMasahiro Yamada
238dbdf23aSMasahiro Yamada  interrupts:
248dbdf23aSMasahiro Yamada    maxItems: 1
258dbdf23aSMasahiro Yamada
268dbdf23aSMasahiro Yamada  clocks:
278dbdf23aSMasahiro Yamada    maxItems: 1
288dbdf23aSMasahiro Yamada
298dbdf23aSMasahiro Yamada  reset-names:
308dbdf23aSMasahiro Yamada    description: |
318dbdf23aSMasahiro Yamada      There are three reset signals at maximum
328dbdf23aSMasahiro Yamada        host:   mandatory for all variants
338dbdf23aSMasahiro Yamada        bridge: exist only for version 2.91
348dbdf23aSMasahiro Yamada        hw:     optional. exist if eMMC hw reset line is available
358dbdf23aSMasahiro Yamada    oneOf:
368dbdf23aSMasahiro Yamada      - const: host
378dbdf23aSMasahiro Yamada      - items:
388dbdf23aSMasahiro Yamada          - const: host
398dbdf23aSMasahiro Yamada          - const: bridge
408dbdf23aSMasahiro Yamada      - items:
418dbdf23aSMasahiro Yamada          - const: host
428dbdf23aSMasahiro Yamada          - const: hw
438dbdf23aSMasahiro Yamada      - items:
448dbdf23aSMasahiro Yamada          - const: host
458dbdf23aSMasahiro Yamada          - const: bridge
468dbdf23aSMasahiro Yamada          - const: hw
478dbdf23aSMasahiro Yamada
488dbdf23aSMasahiro Yamada  resets:
498dbdf23aSMasahiro Yamada    minItems: 1
508dbdf23aSMasahiro Yamada    maxItems: 3
518dbdf23aSMasahiro Yamada
528dbdf23aSMasahiro YamadaallOf:
538dbdf23aSMasahiro Yamada  - $ref: mmc-controller.yaml
548dbdf23aSMasahiro Yamada
558dbdf23aSMasahiro Yamada  - if:
568dbdf23aSMasahiro Yamada      properties:
578dbdf23aSMasahiro Yamada        compatible:
588dbdf23aSMasahiro Yamada          contains:
598dbdf23aSMasahiro Yamada            const: socionext,uniphier-sd-v2.91
608dbdf23aSMasahiro Yamada    then:
618dbdf23aSMasahiro Yamada      properties:
628dbdf23aSMasahiro Yamada        reset-names:
638dbdf23aSMasahiro Yamada          contains:
648dbdf23aSMasahiro Yamada            const: bridge
658dbdf23aSMasahiro Yamada    else:
668dbdf23aSMasahiro Yamada      properties:
678dbdf23aSMasahiro Yamada        reset-names:
688dbdf23aSMasahiro Yamada          not:
698dbdf23aSMasahiro Yamada            contains:
708dbdf23aSMasahiro Yamada              const: bridge
718dbdf23aSMasahiro Yamada
728dbdf23aSMasahiro Yamadarequired:
738dbdf23aSMasahiro Yamada  - compatible
748dbdf23aSMasahiro Yamada  - reg
758dbdf23aSMasahiro Yamada  - interrupts
768dbdf23aSMasahiro Yamada  - clocks
778dbdf23aSMasahiro Yamada  - reset-names
788dbdf23aSMasahiro Yamada  - resets
798dbdf23aSMasahiro Yamada
806fdc6e23SRob HerringunevaluatedProperties: false
816fdc6e23SRob Herring
828dbdf23aSMasahiro Yamadaexamples:
838dbdf23aSMasahiro Yamada  - |
848dbdf23aSMasahiro Yamada    sd: mmc@5a400000 {
858dbdf23aSMasahiro Yamada        compatible = "socionext,uniphier-sd-v2.91";
868dbdf23aSMasahiro Yamada        reg = <0x5a400000 0x200>;
878dbdf23aSMasahiro Yamada        interrupts = <0 76 4>;
888dbdf23aSMasahiro Yamada        pinctrl-names = "default", "uhs";
898dbdf23aSMasahiro Yamada        pinctrl-0 = <&pinctrl_sd>;
908dbdf23aSMasahiro Yamada        pinctrl-1 = <&pinctrl_sd_uhs>;
918dbdf23aSMasahiro Yamada        clocks = <&mio_clk 0>;
928dbdf23aSMasahiro Yamada        reset-names = "host", "bridge";
938dbdf23aSMasahiro Yamada        resets = <&mio_rst 0>, <&mio_rst 3>;
948dbdf23aSMasahiro Yamada        dma-names = "rx-tx";
958dbdf23aSMasahiro Yamada        dmas = <&dmac 4>;
968dbdf23aSMasahiro Yamada        bus-width = <4>;
978dbdf23aSMasahiro Yamada        cap-sd-highspeed;
988dbdf23aSMasahiro Yamada        sd-uhs-sdr12;
998dbdf23aSMasahiro Yamada        sd-uhs-sdr25;
1008dbdf23aSMasahiro Yamada        sd-uhs-sdr50;
1018dbdf23aSMasahiro Yamada    };
102