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