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 7dd3cb467SAndrew 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 15e22e509cSAlim Akhtarproperties: 16e22e509cSAlim Akhtar compatible: 17e22e509cSAlim Akhtar enum: 18*438e23b6SPeter Griffin - google,gs101-ufs 19e22e509cSAlim Akhtar - samsung,exynos7-ufs 2014d9f6b0SChanho Park - samsung,exynosautov9-ufs 2114d9f6b0SChanho Park - samsung,exynosautov9-ufs-vh 22ea83df8eSAlim Akhtar - tesla,fsd-ufs 23e22e509cSAlim Akhtar 24e22e509cSAlim Akhtar reg: 25e22e509cSAlim Akhtar items: 26e22e509cSAlim Akhtar - description: HCI register 27e22e509cSAlim Akhtar - description: vendor specific register 28e22e509cSAlim Akhtar - description: unipro register 29e22e509cSAlim Akhtar - description: UFS protector register 30e22e509cSAlim Akhtar 31e22e509cSAlim Akhtar reg-names: 32e22e509cSAlim Akhtar items: 33e22e509cSAlim Akhtar - const: hci 34e22e509cSAlim Akhtar - const: vs_hci 35e22e509cSAlim Akhtar - const: unipro 36e22e509cSAlim Akhtar - const: ufsp 37e22e509cSAlim Akhtar 38e22e509cSAlim Akhtar clocks: 39*438e23b6SPeter Griffin minItems: 2 40e22e509cSAlim Akhtar items: 41e22e509cSAlim Akhtar - description: ufs link core clock 42e22e509cSAlim Akhtar - description: unipro main clock 43*438e23b6SPeter Griffin - description: fmp clock 44*438e23b6SPeter Griffin - description: ufs aclk clock 45*438e23b6SPeter Griffin - description: ufs pclk clock 46*438e23b6SPeter Griffin - description: sysreg clock 47e22e509cSAlim Akhtar 48e22e509cSAlim Akhtar clock-names: 49*438e23b6SPeter Griffin minItems: 2 50e22e509cSAlim Akhtar items: 51e22e509cSAlim Akhtar - const: core_clk 52e22e509cSAlim Akhtar - const: sclk_unipro_main 53*438e23b6SPeter Griffin - const: fmp 54*438e23b6SPeter Griffin - const: aclk 55*438e23b6SPeter Griffin - const: pclk 56*438e23b6SPeter Griffin - const: sysreg 57e22e509cSAlim Akhtar 58e22e509cSAlim Akhtar phys: 59e22e509cSAlim Akhtar maxItems: 1 60e22e509cSAlim Akhtar 61e22e509cSAlim Akhtar phy-names: 62e22e509cSAlim Akhtar const: ufs-phy 63e22e509cSAlim Akhtar 6457e9befaSChanho Park samsung,sysreg: 65e246514aSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/phandle-array 664e06ec07SRob Herring items: 674e06ec07SRob Herring - items: 684e06ec07SRob Herring - description: phandle to FSYSx sysreg node 694e06ec07SRob Herring - description: offset of the control register for UFS io coherency setting 704e06ec07SRob Herring description: 714e06ec07SRob Herring Phandle and offset to the FSYSx sysreg for UFS io coherency setting. 7257e9befaSChanho Park 7357e9befaSChanho Park dma-coherent: true 7457e9befaSChanho Park 75e22e509cSAlim Akhtarrequired: 76e22e509cSAlim Akhtar - compatible 77e22e509cSAlim Akhtar - reg 78e22e509cSAlim Akhtar - phys 79e22e509cSAlim Akhtar - phy-names 80e22e509cSAlim Akhtar - clocks 81e22e509cSAlim Akhtar - clock-names 82e22e509cSAlim Akhtar 83*438e23b6SPeter GriffinallOf: 84*438e23b6SPeter Griffin - $ref: ufs-common.yaml 85*438e23b6SPeter Griffin - if: 86*438e23b6SPeter Griffin properties: 87*438e23b6SPeter Griffin compatible: 88*438e23b6SPeter Griffin contains: 89*438e23b6SPeter Griffin const: google,gs101-ufs 90*438e23b6SPeter Griffin 91*438e23b6SPeter Griffin then: 92*438e23b6SPeter Griffin properties: 93*438e23b6SPeter Griffin clocks: 94*438e23b6SPeter Griffin minItems: 6 95*438e23b6SPeter Griffin 96*438e23b6SPeter Griffin clock-names: 97*438e23b6SPeter Griffin minItems: 6 98*438e23b6SPeter Griffin 99*438e23b6SPeter Griffin else: 100*438e23b6SPeter Griffin properties: 101*438e23b6SPeter Griffin clocks: 102*438e23b6SPeter Griffin maxItems: 2 103*438e23b6SPeter Griffin 104*438e23b6SPeter Griffin clock-names: 105*438e23b6SPeter Griffin maxItems: 2 106*438e23b6SPeter Griffin 107cebe2234SKrzysztof KozlowskiunevaluatedProperties: false 108e22e509cSAlim Akhtar 109e22e509cSAlim Akhtarexamples: 110e22e509cSAlim Akhtar - | 111e22e509cSAlim Akhtar #include <dt-bindings/interrupt-controller/arm-gic.h> 112e22e509cSAlim Akhtar #include <dt-bindings/clock/exynos7-clk.h> 113e22e509cSAlim Akhtar 114e22e509cSAlim Akhtar ufs: ufs@15570000 { 115e22e509cSAlim Akhtar compatible = "samsung,exynos7-ufs"; 116e22e509cSAlim Akhtar reg = <0x15570000 0x100>, 117e22e509cSAlim Akhtar <0x15570100 0x100>, 118e22e509cSAlim Akhtar <0x15571000 0x200>, 119e22e509cSAlim Akhtar <0x15572000 0x300>; 120e22e509cSAlim Akhtar reg-names = "hci", "vs_hci", "unipro", "ufsp"; 121e22e509cSAlim Akhtar interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; 122e22e509cSAlim Akhtar clocks = <&clock_fsys1 ACLK_UFS20_LINK>, 123e22e509cSAlim Akhtar <&clock_fsys1 SCLK_UFSUNIPRO20_USER>; 124e22e509cSAlim Akhtar clock-names = "core_clk", "sclk_unipro_main"; 125e22e509cSAlim Akhtar pinctrl-names = "default"; 126e22e509cSAlim Akhtar pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>; 127e22e509cSAlim Akhtar phys = <&ufs_phy>; 128e22e509cSAlim Akhtar phy-names = "ufs-phy"; 129e22e509cSAlim Akhtar }; 130e22e509cSAlim Akhtar... 131