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