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