1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/samsung,s3c6410-sdhci.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung SoC SDHCI Controller
8
9maintainers:
10  - Jaehoon Chung <jh80.chung@samsung.com>
11  - Krzysztof Kozlowski <krzk@kernel.org>
12
13properties:
14  compatible:
15    enum:
16      - samsung,s3c6410-sdhci
17      - samsung,exynos4210-sdhci
18
19  reg:
20    maxItems: 1
21
22  clocks:
23    minItems: 2
24    maxItems: 5
25
26  clock-names:
27    minItems: 2
28    items:
29      - const: hsmmc
30      - pattern: "^mmc_busclk.[0-3]$"
31      - pattern: "^mmc_busclk.[0-3]$"
32      - pattern: "^mmc_busclk.[0-3]$"
33      - pattern: "^mmc_busclk.[0-3]$"
34
35  interrupts:
36    maxItems: 1
37
38required:
39  - compatible
40  - reg
41  - interrupts
42  - clocks
43  - clock-names
44
45allOf:
46  - $ref: mmc-controller.yaml#
47  - if:
48      properties:
49        compatible:
50          contains:
51            enum:
52              - samsung,exynos4210-sdhci
53    then:
54      properties:
55        clocks:
56          maxItems: 2
57        clock-names:
58          items:
59            - const: hsmmc
60            - const: mmc_busclk.2
61
62unevaluatedProperties: false
63
64examples:
65  - |
66    #include <dt-bindings/clock/exynos4.h>
67    #include <dt-bindings/gpio/gpio.h>
68    #include <dt-bindings/interrupt-controller/arm-gic.h>
69
70    mmc@12510000 {
71        compatible = "samsung,exynos4210-sdhci";
72        reg = <0x12510000 0x100>;
73        interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
74        clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>;
75        clock-names = "hsmmc", "mmc_busclk.2";
76        bus-width = <4>;
77        cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
78        pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
79        pinctrl-names = "default";
80        vmmc-supply = <&ldo21_reg>;
81    };
82