xref: /freebsd/sys/contrib/device-tree/Bindings/ufs/ufs-hisi.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Hisilicon Universal Flash Storage (UFS) Host Controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotUFS nodes are defined to describe on-chip UFS hardware macro.
4*c66ec88fSEmmanuel VadotEach UFS Host Controller should have its own node.
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel VadotRequired properties:
7*c66ec88fSEmmanuel Vadot- compatible        : compatible list, contains one of the following -
8*c66ec88fSEmmanuel Vadot					"hisilicon,hi3660-ufs", "jedec,ufs-1.1" for hisi ufs
9*c66ec88fSEmmanuel Vadot					host controller present on Hi3660 chipset.
10*c66ec88fSEmmanuel Vadot					"hisilicon,hi3670-ufs", "jedec,ufs-2.1" for hisi ufs
11*c66ec88fSEmmanuel Vadot					host controller present on Hi3670 chipset.
12*c66ec88fSEmmanuel Vadot- reg               : should contain UFS register address space & UFS SYS CTRL register address,
13*c66ec88fSEmmanuel Vadot- interrupts        : interrupt number
14*c66ec88fSEmmanuel Vadot- clocks	        : List of phandle and clock specifier pairs
15*c66ec88fSEmmanuel Vadot- clock-names       : List of clock input name strings sorted in the same
16*c66ec88fSEmmanuel Vadot					order as the clocks property. "ref_clk", "phy_clk" is optional
17*c66ec88fSEmmanuel Vadot- freq-table-hz     : Array of <min max> operating frequencies stored in the same
18*c66ec88fSEmmanuel Vadot                      order as the clocks property. If this property is not
19*c66ec88fSEmmanuel Vadot                      defined or a value in the array is "0" then it is assumed
20*c66ec88fSEmmanuel Vadot                      that the frequency is set by the parent clock or a
21*c66ec88fSEmmanuel Vadot                      fixed rate clock source.
22*c66ec88fSEmmanuel Vadot- resets            : describe reset node register
23*c66ec88fSEmmanuel Vadot- reset-names       : reset node register, the "rst" corresponds to reset the whole UFS IP.
24*c66ec88fSEmmanuel Vadot
25*c66ec88fSEmmanuel VadotExample:
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot	ufs: ufs@ff3b0000 {
28*c66ec88fSEmmanuel Vadot		compatible = "hisilicon,hi3660-ufs", "jedec,ufs-1.1";
29*c66ec88fSEmmanuel Vadot		/* 0: HCI standard */
30*c66ec88fSEmmanuel Vadot		/* 1: UFS SYS CTRL */
31*c66ec88fSEmmanuel Vadot		reg = <0x0 0xff3b0000 0x0 0x1000>,
32*c66ec88fSEmmanuel Vadot			<0x0 0xff3b1000 0x0 0x1000>;
33*c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
34*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
35*c66ec88fSEmmanuel Vadot		clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>,
36*c66ec88fSEmmanuel Vadot			<&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>;
37*c66ec88fSEmmanuel Vadot		clock-names = "ref_clk", "phy_clk";
38*c66ec88fSEmmanuel Vadot		freq-table-hz = <0 0>, <0 0>;
39*c66ec88fSEmmanuel Vadot		/* offset: 0x84; bit: 12  */
40*c66ec88fSEmmanuel Vadot		resets = <&crg_rst 0x84 12>;
41*c66ec88fSEmmanuel Vadot		reset-names = "rst";
42*c66ec88fSEmmanuel Vadot	};
43