| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/mmc/hisilicon,hi3798cv200-dw-mshc.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Hisilicon HiSTB SoCs specific extensions to the Synopsys DWMMC controller |
| |
| maintainers: |
| - Yang Xiwen <forbidden405@outlook.com> |
| |
| properties: |
| compatible: |
| enum: |
| - hisilicon,hi3798cv200-dw-mshc |
| - hisilicon,hi3798mv200-dw-mshc |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| items: |
| - description: bus interface unit clock |
| - description: card interface unit clock |
| - description: card input sample phase clock |
| - description: controller output drive phase clock |
| |
| clock-names: |
| items: |
| - const: ciu |
| - const: biu |
| - const: ciu-sample |
| - const: ciu-drive |
| |
| hisilicon,sap-dll-reg: |
| $ref: /schemas/types.yaml#/definitions/phandle-array |
| description: | |
| DWMMC core on Hi3798MV2x SoCs has a delay-locked-loop(DLL) attached to card data input path. |
| It is integrated into CRG core on the SoC and has to be controlled during tuning. |
| items: |
| - description: A phandle pointed to the CRG syscon node |
| - description: Sample DLL register offset in CRG address space |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - clocks |
| - clock-names |
| |
| allOf: |
| - $ref: synopsys-dw-mshc-common.yaml# |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: hisilicon,hi3798mv200-dw-mshc |
| then: |
| required: |
| - hisilicon,sap-dll-reg |
| else: |
| properties: |
| hisilicon,sap-dll-reg: false |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/histb-clock.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| |
| mmc@9830000 { |
| compatible = "hisilicon,hi3798cv200-dw-mshc"; |
| reg = <0x9830000 0x10000>; |
| interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&crg HISTB_MMC_CIU_CLK>, |
| <&crg HISTB_MMC_BIU_CLK>, |
| <&crg HISTB_MMC_SAMPLE_CLK>, |
| <&crg HISTB_MMC_DRV_CLK>; |
| clock-names = "ciu", "biu", "ciu-sample", "ciu-drive"; |
| resets = <&crg 0xa0 4>; |
| reset-names = "reset"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&emmc_pins_1 &emmc_pins_2 |
| &emmc_pins_3 &emmc_pins_4>; |
| fifo-depth = <256>; |
| clock-frequency = <200000000>; |
| cap-mmc-highspeed; |
| mmc-ddr-1_8v; |
| mmc-hs200-1_8v; |
| non-removable; |
| bus-width = <8>; |
| }; |