1354c6d33SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2354c6d33SKrzysztof Kozlowski%YAML 1.2 3354c6d33SKrzysztof Kozlowski--- 4354c6d33SKrzysztof Kozlowski$id: http://devicetree.org/schemas/mmc/samsung,exynos-dw-mshc.yaml# 5354c6d33SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6354c6d33SKrzysztof Kozlowski 7354c6d33SKrzysztof Kozlowskititle: 8354c6d33SKrzysztof Kozlowski Samsung Exynos SoC specific extensions to the Synopsys Designware Mobile 9354c6d33SKrzysztof Kozlowski Storage Host Controller 10354c6d33SKrzysztof Kozlowski 11354c6d33SKrzysztof Kozlowskimaintainers: 12354c6d33SKrzysztof Kozlowski - Jaehoon Chung <jh80.chung@samsung.com> 13354c6d33SKrzysztof Kozlowski - Krzysztof Kozlowski <krzk@kernel.org> 14354c6d33SKrzysztof Kozlowski 15354c6d33SKrzysztof Kozlowskiproperties: 16354c6d33SKrzysztof Kozlowski compatible: 17354c6d33SKrzysztof Kozlowski enum: 18354c6d33SKrzysztof Kozlowski - samsung,exynos4210-dw-mshc 19354c6d33SKrzysztof Kozlowski - samsung,exynos4412-dw-mshc 20354c6d33SKrzysztof Kozlowski - samsung,exynos5250-dw-mshc 21354c6d33SKrzysztof Kozlowski - samsung,exynos5420-dw-mshc 22*ca812a4eSKrzysztof Kozlowski - samsung,exynos5420-dw-mshc-smu 23354c6d33SKrzysztof Kozlowski - samsung,exynos7-dw-mshc 24354c6d33SKrzysztof Kozlowski - samsung,exynos7-dw-mshc-smu 25354c6d33SKrzysztof Kozlowski - axis,artpec8-dw-mshc 26354c6d33SKrzysztof Kozlowski 27354c6d33SKrzysztof Kozlowski reg: 28354c6d33SKrzysztof Kozlowski maxItems: 1 29354c6d33SKrzysztof Kozlowski 30354c6d33SKrzysztof Kozlowski interrupts: 31354c6d33SKrzysztof Kozlowski maxItems: 1 32354c6d33SKrzysztof Kozlowski 33354c6d33SKrzysztof Kozlowski clocks: 34354c6d33SKrzysztof Kozlowski maxItems: 2 35354c6d33SKrzysztof Kozlowski description: 36354c6d33SKrzysztof Kozlowski Handle to "biu" and "ciu" clocks for the 37354c6d33SKrzysztof Kozlowski bus interface unit clock and the card interface unit clock. 38354c6d33SKrzysztof Kozlowski 39354c6d33SKrzysztof Kozlowski clock-names: 40354c6d33SKrzysztof Kozlowski items: 41354c6d33SKrzysztof Kozlowski - const: biu 42354c6d33SKrzysztof Kozlowski - const: ciu 43354c6d33SKrzysztof Kozlowski 44354c6d33SKrzysztof Kozlowski samsung,dw-mshc-ciu-div: 45354c6d33SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 46354c6d33SKrzysztof Kozlowski minimum: 0 47354c6d33SKrzysztof Kozlowski maximum: 7 48354c6d33SKrzysztof Kozlowski description: 49354c6d33SKrzysztof Kozlowski The divider value for the card interface unit (ciu) clock. 50354c6d33SKrzysztof Kozlowski 51354c6d33SKrzysztof Kozlowski samsung,dw-mshc-ddr-timing: 52354c6d33SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 53354c6d33SKrzysztof Kozlowski items: 54354c6d33SKrzysztof Kozlowski - description: CIU clock phase shift value for tx mode 55354c6d33SKrzysztof Kozlowski minimum: 0 56354c6d33SKrzysztof Kozlowski maximum: 7 57354c6d33SKrzysztof Kozlowski - description: CIU clock phase shift value for rx mode 58354c6d33SKrzysztof Kozlowski minimum: 0 59354c6d33SKrzysztof Kozlowski maximum: 7 60354c6d33SKrzysztof Kozlowski description: 61354c6d33SKrzysztof Kozlowski The value of CUI clock phase shift value in transmit mode and CIU clock 62354c6d33SKrzysztof Kozlowski phase shift value in receive mode for double data rate mode operation. 63354c6d33SKrzysztof Kozlowski See also samsung,dw-mshc-hs400-timing property. 64354c6d33SKrzysztof Kozlowski 65354c6d33SKrzysztof Kozlowski samsung,dw-mshc-hs400-timing: 66354c6d33SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 67354c6d33SKrzysztof Kozlowski items: 68354c6d33SKrzysztof Kozlowski - description: CIU clock phase shift value for tx mode 69354c6d33SKrzysztof Kozlowski minimum: 0 70354c6d33SKrzysztof Kozlowski maximum: 7 71354c6d33SKrzysztof Kozlowski - description: CIU clock phase shift value for rx mode 72354c6d33SKrzysztof Kozlowski minimum: 0 73354c6d33SKrzysztof Kozlowski maximum: 7 74354c6d33SKrzysztof Kozlowski description: | 75354c6d33SKrzysztof Kozlowski The value of CIU TX and RX clock phase shift value for HS400 mode 76354c6d33SKrzysztof Kozlowski operation. 77354c6d33SKrzysztof Kozlowski Valid values for SDR and DDR CIU clock timing:: 78354c6d33SKrzysztof Kozlowski - valid value for tx phase shift and rx phase shift is 0 to 7. 79354c6d33SKrzysztof Kozlowski - when CIU clock divider value is set to 3, all possible 8 phase shift 80354c6d33SKrzysztof Kozlowski values can be used. 81354c6d33SKrzysztof Kozlowski - if CIU clock divider value is 0 (that is divide by 1), both tx and rx 82354c6d33SKrzysztof Kozlowski phase shift clocks should be 0. 83354c6d33SKrzysztof Kozlowski If missing, values from samsung,dw-mshc-ddr-timing property are used. 84354c6d33SKrzysztof Kozlowski 85354c6d33SKrzysztof Kozlowski samsung,dw-mshc-sdr-timing: 86354c6d33SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 87354c6d33SKrzysztof Kozlowski items: 88354c6d33SKrzysztof Kozlowski - description: CIU clock phase shift value for tx mode 89354c6d33SKrzysztof Kozlowski minimum: 0 90354c6d33SKrzysztof Kozlowski maximum: 7 91354c6d33SKrzysztof Kozlowski - description: CIU clock phase shift value for rx mode 92354c6d33SKrzysztof Kozlowski minimum: 0 93354c6d33SKrzysztof Kozlowski maximum: 7 94354c6d33SKrzysztof Kozlowski description: 95354c6d33SKrzysztof Kozlowski The value of CIU clock phase shift value in transmit mode and CIU clock 96354c6d33SKrzysztof Kozlowski phase shift value in receive mode for single data rate mode operation. 97354c6d33SKrzysztof Kozlowski See also samsung,dw-mshc-hs400-timing property. 98354c6d33SKrzysztof Kozlowski 99354c6d33SKrzysztof Kozlowski samsung,read-strobe-delay: 100354c6d33SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 101354c6d33SKrzysztof Kozlowski description: 102354c6d33SKrzysztof Kozlowski RCLK (Data strobe) delay to control HS400 mode (Latency value for delay 103354c6d33SKrzysztof Kozlowski line in Read path). If missing, default from hardware is used. 104354c6d33SKrzysztof Kozlowski 105354c6d33SKrzysztof Kozlowskirequired: 106354c6d33SKrzysztof Kozlowski - compatible 107354c6d33SKrzysztof Kozlowski - reg 108354c6d33SKrzysztof Kozlowski - interrupts 109354c6d33SKrzysztof Kozlowski - clocks 110354c6d33SKrzysztof Kozlowski - clock-names 111354c6d33SKrzysztof Kozlowski - samsung,dw-mshc-ddr-timing 112354c6d33SKrzysztof Kozlowski - samsung,dw-mshc-sdr-timing 113354c6d33SKrzysztof Kozlowski 114354c6d33SKrzysztof KozlowskiallOf: 115354c6d33SKrzysztof Kozlowski - $ref: "synopsys-dw-mshc-common.yaml#" 116354c6d33SKrzysztof Kozlowski - if: 117354c6d33SKrzysztof Kozlowski properties: 118354c6d33SKrzysztof Kozlowski compatible: 119354c6d33SKrzysztof Kozlowski contains: 120354c6d33SKrzysztof Kozlowski enum: 121354c6d33SKrzysztof Kozlowski - samsung,exynos5250-dw-mshc 122354c6d33SKrzysztof Kozlowski - samsung,exynos5420-dw-mshc 123354c6d33SKrzysztof Kozlowski - samsung,exynos7-dw-mshc 124354c6d33SKrzysztof Kozlowski - samsung,exynos7-dw-mshc-smu 125354c6d33SKrzysztof Kozlowski - axis,artpec8-dw-mshc 126354c6d33SKrzysztof Kozlowski then: 127354c6d33SKrzysztof Kozlowski required: 128354c6d33SKrzysztof Kozlowski - samsung,dw-mshc-ciu-div 129354c6d33SKrzysztof Kozlowski 130354c6d33SKrzysztof KozlowskiunevaluatedProperties: false 131354c6d33SKrzysztof Kozlowski 132354c6d33SKrzysztof Kozlowskiexamples: 133354c6d33SKrzysztof Kozlowski - | 134354c6d33SKrzysztof Kozlowski #include <dt-bindings/clock/exynos5420.h> 135354c6d33SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 136354c6d33SKrzysztof Kozlowski 137354c6d33SKrzysztof Kozlowski mmc@12220000 { 138354c6d33SKrzysztof Kozlowski compatible = "samsung,exynos5420-dw-mshc"; 139354c6d33SKrzysztof Kozlowski interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 140354c6d33SKrzysztof Kozlowski #address-cells = <1>; 141354c6d33SKrzysztof Kozlowski #size-cells = <0>; 142354c6d33SKrzysztof Kozlowski reg = <0x12220000 0x1000>; 143354c6d33SKrzysztof Kozlowski clocks = <&clock CLK_MMC2>, <&clock CLK_SCLK_MMC2>; 144354c6d33SKrzysztof Kozlowski clock-names = "biu", "ciu"; 145354c6d33SKrzysztof Kozlowski fifo-depth = <0x40>; 146354c6d33SKrzysztof Kozlowski card-detect-delay = <200>; 147354c6d33SKrzysztof Kozlowski samsung,dw-mshc-ciu-div = <3>; 148354c6d33SKrzysztof Kozlowski samsung,dw-mshc-sdr-timing = <0 4>; 149354c6d33SKrzysztof Kozlowski samsung,dw-mshc-ddr-timing = <0 2>; 150354c6d33SKrzysztof Kozlowski pinctrl-names = "default"; 151354c6d33SKrzysztof Kozlowski pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_wp &sd2_bus1 &sd2_bus4>; 152354c6d33SKrzysztof Kozlowski bus-width = <4>; 153354c6d33SKrzysztof Kozlowski cap-sd-highspeed; 154354c6d33SKrzysztof Kozlowski max-frequency = <200000000>; 155354c6d33SKrzysztof Kozlowski vmmc-supply = <&ldo19_reg>; 156354c6d33SKrzysztof Kozlowski vqmmc-supply = <&ldo13_reg>; 157354c6d33SKrzysztof Kozlowski sd-uhs-sdr50; 158354c6d33SKrzysztof Kozlowski sd-uhs-sdr104; 159354c6d33SKrzysztof Kozlowski sd-uhs-ddr50; 160354c6d33SKrzysztof Kozlowski }; 161