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 7title: Ceva AHCI SATA Controller 8 9maintainers: 10 - Mubin Sayyed <mubin.sayyed@amd.com> 11 - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com> 12 13description: | 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 20properties: 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 148required: 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 162additionalProperties: false 163 164examples: 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 }; 191