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