Commit | Line | Data |
---|---|---|
f2fb1b50 PM |
1 | # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
2 | %YAML 1.2 | |
3 | --- | |
4 | $id: http://devicetree.org/schemas/ata/ceva,ahci-1v84.yaml# | |
5 | $schema: http://devicetree.org/meta-schemas/core.yaml# | |
6 | ||
7 | title: Ceva AHCI SATA Controller | |
8 | ||
9 | maintainers: | |
10 | - Piyush Mehta <piyush.mehta@xilinx.com> | |
11 | ||
12 | description: | | |
13 | The Ceva SATA controller mostly conforms to the AHCI interface with some | |
14 | special extensions to add functionality, is a high-performance dual-port | |
15 | SATA host controller with an AHCI compliant command layer which supports | |
16 | advanced features such as native command queuing and frame information | |
17 | structure (FIS) based switching for systems employing port multipliers. | |
18 | ||
19 | properties: | |
20 | compatible: | |
21 | const: ceva,ahci-1v84 | |
22 | ||
23 | reg: | |
24 | maxItems: 1 | |
25 | ||
26 | clocks: | |
27 | maxItems: 1 | |
28 | ||
29 | dma-coherent: true | |
30 | ||
31 | interrupts: | |
32 | maxItems: 1 | |
33 | ||
34 | iommus: | |
a7844528 | 35 | maxItems: 4 |
f2fb1b50 PM |
36 | |
37 | power-domains: | |
38 | maxItems: 1 | |
39 | ||
40 | ceva,p0-cominit-params: | |
41 | $ref: /schemas/types.yaml#/definitions/uint8-array | |
42 | description: | | |
43 | OOB timing value for COMINIT parameter for port 0. | |
44 | The fields for the above parameter must be as shown below:- | |
45 | ceva,p0-cominit-params = /bits/ 8 <CIBGMN CIBGMX CIBGN CINMP>; | |
46 | items: | |
47 | - description: CINMP - COMINIT Negate Minimum Period. | |
48 | - description: CIBGN - COMINIT Burst Gap Nominal. | |
49 | - description: CIBGMX - COMINIT Burst Gap Maximum. | |
50 | - description: CIBGMN - COMINIT Burst Gap Minimum. | |
51 | ||
52 | ceva,p0-comwake-params: | |
53 | $ref: /schemas/types.yaml#/definitions/uint8-array | |
54 | description: | | |
55 | OOB timing value for COMWAKE parameter for port 0. | |
56 | The fields for the above parameter must be as shown below:- | |
57 | ceva,p0-comwake-params = /bits/ 8 <CWBGMN CWBGMX CWBGN CWNMP>; | |
58 | items: | |
59 | - description: CWBGMN - COMWAKE Burst Gap Minimum. | |
60 | - description: CWBGMX - COMWAKE Burst Gap Maximum. | |
61 | - description: CWBGN - COMWAKE Burst Gap Nominal. | |
62 | - description: CWNMP - COMWAKE Negate Minimum Period. | |
63 | ||
64 | ceva,p0-burst-params: | |
65 | $ref: /schemas/types.yaml#/definitions/uint8-array | |
66 | description: | | |
67 | Burst timing value for COM parameter for port 0. | |
68 | The fields for the above parameter must be as shown below:- | |
69 | ceva,p0-burst-params = /bits/ 8 <BMX BNM SFD PTST>; | |
70 | items: | |
71 | - description: BMX - COM Burst Maximum. | |
72 | - description: BNM - COM Burst Nominal. | |
73 | - description: SFD - Signal Failure Detection value. | |
74 | - description: PTST - Partial to Slumber timer value. | |
75 | ||
76 | ceva,p0-retry-params: | |
77 | $ref: /schemas/types.yaml#/definitions/uint16-array | |
78 | description: | | |
79 | Retry interval timing value for port 0. | |
80 | The fields for the above parameter must be as shown below:- | |
81 | ceva,p0-retry-params = /bits/ 16 <RIT RCT>; | |
82 | items: | |
83 | - description: RIT - Retry Interval Timer. | |
84 | - description: RCT - Rate Change Timer. | |
85 | ||
86 | ceva,p1-cominit-params: | |
87 | $ref: /schemas/types.yaml#/definitions/uint8-array | |
88 | description: | | |
89 | OOB timing value for COMINIT parameter for port 1. | |
90 | The fields for the above parameter must be as shown below:- | |
91 | ceva,p1-cominit-params = /bits/ 8 <CIBGMN CIBGMX CIBGN CINMP>; | |
92 | items: | |
93 | - description: CINMP - COMINIT Negate Minimum Period. | |
94 | - description: CIBGN - COMINIT Burst Gap Nominal. | |
95 | - description: CIBGMX - COMINIT Burst Gap Maximum. | |
96 | - description: CIBGMN - COMINIT Burst Gap Minimum. | |
97 | ||
98 | ceva,p1-comwake-params: | |
99 | $ref: /schemas/types.yaml#/definitions/uint8-array | |
100 | description: | | |
101 | OOB timing value for COMWAKE parameter for port 1. | |
102 | The fields for the above parameter must be as shown below:- | |
103 | ceva,p1-comwake-params = /bits/ 8 <CWBGMN CWBGMX CWBGN CWNMP>; | |
104 | items: | |
105 | - description: CWBGMN - COMWAKE Burst Gap Minimum. | |
106 | - description: CWBGMX - COMWAKE Burst Gap Maximum. | |
107 | - description: CWBGN - COMWAKE Burst Gap Nominal. | |
108 | - description: CWNMP - COMWAKE Negate Minimum Period. | |
109 | ||
110 | ceva,p1-burst-params: | |
111 | $ref: /schemas/types.yaml#/definitions/uint8-array | |
112 | description: | | |
113 | Burst timing value for COM parameter for port 1. | |
114 | The fields for the above parameter must be as shown below:- | |
115 | ceva,p1-burst-params = /bits/ 8 <BMX BNM SFD PTST>; | |
116 | items: | |
117 | - description: BMX - COM Burst Maximum. | |
118 | - description: BNM - COM Burst Nominal. | |
119 | - description: SFD - Signal Failure Detection value. | |
120 | - description: PTST - Partial to Slumber timer value. | |
121 | ||
122 | ceva,p1-retry-params: | |
123 | $ref: /schemas/types.yaml#/definitions/uint16-array | |
124 | description: | | |
125 | Retry interval timing value for port 1. | |
126 | The fields for the above parameter must be as shown below:- | |
127 | ceva,pN-retry-params = /bits/ 16 <RIT RCT>; | |
128 | items: | |
129 | - description: RIT - Retry Interval Timer. | |
130 | - description: RCT - Rate Change Timer. | |
131 | ||
132 | ceva,broken-gen2: | |
133 | $ref: /schemas/types.yaml#/definitions/flag | |
134 | description: | | |
135 | limit to gen1 speed instead of gen2. | |
136 | ||
137 | phys: | |
138 | maxItems: 1 | |
139 | ||
140 | phy-names: | |
141 | items: | |
142 | - const: sata-phy | |
143 | ||
144 | resets: | |
145 | maxItems: 1 | |
146 | ||
147 | required: | |
148 | - compatible | |
149 | - reg | |
150 | - clocks | |
151 | - interrupts | |
152 | - ceva,p0-cominit-params | |
153 | - ceva,p0-comwake-params | |
154 | - ceva,p0-burst-params | |
155 | - ceva,p0-retry-params | |
156 | - ceva,p1-cominit-params | |
157 | - ceva,p1-comwake-params | |
158 | - ceva,p1-burst-params | |
159 | - ceva,p1-retry-params | |
160 | ||
161 | additionalProperties: false | |
162 | ||
163 | examples: | |
164 | - | | |
165 | #include <dt-bindings/clock/xlnx-zynqmp-clk.h> | |
166 | #include <dt-bindings/interrupt-controller/irq.h> | |
167 | #include <dt-bindings/power/xlnx-zynqmp-power.h> | |
168 | #include <dt-bindings/reset/xlnx-zynqmp-resets.h> | |
169 | #include <dt-bindings/clock/xlnx-zynqmp-clk.h> | |
170 | #include <dt-bindings/phy/phy.h> | |
171 | ||
172 | sata: ahci@fd0c0000 { | |
173 | compatible = "ceva,ahci-1v84"; | |
174 | reg = <0xfd0c0000 0x200>; | |
175 | interrupt-parent = <&gic>; | |
176 | interrupts = <0 133 IRQ_TYPE_LEVEL_HIGH>; | |
177 | clocks = <&zynqmp_clk SATA_REF>; | |
178 | ceva,p0-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>; | |
179 | ceva,p0-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>; | |
180 | ceva,p0-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>; | |
181 | ceva,p0-retry-params = /bits/ 16 <0x0216 0x7F06>; | |
182 | ceva,p1-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>; | |
183 | ceva,p1-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>; | |
184 | ceva,p1-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>; | |
185 | ceva,p1-retry-params = /bits/ 16 <0x0216 0x7F06>; | |
186 | ceva,broken-gen2; | |
187 | phys = <&psgtr 1 PHY_TYPE_SATA 1 1>; | |
188 | resets = <&zynqmp_reset ZYNQMP_RESET_SATA>; | |
189 | }; |