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