11581355bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
21581355bSKrzysztof Kozlowski%YAML 1.2
31581355bSKrzysztof Kozlowski---
41581355bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/ufs/cdns,ufshc.yaml#
51581355bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
61581355bSKrzysztof Kozlowski
71581355bSKrzysztof Kozlowskititle: Cadence Universal Flash Storage (UFS) Controller
81581355bSKrzysztof Kozlowski
91581355bSKrzysztof Kozlowskimaintainers:
101581355bSKrzysztof Kozlowski  - Jan Kotas <jank@cadence.com>
111581355bSKrzysztof Kozlowski
121581355bSKrzysztof Kozlowski# Select only our matches, not all jedec,ufs-2.0
131581355bSKrzysztof Kozlowskiselect:
141581355bSKrzysztof Kozlowski  properties:
151581355bSKrzysztof Kozlowski    compatible:
161581355bSKrzysztof Kozlowski      contains:
171581355bSKrzysztof Kozlowski        enum:
181581355bSKrzysztof Kozlowski          - cdns,ufshc
191581355bSKrzysztof Kozlowski          - cdns,ufshc-m31-16nm
201581355bSKrzysztof Kozlowski  required:
211581355bSKrzysztof Kozlowski    - compatible
221581355bSKrzysztof Kozlowski
231581355bSKrzysztof KozlowskiallOf:
241581355bSKrzysztof Kozlowski  - $ref: ufs-common.yaml
251581355bSKrzysztof Kozlowski
261581355bSKrzysztof Kozlowskiproperties:
271581355bSKrzysztof Kozlowski  compatible:
281581355bSKrzysztof Kozlowski    items:
291581355bSKrzysztof Kozlowski      - enum:
301581355bSKrzysztof Kozlowski          - cdns,ufshc
311581355bSKrzysztof Kozlowski            # CDNS UFS HC + M31 16nm PHY
321581355bSKrzysztof Kozlowski          - cdns,ufshc-m31-16nm
331581355bSKrzysztof Kozlowski      - const: jedec,ufs-2.0
341581355bSKrzysztof Kozlowski
351581355bSKrzysztof Kozlowski  clocks:
361581355bSKrzysztof Kozlowski    minItems: 1
371581355bSKrzysztof Kozlowski    maxItems: 3
381581355bSKrzysztof Kozlowski
391581355bSKrzysztof Kozlowski  clock-names:
401581355bSKrzysztof Kozlowski    minItems: 1
411581355bSKrzysztof Kozlowski    items:
421581355bSKrzysztof Kozlowski      - const: core_clk
431581355bSKrzysztof Kozlowski      - const: phy_clk
441581355bSKrzysztof Kozlowski      - const: ref_clk
451581355bSKrzysztof Kozlowski
46f9095ac1SKrzysztof Kozlowski  power-domains:
47f9095ac1SKrzysztof Kozlowski    maxItems: 1
48f9095ac1SKrzysztof Kozlowski
491581355bSKrzysztof Kozlowski  reg:
501581355bSKrzysztof Kozlowski    maxItems: 1
511581355bSKrzysztof Kozlowski
52*3eecdba4SMatt Ranostay  dma-coherent: true
53*3eecdba4SMatt Ranostay
541581355bSKrzysztof Kozlowskirequired:
551581355bSKrzysztof Kozlowski  - compatible
561581355bSKrzysztof Kozlowski  - clocks
571581355bSKrzysztof Kozlowski  - clock-names
581581355bSKrzysztof Kozlowski  - reg
591581355bSKrzysztof Kozlowski
601581355bSKrzysztof KozlowskiunevaluatedProperties: false
611581355bSKrzysztof Kozlowski
621581355bSKrzysztof Kozlowskiexamples:
631581355bSKrzysztof Kozlowski  - |
641581355bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
651581355bSKrzysztof Kozlowski
661581355bSKrzysztof Kozlowski    ufs@fd030000 {
671581355bSKrzysztof Kozlowski        compatible = "cdns,ufshc", "jedec,ufs-2.0";
681581355bSKrzysztof Kozlowski        reg = <0xfd030000 0x10000>;
691581355bSKrzysztof Kozlowski        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
701581355bSKrzysztof Kozlowski        freq-table-hz = <0 0>, <0 0>;
711581355bSKrzysztof Kozlowski        clocks = <&ufs_core_clk>, <&ufs_phy_clk>;
721581355bSKrzysztof Kozlowski        clock-names = "core_clk", "phy_clk";
731581355bSKrzysztof Kozlowski    };
74