191 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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 Controller8 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 some15 special extensions to add functionality, is a high-performance dual-port16 SATA host controller with an AHCI compliant command layer which supports17 advanced features such as native command queuing and frame information18 structure (FIS) based switching for systems employing port multipliers.19 20properties:21 compatible:22 const: ceva,ahci-1v8423 24 reg:25 maxItems: 126 27 clocks:28 maxItems: 129 30 dma-coherent: true31 32 interrupts:33 maxItems: 134 35 iommus:36 maxItems: 437 38 power-domains:39 maxItems: 140 41 ceva,p0-cominit-params:42 $ref: /schemas/types.yaml#/definitions/uint8-array43 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-array55 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-array67 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-array79 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-array89 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-array101 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-array113 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-array125 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/flag135 description: |136 limit to gen1 speed instead of gen2.137 138 phys:139 maxItems: 1140 141 phy-names:142 items:143 - const: sata-phy144 145 resets:146 maxItems: 1147 148required:149 - compatible150 - reg151 - clocks152 - interrupts153 - ceva,p0-cominit-params154 - ceva,p0-comwake-params155 - ceva,p0-burst-params156 - ceva,p0-retry-params157 - ceva,p1-cominit-params158 - ceva,p1-comwake-params159 - ceva,p1-burst-params160 - ceva,p1-retry-params161 162additionalProperties: false163 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