xref: /freebsd/sys/contrib/device-tree/Bindings/phy/samsung,ufs-phy.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/samsung,ufs-phy.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Samsung SoC series UFS PHY
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Alim Akhtar <alim.akhtar@samsung.com>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotproperties:
13c66ec88fSEmmanuel Vadot  "#phy-cells":
14c66ec88fSEmmanuel Vadot    const: 0
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel Vadot  compatible:
17c66ec88fSEmmanuel Vadot    enum:
18c66ec88fSEmmanuel Vadot      - samsung,exynos7-ufs-phy
19354d7675SEmmanuel Vadot      - samsung,exynosautov9-ufs-phy
20b97ee269SEmmanuel Vadot      - tesla,fsd-ufs-phy
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot  reg:
23c66ec88fSEmmanuel Vadot    maxItems: 1
24c66ec88fSEmmanuel Vadot
25c66ec88fSEmmanuel Vadot  reg-names:
26c66ec88fSEmmanuel Vadot    items:
27c66ec88fSEmmanuel Vadot      - const: phy-pma
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot  clocks:
307ef62cebSEmmanuel Vadot    minItems: 1
317ef62cebSEmmanuel Vadot    maxItems: 4
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  clock-names:
347ef62cebSEmmanuel Vadot    minItems: 1
357ef62cebSEmmanuel Vadot    maxItems: 4
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot  samsung,pmu-syscon:
38*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
39b97ee269SEmmanuel Vadot    maxItems: 1
40b97ee269SEmmanuel Vadot    items:
41b97ee269SEmmanuel Vadot      minItems: 1
42b97ee269SEmmanuel Vadot      items:
43b97ee269SEmmanuel Vadot        - description: phandle for PMU system controller interface, used to
44c66ec88fSEmmanuel Vadot                       control pmu registers bits for ufs m-phy
45b97ee269SEmmanuel Vadot        - description: offset of the pmu control register
46b97ee269SEmmanuel Vadot    description:
47b97ee269SEmmanuel Vadot      It can be phandle/offset pair. The second cell which can represent an
48b97ee269SEmmanuel Vadot      offset is optional.
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadotrequired:
51c66ec88fSEmmanuel Vadot  - "#phy-cells"
52c66ec88fSEmmanuel Vadot  - compatible
53c66ec88fSEmmanuel Vadot  - reg
54c66ec88fSEmmanuel Vadot  - reg-names
55c66ec88fSEmmanuel Vadot  - clocks
56c66ec88fSEmmanuel Vadot  - clock-names
57c66ec88fSEmmanuel Vadot  - samsung,pmu-syscon
58c66ec88fSEmmanuel Vadot
597ef62cebSEmmanuel VadotallOf:
607ef62cebSEmmanuel Vadot  - if:
617ef62cebSEmmanuel Vadot      properties:
627ef62cebSEmmanuel Vadot        compatible:
637ef62cebSEmmanuel Vadot          contains:
647ef62cebSEmmanuel Vadot            const: samsung,exynos7-ufs-phy
657ef62cebSEmmanuel Vadot
667ef62cebSEmmanuel Vadot    then:
677ef62cebSEmmanuel Vadot      properties:
687ef62cebSEmmanuel Vadot        clocks:
697ef62cebSEmmanuel Vadot          items:
707ef62cebSEmmanuel Vadot            - description: PLL reference clock
717ef62cebSEmmanuel Vadot            - description: symbol clock for input symbol (rx0-ch0 symbol clock)
727ef62cebSEmmanuel Vadot            - description: symbol clock for input symbol (rx1-ch1 symbol clock)
737ef62cebSEmmanuel Vadot            - description: symbol clock for output symbol (tx0 symbol clock)
747ef62cebSEmmanuel Vadot
757ef62cebSEmmanuel Vadot        clock-names:
767ef62cebSEmmanuel Vadot          items:
777ef62cebSEmmanuel Vadot            - const: ref_clk
787ef62cebSEmmanuel Vadot            - const: rx1_symbol_clk
797ef62cebSEmmanuel Vadot            - const: rx0_symbol_clk
807ef62cebSEmmanuel Vadot            - const: tx0_symbol_clk
817ef62cebSEmmanuel Vadot
827ef62cebSEmmanuel Vadot    else:
837ef62cebSEmmanuel Vadot      properties:
847ef62cebSEmmanuel Vadot        clocks:
857ef62cebSEmmanuel Vadot          items:
867ef62cebSEmmanuel Vadot            - description: PLL reference clock
877ef62cebSEmmanuel Vadot
887ef62cebSEmmanuel Vadot        clock-names:
897ef62cebSEmmanuel Vadot          items:
907ef62cebSEmmanuel Vadot            - const: ref_clk
917ef62cebSEmmanuel Vadot
92c66ec88fSEmmanuel VadotadditionalProperties: false
93c66ec88fSEmmanuel Vadot
94c66ec88fSEmmanuel Vadotexamples:
95c66ec88fSEmmanuel Vadot  - |
96c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/exynos7-clk.h>
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadot    ufs_phy: ufs-phy@15571800 {
99c66ec88fSEmmanuel Vadot        compatible = "samsung,exynos7-ufs-phy";
100c66ec88fSEmmanuel Vadot        reg = <0x15571800 0x240>;
101c66ec88fSEmmanuel Vadot        reg-names = "phy-pma";
102c66ec88fSEmmanuel Vadot        samsung,pmu-syscon = <&pmu_system_controller>;
103c66ec88fSEmmanuel Vadot        #phy-cells = <0>;
104c66ec88fSEmmanuel Vadot        clocks = <&clock_fsys1 SCLK_COMBO_PHY_EMBEDDED_26M>,
105c66ec88fSEmmanuel Vadot                 <&clock_fsys1 PHYCLK_UFS20_RX1_SYMBOL_USER>,
106c66ec88fSEmmanuel Vadot                 <&clock_fsys1 PHYCLK_UFS20_RX0_SYMBOL_USER>,
107c66ec88fSEmmanuel Vadot                 <&clock_fsys1 PHYCLK_UFS20_TX0_SYMBOL_USER>;
108c66ec88fSEmmanuel Vadot        clock-names = "ref_clk", "rx1_symbol_clk",
109c66ec88fSEmmanuel Vadot                      "rx0_symbol_clk", "tx0_symbol_clk";
110c66ec88fSEmmanuel Vadot
111c66ec88fSEmmanuel Vadot    };
112c66ec88fSEmmanuel Vadot...
113