xref: /linux/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml (revision 14d9f6b02648477ced705c54ea6fdf091901e21e)
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
7e22e509cSAlim Akhtartitle: Samsung SoC series UFS host controller Device Tree Bindings
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.
14e22e509cSAlim Akhtar  This binding define Samsung specific binding other then what is used
15e22e509cSAlim Akhtar  in the common ufshcd bindings
16e22e509cSAlim Akhtar  [1] Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
17e22e509cSAlim Akhtar
18e22e509cSAlim Akhtarproperties:
19e22e509cSAlim Akhtar
20e22e509cSAlim Akhtar  compatible:
21e22e509cSAlim Akhtar    enum:
22e22e509cSAlim Akhtar      - samsung,exynos7-ufs
23*14d9f6b0SChanho Park      - samsung,exynosautov9-ufs
24*14d9f6b0SChanho Park      - samsung,exynosautov9-ufs-vh
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  interrupts:
51e22e509cSAlim Akhtar    maxItems: 1
52e22e509cSAlim Akhtar
53e22e509cSAlim Akhtar  phys:
54e22e509cSAlim Akhtar    maxItems: 1
55e22e509cSAlim Akhtar
56e22e509cSAlim Akhtar  phy-names:
57e22e509cSAlim Akhtar    const: ufs-phy
58e22e509cSAlim Akhtar
5957e9befaSChanho Park  samsung,sysreg:
6057e9befaSChanho Park    $ref: '/schemas/types.yaml#/definitions/phandle-array'
6157e9befaSChanho Park    description: Should be phandle/offset pair. The phandle to the syscon node
6257e9befaSChanho Park                 which indicates the FSYSx sysreg interface and the offset of
6357e9befaSChanho Park                 the control register for UFS io coherency setting.
6457e9befaSChanho Park
6557e9befaSChanho Park  dma-coherent: true
6657e9befaSChanho Park
67e22e509cSAlim Akhtarrequired:
68e22e509cSAlim Akhtar  - compatible
69e22e509cSAlim Akhtar  - reg
70e22e509cSAlim Akhtar  - interrupts
71e22e509cSAlim Akhtar  - phys
72e22e509cSAlim Akhtar  - phy-names
73e22e509cSAlim Akhtar  - clocks
74e22e509cSAlim Akhtar  - clock-names
75e22e509cSAlim Akhtar
76e22e509cSAlim AkhtaradditionalProperties: false
77e22e509cSAlim Akhtar
78e22e509cSAlim Akhtarexamples:
79e22e509cSAlim Akhtar  - |
80e22e509cSAlim Akhtar    #include <dt-bindings/interrupt-controller/arm-gic.h>
81e22e509cSAlim Akhtar    #include <dt-bindings/clock/exynos7-clk.h>
82e22e509cSAlim Akhtar
83e22e509cSAlim Akhtar    ufs: ufs@15570000 {
84e22e509cSAlim Akhtar       compatible = "samsung,exynos7-ufs";
85e22e509cSAlim Akhtar       reg = <0x15570000 0x100>,
86e22e509cSAlim Akhtar             <0x15570100 0x100>,
87e22e509cSAlim Akhtar             <0x15571000 0x200>,
88e22e509cSAlim Akhtar             <0x15572000 0x300>;
89e22e509cSAlim Akhtar       reg-names = "hci", "vs_hci", "unipro", "ufsp";
90e22e509cSAlim Akhtar       interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
91e22e509cSAlim Akhtar       clocks = <&clock_fsys1 ACLK_UFS20_LINK>,
92e22e509cSAlim Akhtar                <&clock_fsys1 SCLK_UFSUNIPRO20_USER>;
93e22e509cSAlim Akhtar       clock-names = "core_clk", "sclk_unipro_main";
94e22e509cSAlim Akhtar       pinctrl-names = "default";
95e22e509cSAlim Akhtar       pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>;
96e22e509cSAlim Akhtar       phys = <&ufs_phy>;
97e22e509cSAlim Akhtar       phy-names = "ufs-phy";
98e22e509cSAlim Akhtar    };
99e22e509cSAlim Akhtar...
100