1 # SPDX-License-Identifier: GPL-2.0-only OR BSD 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/ufs/samsung 4 $id: http://devicetree.org/schemas/ufs/samsung,exynos-ufs.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Samsung SoC series UFS host controller 7 title: Samsung SoC series UFS host controller 8 8 9 maintainers: 9 maintainers: 10 - Alim Akhtar <alim.akhtar@samsung.com> 10 - Alim Akhtar <alim.akhtar@samsung.com> 11 11 12 description: | 12 description: | 13 Each Samsung UFS host controller instance sh 13 Each Samsung UFS host controller instance should have its own node. 14 14 15 properties: 15 properties: 16 compatible: 16 compatible: 17 enum: 17 enum: 18 - google,gs101-ufs 18 - google,gs101-ufs 19 - samsung,exynos7-ufs 19 - samsung,exynos7-ufs 20 - samsung,exynosautov9-ufs 20 - samsung,exynosautov9-ufs 21 - samsung,exynosautov9-ufs-vh 21 - samsung,exynosautov9-ufs-vh 22 - tesla,fsd-ufs 22 - tesla,fsd-ufs 23 23 24 reg: 24 reg: 25 items: 25 items: 26 - description: HCI register 26 - description: HCI register 27 - description: vendor specific register 27 - description: vendor specific register 28 - description: unipro register 28 - description: unipro register 29 - description: UFS protector register 29 - description: UFS protector register 30 30 31 reg-names: 31 reg-names: 32 items: 32 items: 33 - const: hci 33 - const: hci 34 - const: vs_hci 34 - const: vs_hci 35 - const: unipro 35 - const: unipro 36 - const: ufsp 36 - const: ufsp 37 37 38 clocks: 38 clocks: 39 minItems: 2 39 minItems: 2 40 items: 40 items: 41 - description: ufs link core clock 41 - description: ufs link core clock 42 - description: unipro main clock 42 - description: unipro main clock 43 - description: fmp clock 43 - description: fmp clock 44 - description: ufs aclk clock 44 - description: ufs aclk clock 45 - description: ufs pclk clock 45 - description: ufs pclk clock 46 - description: sysreg clock 46 - description: sysreg clock 47 47 48 clock-names: 48 clock-names: 49 minItems: 2 49 minItems: 2 50 items: 50 items: 51 - const: core_clk 51 - const: core_clk 52 - const: sclk_unipro_main 52 - const: sclk_unipro_main 53 - const: fmp 53 - const: fmp 54 - const: aclk 54 - const: aclk 55 - const: pclk 55 - const: pclk 56 - const: sysreg 56 - const: sysreg 57 57 58 phys: 58 phys: 59 maxItems: 1 59 maxItems: 1 60 60 61 phy-names: 61 phy-names: 62 const: ufs-phy 62 const: ufs-phy 63 63 64 samsung,sysreg: 64 samsung,sysreg: 65 $ref: /schemas/types.yaml#/definitions/pha 65 $ref: /schemas/types.yaml#/definitions/phandle-array 66 items: 66 items: 67 - items: 67 - items: 68 - description: phandle to FSYSx sysr 68 - description: phandle to FSYSx sysreg node 69 - description: offset of the control 69 - description: offset of the control register for UFS io coherency setting 70 description: 70 description: 71 Phandle and offset to the FSYSx sysreg f 71 Phandle and offset to the FSYSx sysreg for UFS io coherency setting. 72 72 73 dma-coherent: true 73 dma-coherent: true 74 74 75 required: 75 required: 76 - compatible 76 - compatible 77 - reg 77 - reg 78 - phys 78 - phys 79 - phy-names 79 - phy-names 80 - clocks 80 - clocks 81 - clock-names 81 - clock-names 82 82 83 allOf: 83 allOf: 84 - $ref: ufs-common.yaml 84 - $ref: ufs-common.yaml 85 - if: 85 - if: 86 properties: 86 properties: 87 compatible: 87 compatible: 88 contains: 88 contains: 89 const: google,gs101-ufs 89 const: google,gs101-ufs 90 90 91 then: 91 then: 92 properties: 92 properties: 93 clocks: 93 clocks: 94 minItems: 6 94 minItems: 6 95 95 96 clock-names: 96 clock-names: 97 minItems: 6 97 minItems: 6 98 98 99 else: 99 else: 100 properties: 100 properties: 101 clocks: 101 clocks: 102 maxItems: 2 102 maxItems: 2 103 103 104 clock-names: 104 clock-names: 105 maxItems: 2 105 maxItems: 2 106 106 107 unevaluatedProperties: false 107 unevaluatedProperties: false 108 108 109 examples: 109 examples: 110 - | 110 - | 111 #include <dt-bindings/interrupt-controller 111 #include <dt-bindings/interrupt-controller/arm-gic.h> 112 #include <dt-bindings/clock/exynos7-clk.h> 112 #include <dt-bindings/clock/exynos7-clk.h> 113 113 114 ufs: ufs@15570000 { 114 ufs: ufs@15570000 { 115 compatible = "samsung,exynos7-ufs"; 115 compatible = "samsung,exynos7-ufs"; 116 reg = <0x15570000 0x100>, 116 reg = <0x15570000 0x100>, 117 <0x15570100 0x100>, 117 <0x15570100 0x100>, 118 <0x15571000 0x200>, 118 <0x15571000 0x200>, 119 <0x15572000 0x300>; 119 <0x15572000 0x300>; 120 reg-names = "hci", "vs_hci", "unipro", 120 reg-names = "hci", "vs_hci", "unipro", "ufsp"; 121 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVE 121 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; 122 clocks = <&clock_fsys1 ACLK_UFS20_LINK> 122 clocks = <&clock_fsys1 ACLK_UFS20_LINK>, 123 <&clock_fsys1 SCLK_UFSUNIPRO20 123 <&clock_fsys1 SCLK_UFSUNIPRO20_USER>; 124 clock-names = "core_clk", "sclk_unipro_ 124 clock-names = "core_clk", "sclk_unipro_main"; 125 pinctrl-names = "default"; 125 pinctrl-names = "default"; 126 pinctrl-0 = <&ufs_rst_n &ufs_refclk_out 126 pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>; 127 phys = <&ufs_phy>; 127 phys = <&ufs_phy>; 128 phy-names = "ufs-phy"; 128 phy-names = "ufs-phy"; 129 }; 129 }; 130 ... 130 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.