162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mmc/samsung,exynos-dw-mshc.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: 862306a36Sopenharmony_ci Samsung Exynos SoC specific extensions to the Synopsys Designware Mobile 962306a36Sopenharmony_ci Storage Host Controller 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_cimaintainers: 1262306a36Sopenharmony_ci - Jaehoon Chung <jh80.chung@samsung.com> 1362306a36Sopenharmony_ci - Krzysztof Kozlowski <krzk@kernel.org> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciproperties: 1662306a36Sopenharmony_ci compatible: 1762306a36Sopenharmony_ci enum: 1862306a36Sopenharmony_ci - samsung,exynos4210-dw-mshc 1962306a36Sopenharmony_ci - samsung,exynos4412-dw-mshc 2062306a36Sopenharmony_ci - samsung,exynos5250-dw-mshc 2162306a36Sopenharmony_ci - samsung,exynos5420-dw-mshc 2262306a36Sopenharmony_ci - samsung,exynos5420-dw-mshc-smu 2362306a36Sopenharmony_ci - samsung,exynos7-dw-mshc 2462306a36Sopenharmony_ci - samsung,exynos7-dw-mshc-smu 2562306a36Sopenharmony_ci - axis,artpec8-dw-mshc 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci reg: 2862306a36Sopenharmony_ci maxItems: 1 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci interrupts: 3162306a36Sopenharmony_ci maxItems: 1 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci clocks: 3462306a36Sopenharmony_ci maxItems: 2 3562306a36Sopenharmony_ci description: 3662306a36Sopenharmony_ci Handle to "biu" and "ciu" clocks for the 3762306a36Sopenharmony_ci bus interface unit clock and the card interface unit clock. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci clock-names: 4062306a36Sopenharmony_ci items: 4162306a36Sopenharmony_ci - const: biu 4262306a36Sopenharmony_ci - const: ciu 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci samsung,dw-mshc-ciu-div: 4562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 4662306a36Sopenharmony_ci minimum: 0 4762306a36Sopenharmony_ci maximum: 7 4862306a36Sopenharmony_ci description: 4962306a36Sopenharmony_ci The divider value for the card interface unit (ciu) clock. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci samsung,dw-mshc-ddr-timing: 5262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 5362306a36Sopenharmony_ci items: 5462306a36Sopenharmony_ci - description: CIU clock phase shift value for tx mode 5562306a36Sopenharmony_ci minimum: 0 5662306a36Sopenharmony_ci maximum: 7 5762306a36Sopenharmony_ci - description: CIU clock phase shift value for rx mode 5862306a36Sopenharmony_ci minimum: 0 5962306a36Sopenharmony_ci maximum: 7 6062306a36Sopenharmony_ci description: 6162306a36Sopenharmony_ci The value of CUI clock phase shift value in transmit mode and CIU clock 6262306a36Sopenharmony_ci phase shift value in receive mode for double data rate mode operation. 6362306a36Sopenharmony_ci See also samsung,dw-mshc-hs400-timing property. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci samsung,dw-mshc-hs400-timing: 6662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 6762306a36Sopenharmony_ci items: 6862306a36Sopenharmony_ci - description: CIU clock phase shift value for tx mode 6962306a36Sopenharmony_ci minimum: 0 7062306a36Sopenharmony_ci maximum: 7 7162306a36Sopenharmony_ci - description: CIU clock phase shift value for rx mode 7262306a36Sopenharmony_ci minimum: 0 7362306a36Sopenharmony_ci maximum: 7 7462306a36Sopenharmony_ci description: | 7562306a36Sopenharmony_ci The value of CIU TX and RX clock phase shift value for HS400 mode 7662306a36Sopenharmony_ci operation. 7762306a36Sopenharmony_ci Valid values for SDR and DDR CIU clock timing:: 7862306a36Sopenharmony_ci - valid value for tx phase shift and rx phase shift is 0 to 7. 7962306a36Sopenharmony_ci - when CIU clock divider value is set to 3, all possible 8 phase shift 8062306a36Sopenharmony_ci values can be used. 8162306a36Sopenharmony_ci - if CIU clock divider value is 0 (that is divide by 1), both tx and rx 8262306a36Sopenharmony_ci phase shift clocks should be 0. 8362306a36Sopenharmony_ci If missing, values from samsung,dw-mshc-ddr-timing property are used. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci samsung,dw-mshc-sdr-timing: 8662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 8762306a36Sopenharmony_ci items: 8862306a36Sopenharmony_ci - description: CIU clock phase shift value for tx mode 8962306a36Sopenharmony_ci minimum: 0 9062306a36Sopenharmony_ci maximum: 7 9162306a36Sopenharmony_ci - description: CIU clock phase shift value for rx mode 9262306a36Sopenharmony_ci minimum: 0 9362306a36Sopenharmony_ci maximum: 7 9462306a36Sopenharmony_ci description: 9562306a36Sopenharmony_ci The value of CIU clock phase shift value in transmit mode and CIU clock 9662306a36Sopenharmony_ci phase shift value in receive mode for single data rate mode operation. 9762306a36Sopenharmony_ci See also samsung,dw-mshc-hs400-timing property. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci samsung,read-strobe-delay: 10062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 10162306a36Sopenharmony_ci description: 10262306a36Sopenharmony_ci RCLK (Data strobe) delay to control HS400 mode (Latency value for delay 10362306a36Sopenharmony_ci line in Read path). If missing, default from hardware is used. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_cirequired: 10662306a36Sopenharmony_ci - compatible 10762306a36Sopenharmony_ci - reg 10862306a36Sopenharmony_ci - interrupts 10962306a36Sopenharmony_ci - clocks 11062306a36Sopenharmony_ci - clock-names 11162306a36Sopenharmony_ci - samsung,dw-mshc-ddr-timing 11262306a36Sopenharmony_ci - samsung,dw-mshc-sdr-timing 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ciallOf: 11562306a36Sopenharmony_ci - $ref: synopsys-dw-mshc-common.yaml# 11662306a36Sopenharmony_ci - if: 11762306a36Sopenharmony_ci properties: 11862306a36Sopenharmony_ci compatible: 11962306a36Sopenharmony_ci contains: 12062306a36Sopenharmony_ci enum: 12162306a36Sopenharmony_ci - samsung,exynos5250-dw-mshc 12262306a36Sopenharmony_ci - samsung,exynos5420-dw-mshc 12362306a36Sopenharmony_ci - samsung,exynos7-dw-mshc 12462306a36Sopenharmony_ci - samsung,exynos7-dw-mshc-smu 12562306a36Sopenharmony_ci - axis,artpec8-dw-mshc 12662306a36Sopenharmony_ci then: 12762306a36Sopenharmony_ci required: 12862306a36Sopenharmony_ci - samsung,dw-mshc-ciu-div 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ciunevaluatedProperties: false 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ciexamples: 13362306a36Sopenharmony_ci - | 13462306a36Sopenharmony_ci #include <dt-bindings/clock/exynos5420.h> 13562306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci mmc@12220000 { 13862306a36Sopenharmony_ci compatible = "samsung,exynos5420-dw-mshc"; 13962306a36Sopenharmony_ci interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 14062306a36Sopenharmony_ci #address-cells = <1>; 14162306a36Sopenharmony_ci #size-cells = <0>; 14262306a36Sopenharmony_ci reg = <0x12220000 0x1000>; 14362306a36Sopenharmony_ci clocks = <&clock CLK_MMC2>, <&clock CLK_SCLK_MMC2>; 14462306a36Sopenharmony_ci clock-names = "biu", "ciu"; 14562306a36Sopenharmony_ci fifo-depth = <0x40>; 14662306a36Sopenharmony_ci card-detect-delay = <200>; 14762306a36Sopenharmony_ci samsung,dw-mshc-ciu-div = <3>; 14862306a36Sopenharmony_ci samsung,dw-mshc-sdr-timing = <0 4>; 14962306a36Sopenharmony_ci samsung,dw-mshc-ddr-timing = <0 2>; 15062306a36Sopenharmony_ci pinctrl-names = "default"; 15162306a36Sopenharmony_ci pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_wp &sd2_bus1 &sd2_bus4>; 15262306a36Sopenharmony_ci bus-width = <4>; 15362306a36Sopenharmony_ci cap-sd-highspeed; 15462306a36Sopenharmony_ci max-frequency = <200000000>; 15562306a36Sopenharmony_ci vmmc-supply = <&ldo19_reg>; 15662306a36Sopenharmony_ci vqmmc-supply = <&ldo13_reg>; 15762306a36Sopenharmony_ci sd-uhs-sdr50; 15862306a36Sopenharmony_ci sd-uhs-sdr104; 15962306a36Sopenharmony_ci sd-uhs-ddr50; 16062306a36Sopenharmony_ci }; 161