xref: /linux/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml (revision dd3cb467ebb5659d6552999d6f16a616653f9933)
1e22e509cSAlim Akhtar# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2e22e509cSAlim Akhtar%YAML 1.2
3e22e509cSAlim Akhtar---
4e22e509cSAlim Akhtar$id: http://devicetree.org/schemas/ufs/samsung,exynos-ufs.yaml#
5e22e509cSAlim Akhtar$schema: http://devicetree.org/meta-schemas/core.yaml#
6e22e509cSAlim Akhtar
7*dd3cb467SAndrew Lunntitle: Samsung SoC series UFS host controller
8e22e509cSAlim Akhtar
9e22e509cSAlim Akhtarmaintainers:
10e22e509cSAlim Akhtar  - Alim Akhtar <alim.akhtar@samsung.com>
11e22e509cSAlim Akhtar
12e22e509cSAlim Akhtardescription: |
13e22e509cSAlim Akhtar  Each Samsung UFS host controller instance should have its own node.
14cebe2234SKrzysztof Kozlowski
15cebe2234SKrzysztof KozlowskiallOf:
16cebe2234SKrzysztof Kozlowski  - $ref: ufs-common.yaml
17e22e509cSAlim Akhtar
18e22e509cSAlim Akhtarproperties:
19e22e509cSAlim Akhtar  compatible:
20e22e509cSAlim Akhtar    enum:
21e22e509cSAlim Akhtar      - samsung,exynos7-ufs
2214d9f6b0SChanho Park      - samsung,exynosautov9-ufs
2314d9f6b0SChanho Park      - samsung,exynosautov9-ufs-vh
24ea83df8eSAlim Akhtar      - tesla,fsd-ufs
25e22e509cSAlim Akhtar
26e22e509cSAlim Akhtar  reg:
27e22e509cSAlim Akhtar    items:
28e22e509cSAlim Akhtar      - description: HCI register
29e22e509cSAlim Akhtar      - description: vendor specific register
30e22e509cSAlim Akhtar      - description: unipro register
31e22e509cSAlim Akhtar      - description: UFS protector register
32e22e509cSAlim Akhtar
33e22e509cSAlim Akhtar  reg-names:
34e22e509cSAlim Akhtar    items:
35e22e509cSAlim Akhtar      - const: hci
36e22e509cSAlim Akhtar      - const: vs_hci
37e22e509cSAlim Akhtar      - const: unipro
38e22e509cSAlim Akhtar      - const: ufsp
39e22e509cSAlim Akhtar
40e22e509cSAlim Akhtar  clocks:
41e22e509cSAlim Akhtar    items:
42e22e509cSAlim Akhtar      - description: ufs link core clock
43e22e509cSAlim Akhtar      - description: unipro main clock
44e22e509cSAlim Akhtar
45e22e509cSAlim Akhtar  clock-names:
46e22e509cSAlim Akhtar    items:
47e22e509cSAlim Akhtar      - const: core_clk
48e22e509cSAlim Akhtar      - const: sclk_unipro_main
49e22e509cSAlim Akhtar
50e22e509cSAlim Akhtar  phys:
51e22e509cSAlim Akhtar    maxItems: 1
52e22e509cSAlim Akhtar
53e22e509cSAlim Akhtar  phy-names:
54e22e509cSAlim Akhtar    const: ufs-phy
55e22e509cSAlim Akhtar
5657e9befaSChanho Park  samsung,sysreg:
5757e9befaSChanho Park    $ref: '/schemas/types.yaml#/definitions/phandle-array'
5857e9befaSChanho Park    description: Should be phandle/offset pair. The phandle to the syscon node
5957e9befaSChanho Park                 which indicates the FSYSx sysreg interface and the offset of
6057e9befaSChanho Park                 the control register for UFS io coherency setting.
6157e9befaSChanho Park
6257e9befaSChanho Park  dma-coherent: true
6357e9befaSChanho Park
64e22e509cSAlim Akhtarrequired:
65e22e509cSAlim Akhtar  - compatible
66e22e509cSAlim Akhtar  - reg
67e22e509cSAlim Akhtar  - phys
68e22e509cSAlim Akhtar  - phy-names
69e22e509cSAlim Akhtar  - clocks
70e22e509cSAlim Akhtar  - clock-names
71e22e509cSAlim Akhtar
72cebe2234SKrzysztof KozlowskiunevaluatedProperties: false
73e22e509cSAlim Akhtar
74e22e509cSAlim Akhtarexamples:
75e22e509cSAlim Akhtar  - |
76e22e509cSAlim Akhtar    #include <dt-bindings/interrupt-controller/arm-gic.h>
77e22e509cSAlim Akhtar    #include <dt-bindings/clock/exynos7-clk.h>
78e22e509cSAlim Akhtar
79e22e509cSAlim Akhtar    ufs: ufs@15570000 {
80e22e509cSAlim Akhtar       compatible = "samsung,exynos7-ufs";
81e22e509cSAlim Akhtar       reg = <0x15570000 0x100>,
82e22e509cSAlim Akhtar             <0x15570100 0x100>,
83e22e509cSAlim Akhtar             <0x15571000 0x200>,
84e22e509cSAlim Akhtar             <0x15572000 0x300>;
85e22e509cSAlim Akhtar       reg-names = "hci", "vs_hci", "unipro", "ufsp";
86e22e509cSAlim Akhtar       interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
87e22e509cSAlim Akhtar       clocks = <&clock_fsys1 ACLK_UFS20_LINK>,
88e22e509cSAlim Akhtar                <&clock_fsys1 SCLK_UFSUNIPRO20_USER>;
89e22e509cSAlim Akhtar       clock-names = "core_clk", "sclk_unipro_main";
90e22e509cSAlim Akhtar       pinctrl-names = "default";
91e22e509cSAlim Akhtar       pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>;
92e22e509cSAlim Akhtar       phys = <&ufs_phy>;
93e22e509cSAlim Akhtar       phy-names = "ufs-phy";
94e22e509cSAlim Akhtar    };
95e22e509cSAlim Akhtar...
96