1*1581355bSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*1581355bSKrzysztof Kozlowski%YAML 1.2
3*1581355bSKrzysztof Kozlowski---
4*1581355bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/ufs/cdns,ufshc.yaml#
5*1581355bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*1581355bSKrzysztof Kozlowski
7*1581355bSKrzysztof Kozlowskititle: Cadence Universal Flash Storage (UFS) Controller
8*1581355bSKrzysztof Kozlowski
9*1581355bSKrzysztof Kozlowskimaintainers:
10*1581355bSKrzysztof Kozlowski  - Jan Kotas <jank@cadence.com>
11*1581355bSKrzysztof Kozlowski
12*1581355bSKrzysztof Kozlowski# Select only our matches, not all jedec,ufs-2.0
13*1581355bSKrzysztof Kozlowskiselect:
14*1581355bSKrzysztof Kozlowski  properties:
15*1581355bSKrzysztof Kozlowski    compatible:
16*1581355bSKrzysztof Kozlowski      contains:
17*1581355bSKrzysztof Kozlowski        enum:
18*1581355bSKrzysztof Kozlowski          - cdns,ufshc
19*1581355bSKrzysztof Kozlowski          - cdns,ufshc-m31-16nm
20*1581355bSKrzysztof Kozlowski  required:
21*1581355bSKrzysztof Kozlowski    - compatible
22*1581355bSKrzysztof Kozlowski
23*1581355bSKrzysztof KozlowskiallOf:
24*1581355bSKrzysztof Kozlowski  - $ref: ufs-common.yaml
25*1581355bSKrzysztof Kozlowski
26*1581355bSKrzysztof Kozlowskiproperties:
27*1581355bSKrzysztof Kozlowski  compatible:
28*1581355bSKrzysztof Kozlowski    items:
29*1581355bSKrzysztof Kozlowski      - enum:
30*1581355bSKrzysztof Kozlowski          - cdns,ufshc
31*1581355bSKrzysztof Kozlowski            # CDNS UFS HC + M31 16nm PHY
32*1581355bSKrzysztof Kozlowski          - cdns,ufshc-m31-16nm
33*1581355bSKrzysztof Kozlowski      - const: jedec,ufs-2.0
34*1581355bSKrzysztof Kozlowski
35*1581355bSKrzysztof Kozlowski  clocks:
36*1581355bSKrzysztof Kozlowski    minItems: 1
37*1581355bSKrzysztof Kozlowski    maxItems: 3
38*1581355bSKrzysztof Kozlowski
39*1581355bSKrzysztof Kozlowski  clock-names:
40*1581355bSKrzysztof Kozlowski    minItems: 1
41*1581355bSKrzysztof Kozlowski    items:
42*1581355bSKrzysztof Kozlowski      - const: core_clk
43*1581355bSKrzysztof Kozlowski      - const: phy_clk
44*1581355bSKrzysztof Kozlowski      - const: ref_clk
45*1581355bSKrzysztof Kozlowski
46*1581355bSKrzysztof Kozlowski  reg:
47*1581355bSKrzysztof Kozlowski    maxItems: 1
48*1581355bSKrzysztof Kozlowski
49*1581355bSKrzysztof Kozlowskirequired:
50*1581355bSKrzysztof Kozlowski  - compatible
51*1581355bSKrzysztof Kozlowski  - clocks
52*1581355bSKrzysztof Kozlowski  - clock-names
53*1581355bSKrzysztof Kozlowski  - reg
54*1581355bSKrzysztof Kozlowski
55*1581355bSKrzysztof KozlowskiunevaluatedProperties: false
56*1581355bSKrzysztof Kozlowski
57*1581355bSKrzysztof Kozlowskiexamples:
58*1581355bSKrzysztof Kozlowski  - |
59*1581355bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
60*1581355bSKrzysztof Kozlowski
61*1581355bSKrzysztof Kozlowski    ufs@fd030000 {
62*1581355bSKrzysztof Kozlowski        compatible = "cdns,ufshc", "jedec,ufs-2.0";
63*1581355bSKrzysztof Kozlowski        reg = <0xfd030000 0x10000>;
64*1581355bSKrzysztof Kozlowski        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
65*1581355bSKrzysztof Kozlowski        freq-table-hz = <0 0>, <0 0>;
66*1581355bSKrzysztof Kozlowski        clocks = <&ufs_core_clk>, <&ufs_phy_clk>;
67*1581355bSKrzysztof Kozlowski        clock-names = "core_clk", "phy_clk";
68*1581355bSKrzysztof Kozlowski    };
69