1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
* Hisilicon Universal Flash Storage (UFS) Host Controller
UFS nodes are defined to describe on-chip UFS hardware macro.
Each UFS Host Controller should have its own node.
Required properties:
- compatible : compatible list, contains one of the following -
"hisilicon,hi3660-ufs" for hisi ufs host controller
present on Hi3660 chipset.
- reg : should contain UFS register address space & UFS SYS CTRL register address,
- interrupt-parent : interrupt device
- interrupts : interrupt number
- clocks : List of phandle and clock specifier pairs
- clock-names : List of clock input name strings sorted in the same
order as the clocks property. "clk_ref", "clk_phy" is optional
- resets : reset node register, one reset the clk and the other reset the controller
- reset-names : describe reset node register
Optional properties for board device:
- ufs-hi3660-use-rate-B : specifies UFS rate-B
- ufs-hi3660-broken-fastauto : specifies no fastauto
- ufs-hi3660-use-HS-GEAR3 : specifies UFS HS-GEAR3
- ufs-hi3660-use-HS-GEAR2 : specifies UFS HS-GEAR2
- ufs-hi3660-use-HS-GEAR1 : specifies UFS HS-GEAR1
- ufs-hi3660-broken-clk-gate-bypass : specifies no clk-gate
- ufs-hi3660-use-one-line : specifies UFS use one line work
- reset-gpio : specifies to reset devices
Example:
ufs: ufs@ff3b0000 {
compatible = "jedec,ufs-1.1", "hisilicon,hi3660-ufs";
/* 0: HCI standard */
/* 1: UFS SYS CTRL */
reg = <0x0 0xff3b0000 0x0 0x1000>,
<0x0 0xff3b1000 0x0 0x1000>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>,
<&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>;
clock-names = "clk_ref", "clk_phy";
freq-table-hz = <0 0>, <0 0>;
/* offset: 0x84; bit: 12 */
/* offset: 0x84; bit: 7 */
resets = <&crg_rst 0x84 12>,
<&crg_rst 0x84 7>;
reset-names = "rst", "assert";
}
&ufs {
ufs-hi3660-use-rate-B;
ufs-hi3660-broken-fastauto;
ufs-hi3660-use-HS-GEAR3;
ufs-hi3660-broken-clk-gate-bypass;
reset-gpio = <&gpio18 1 0>;
status = "okay";
}
|