xref: /freebsd-src/sys/contrib/device-tree/Bindings/mmc/sdhci-pxa.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/mmc/sdhci-pxa.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadottitle: Marvell PXA SDHCI v1/v2/v3
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Ulf Hansson <ulf.hansson@linaro.org>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel VadotallOf:
13c66ec88fSEmmanuel Vadot  - $ref: mmc-controller.yaml#
14c66ec88fSEmmanuel Vadot  - if:
15c66ec88fSEmmanuel Vadot      properties:
16c66ec88fSEmmanuel Vadot        compatible:
17c66ec88fSEmmanuel Vadot          contains:
18c66ec88fSEmmanuel Vadot            const: marvell,armada-380-sdhci
19c66ec88fSEmmanuel Vadot    then:
20c66ec88fSEmmanuel Vadot      properties:
21*8d13bc63SEmmanuel Vadot        reg:
22c66ec88fSEmmanuel Vadot          minItems: 3
23c66ec88fSEmmanuel Vadot        reg-names:
24c66ec88fSEmmanuel Vadot          minItems: 3
25c66ec88fSEmmanuel Vadot      required:
26c66ec88fSEmmanuel Vadot        - reg-names
27c66ec88fSEmmanuel Vadot    else:
28c66ec88fSEmmanuel Vadot      properties:
29*8d13bc63SEmmanuel Vadot        reg:
30c66ec88fSEmmanuel Vadot          maxItems: 1
31c66ec88fSEmmanuel Vadot        reg-names:
32c66ec88fSEmmanuel Vadot          maxItems: 1
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadotproperties:
35c66ec88fSEmmanuel Vadot  compatible:
36c66ec88fSEmmanuel Vadot    enum:
37cb7aa33aSEmmanuel Vadot      - mrvl,pxav1-mmc
38c66ec88fSEmmanuel Vadot      - mrvl,pxav2-mmc
39c66ec88fSEmmanuel Vadot      - mrvl,pxav3-mmc
40c66ec88fSEmmanuel Vadot      - marvell,armada-380-sdhci
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  reg:
43c66ec88fSEmmanuel Vadot    minItems: 1
44c66ec88fSEmmanuel Vadot    maxItems: 3
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot  reg-names:
47c66ec88fSEmmanuel Vadot    items:
48c66ec88fSEmmanuel Vadot      - const: sdhci
49c66ec88fSEmmanuel Vadot      - const: mbus
50c66ec88fSEmmanuel Vadot      - const: conf-sdio3
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel Vadot  interrupts:
53c66ec88fSEmmanuel Vadot    maxItems: 1
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot  clocks:
56c66ec88fSEmmanuel Vadot    minItems: 1
57c66ec88fSEmmanuel Vadot    maxItems: 2
58c66ec88fSEmmanuel Vadot
59c66ec88fSEmmanuel Vadot  clock-names:
60c66ec88fSEmmanuel Vadot    minItems: 1
61c66ec88fSEmmanuel Vadot    items:
62c66ec88fSEmmanuel Vadot      - const: io
63c66ec88fSEmmanuel Vadot      - const: core
64c66ec88fSEmmanuel Vadot
65cb7aa33aSEmmanuel Vadot  pinctrl-names:
66cb7aa33aSEmmanuel Vadot    description:
67cb7aa33aSEmmanuel Vadot      Optional for supporting PXA168 SDIO IRQ errata to switch CMD pin between
68cb7aa33aSEmmanuel Vadot      SDIO CMD and GPIO mode.
69cb7aa33aSEmmanuel Vadot    items:
70cb7aa33aSEmmanuel Vadot      - const: default
71cb7aa33aSEmmanuel Vadot      - const: state_cmd_gpio
72cb7aa33aSEmmanuel Vadot
73cb7aa33aSEmmanuel Vadot  pinctrl-0:
74cb7aa33aSEmmanuel Vadot    description:
75cb7aa33aSEmmanuel Vadot      Should contain default pinctrl.
76cb7aa33aSEmmanuel Vadot
77cb7aa33aSEmmanuel Vadot  pinctrl-1:
78cb7aa33aSEmmanuel Vadot    description:
79cb7aa33aSEmmanuel Vadot      Should switch CMD pin to GPIO mode as a high output.
80cb7aa33aSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot  mrvl,clk-delay-cycles:
82c66ec88fSEmmanuel Vadot    description: Specify a number of cycles to delay for tuning.
83c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadotrequired:
86c66ec88fSEmmanuel Vadot  - compatible
87c66ec88fSEmmanuel Vadot  - reg
88c66ec88fSEmmanuel Vadot  - interrupts
89c66ec88fSEmmanuel Vadot  - clocks
90c66ec88fSEmmanuel Vadot  - clock-names
91c66ec88fSEmmanuel Vadot
926be33864SEmmanuel VadotunevaluatedProperties: false
936be33864SEmmanuel Vadot
94c66ec88fSEmmanuel Vadotexamples:
95c66ec88fSEmmanuel Vadot  - |
96c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/berlin2.h>
97c66ec88fSEmmanuel Vadot    mmc@d4280800 {
98c66ec88fSEmmanuel Vadot        compatible = "mrvl,pxav3-mmc";
99c66ec88fSEmmanuel Vadot        reg = <0xd4280800 0x800>;
100c66ec88fSEmmanuel Vadot        bus-width = <8>;
101c66ec88fSEmmanuel Vadot        interrupts = <27>;
102c66ec88fSEmmanuel Vadot        clocks = <&chip CLKID_SDIO1XIN>, <&chip CLKID_SDIO1>;
103c66ec88fSEmmanuel Vadot        clock-names = "io", "core";
104c66ec88fSEmmanuel Vadot        non-removable;
105c66ec88fSEmmanuel Vadot        mrvl,clk-delay-cycles = <31>;
106c66ec88fSEmmanuel Vadot    };
107c66ec88fSEmmanuel Vadot  - |
108c66ec88fSEmmanuel Vadot    mmc@d8000 {
109c66ec88fSEmmanuel Vadot        compatible = "marvell,armada-380-sdhci";
110c66ec88fSEmmanuel Vadot        reg-names = "sdhci", "mbus", "conf-sdio3";
111c66ec88fSEmmanuel Vadot        reg = <0xd8000 0x1000>,
112c66ec88fSEmmanuel Vadot              <0xdc000 0x100>,
113c66ec88fSEmmanuel Vadot              <0x18454 0x4>;
114c66ec88fSEmmanuel Vadot        interrupts = <0 25 0x4>;
115c66ec88fSEmmanuel Vadot        clocks = <&gateclk 17>;
116c66ec88fSEmmanuel Vadot        clock-names = "io";
117c66ec88fSEmmanuel Vadot        mrvl,clk-delay-cycles = <0x1F>;
118c66ec88fSEmmanuel Vadot    };
119c66ec88fSEmmanuel Vadot
120c66ec88fSEmmanuel Vadot...
121