18c2ecf20Sopenharmony_ci* Hisilicon Universal Flash Storage (UFS) Host Controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciUFS nodes are defined to describe on-chip UFS hardware macro.
48c2ecf20Sopenharmony_ciEach UFS Host Controller should have its own node.
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciRequired properties:
78c2ecf20Sopenharmony_ci- compatible        : compatible list, contains one of the following -
88c2ecf20Sopenharmony_ci					"hisilicon,hi3660-ufs", "jedec,ufs-1.1" for hisi ufs
98c2ecf20Sopenharmony_ci					host controller present on Hi3660 chipset.
108c2ecf20Sopenharmony_ci					"hisilicon,hi3670-ufs", "jedec,ufs-2.1" for hisi ufs
118c2ecf20Sopenharmony_ci					host controller present on Hi3670 chipset.
128c2ecf20Sopenharmony_ci- reg               : should contain UFS register address space & UFS SYS CTRL register address,
138c2ecf20Sopenharmony_ci- interrupts        : interrupt number
148c2ecf20Sopenharmony_ci- clocks	        : List of phandle and clock specifier pairs
158c2ecf20Sopenharmony_ci- clock-names       : List of clock input name strings sorted in the same
168c2ecf20Sopenharmony_ci					order as the clocks property. "ref_clk", "phy_clk" is optional
178c2ecf20Sopenharmony_ci- freq-table-hz     : Array of <min max> operating frequencies stored in the same
188c2ecf20Sopenharmony_ci                      order as the clocks property. If this property is not
198c2ecf20Sopenharmony_ci                      defined or a value in the array is "0" then it is assumed
208c2ecf20Sopenharmony_ci                      that the frequency is set by the parent clock or a
218c2ecf20Sopenharmony_ci                      fixed rate clock source.
228c2ecf20Sopenharmony_ci- resets            : describe reset node register
238c2ecf20Sopenharmony_ci- reset-names       : reset node register, the "rst" corresponds to reset the whole UFS IP.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciExample:
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci	ufs: ufs@ff3b0000 {
288c2ecf20Sopenharmony_ci		compatible = "hisilicon,hi3660-ufs", "jedec,ufs-1.1";
298c2ecf20Sopenharmony_ci		/* 0: HCI standard */
308c2ecf20Sopenharmony_ci		/* 1: UFS SYS CTRL */
318c2ecf20Sopenharmony_ci		reg = <0x0 0xff3b0000 0x0 0x1000>,
328c2ecf20Sopenharmony_ci			<0x0 0xff3b1000 0x0 0x1000>;
338c2ecf20Sopenharmony_ci		interrupt-parent = <&gic>;
348c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
358c2ecf20Sopenharmony_ci		clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>,
368c2ecf20Sopenharmony_ci			<&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>;
378c2ecf20Sopenharmony_ci		clock-names = "ref_clk", "phy_clk";
388c2ecf20Sopenharmony_ci		freq-table-hz = <0 0>, <0 0>;
398c2ecf20Sopenharmony_ci		/* offset: 0x84; bit: 12  */
408c2ecf20Sopenharmony_ci		resets = <&crg_rst 0x84 12>;
418c2ecf20Sopenharmony_ci		reset-names = "rst";
428c2ecf20Sopenharmony_ci	};
43