162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/ata/ceva,ahci-1v84.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Ceva AHCI SATA Controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Piyush Mehta <piyush.mehta@amd.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The Ceva SATA controller mostly conforms to the AHCI interface with some 1462306a36Sopenharmony_ci special extensions to add functionality, is a high-performance dual-port 1562306a36Sopenharmony_ci SATA host controller with an AHCI compliant command layer which supports 1662306a36Sopenharmony_ci advanced features such as native command queuing and frame information 1762306a36Sopenharmony_ci structure (FIS) based switching for systems employing port multipliers. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciproperties: 2062306a36Sopenharmony_ci compatible: 2162306a36Sopenharmony_ci const: ceva,ahci-1v84 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci reg: 2462306a36Sopenharmony_ci maxItems: 1 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci clocks: 2762306a36Sopenharmony_ci maxItems: 1 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci dma-coherent: true 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci interrupts: 3262306a36Sopenharmony_ci maxItems: 1 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci iommus: 3562306a36Sopenharmony_ci maxItems: 4 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci power-domains: 3862306a36Sopenharmony_ci maxItems: 1 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci ceva,p0-cominit-params: 4162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint8-array 4262306a36Sopenharmony_ci description: | 4362306a36Sopenharmony_ci OOB timing value for COMINIT parameter for port 0. 4462306a36Sopenharmony_ci The fields for the above parameter must be as shown below:- 4562306a36Sopenharmony_ci ceva,p0-cominit-params = /bits/ 8 <CIBGMN CIBGMX CIBGN CINMP>; 4662306a36Sopenharmony_ci items: 4762306a36Sopenharmony_ci - description: CINMP - COMINIT Negate Minimum Period. 4862306a36Sopenharmony_ci - description: CIBGN - COMINIT Burst Gap Nominal. 4962306a36Sopenharmony_ci - description: CIBGMX - COMINIT Burst Gap Maximum. 5062306a36Sopenharmony_ci - description: CIBGMN - COMINIT Burst Gap Minimum. 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci ceva,p0-comwake-params: 5362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint8-array 5462306a36Sopenharmony_ci description: | 5562306a36Sopenharmony_ci OOB timing value for COMWAKE parameter for port 0. 5662306a36Sopenharmony_ci The fields for the above parameter must be as shown below:- 5762306a36Sopenharmony_ci ceva,p0-comwake-params = /bits/ 8 <CWBGMN CWBGMX CWBGN CWNMP>; 5862306a36Sopenharmony_ci items: 5962306a36Sopenharmony_ci - description: CWBGMN - COMWAKE Burst Gap Minimum. 6062306a36Sopenharmony_ci - description: CWBGMX - COMWAKE Burst Gap Maximum. 6162306a36Sopenharmony_ci - description: CWBGN - COMWAKE Burst Gap Nominal. 6262306a36Sopenharmony_ci - description: CWNMP - COMWAKE Negate Minimum Period. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci ceva,p0-burst-params: 6562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint8-array 6662306a36Sopenharmony_ci description: | 6762306a36Sopenharmony_ci Burst timing value for COM parameter for port 0. 6862306a36Sopenharmony_ci The fields for the above parameter must be as shown below:- 6962306a36Sopenharmony_ci ceva,p0-burst-params = /bits/ 8 <BMX BNM SFD PTST>; 7062306a36Sopenharmony_ci items: 7162306a36Sopenharmony_ci - description: BMX - COM Burst Maximum. 7262306a36Sopenharmony_ci - description: BNM - COM Burst Nominal. 7362306a36Sopenharmony_ci - description: SFD - Signal Failure Detection value. 7462306a36Sopenharmony_ci - description: PTST - Partial to Slumber timer value. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci ceva,p0-retry-params: 7762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint16-array 7862306a36Sopenharmony_ci description: | 7962306a36Sopenharmony_ci Retry interval timing value for port 0. 8062306a36Sopenharmony_ci The fields for the above parameter must be as shown below:- 8162306a36Sopenharmony_ci ceva,p0-retry-params = /bits/ 16 <RIT RCT>; 8262306a36Sopenharmony_ci items: 8362306a36Sopenharmony_ci - description: RIT - Retry Interval Timer. 8462306a36Sopenharmony_ci - description: RCT - Rate Change Timer. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci ceva,p1-cominit-params: 8762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint8-array 8862306a36Sopenharmony_ci description: | 8962306a36Sopenharmony_ci OOB timing value for COMINIT parameter for port 1. 9062306a36Sopenharmony_ci The fields for the above parameter must be as shown below:- 9162306a36Sopenharmony_ci ceva,p1-cominit-params = /bits/ 8 <CIBGMN CIBGMX CIBGN CINMP>; 9262306a36Sopenharmony_ci items: 9362306a36Sopenharmony_ci - description: CINMP - COMINIT Negate Minimum Period. 9462306a36Sopenharmony_ci - description: CIBGN - COMINIT Burst Gap Nominal. 9562306a36Sopenharmony_ci - description: CIBGMX - COMINIT Burst Gap Maximum. 9662306a36Sopenharmony_ci - description: CIBGMN - COMINIT Burst Gap Minimum. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci ceva,p1-comwake-params: 9962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint8-array 10062306a36Sopenharmony_ci description: | 10162306a36Sopenharmony_ci OOB timing value for COMWAKE parameter for port 1. 10262306a36Sopenharmony_ci The fields for the above parameter must be as shown below:- 10362306a36Sopenharmony_ci ceva,p1-comwake-params = /bits/ 8 <CWBGMN CWBGMX CWBGN CWNMP>; 10462306a36Sopenharmony_ci items: 10562306a36Sopenharmony_ci - description: CWBGMN - COMWAKE Burst Gap Minimum. 10662306a36Sopenharmony_ci - description: CWBGMX - COMWAKE Burst Gap Maximum. 10762306a36Sopenharmony_ci - description: CWBGN - COMWAKE Burst Gap Nominal. 10862306a36Sopenharmony_ci - description: CWNMP - COMWAKE Negate Minimum Period. 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci ceva,p1-burst-params: 11162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint8-array 11262306a36Sopenharmony_ci description: | 11362306a36Sopenharmony_ci Burst timing value for COM parameter for port 1. 11462306a36Sopenharmony_ci The fields for the above parameter must be as shown below:- 11562306a36Sopenharmony_ci ceva,p1-burst-params = /bits/ 8 <BMX BNM SFD PTST>; 11662306a36Sopenharmony_ci items: 11762306a36Sopenharmony_ci - description: BMX - COM Burst Maximum. 11862306a36Sopenharmony_ci - description: BNM - COM Burst Nominal. 11962306a36Sopenharmony_ci - description: SFD - Signal Failure Detection value. 12062306a36Sopenharmony_ci - description: PTST - Partial to Slumber timer value. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci ceva,p1-retry-params: 12362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint16-array 12462306a36Sopenharmony_ci description: | 12562306a36Sopenharmony_ci Retry interval timing value for port 1. 12662306a36Sopenharmony_ci The fields for the above parameter must be as shown below:- 12762306a36Sopenharmony_ci ceva,pN-retry-params = /bits/ 16 <RIT RCT>; 12862306a36Sopenharmony_ci items: 12962306a36Sopenharmony_ci - description: RIT - Retry Interval Timer. 13062306a36Sopenharmony_ci - description: RCT - Rate Change Timer. 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci ceva,broken-gen2: 13362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/flag 13462306a36Sopenharmony_ci description: | 13562306a36Sopenharmony_ci limit to gen1 speed instead of gen2. 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci phys: 13862306a36Sopenharmony_ci maxItems: 1 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci phy-names: 14162306a36Sopenharmony_ci items: 14262306a36Sopenharmony_ci - const: sata-phy 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci resets: 14562306a36Sopenharmony_ci maxItems: 1 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_cirequired: 14862306a36Sopenharmony_ci - compatible 14962306a36Sopenharmony_ci - reg 15062306a36Sopenharmony_ci - clocks 15162306a36Sopenharmony_ci - interrupts 15262306a36Sopenharmony_ci - ceva,p0-cominit-params 15362306a36Sopenharmony_ci - ceva,p0-comwake-params 15462306a36Sopenharmony_ci - ceva,p0-burst-params 15562306a36Sopenharmony_ci - ceva,p0-retry-params 15662306a36Sopenharmony_ci - ceva,p1-cominit-params 15762306a36Sopenharmony_ci - ceva,p1-comwake-params 15862306a36Sopenharmony_ci - ceva,p1-burst-params 15962306a36Sopenharmony_ci - ceva,p1-retry-params 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ciadditionalProperties: false 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ciexamples: 16462306a36Sopenharmony_ci - | 16562306a36Sopenharmony_ci #include <dt-bindings/clock/xlnx-zynqmp-clk.h> 16662306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 16762306a36Sopenharmony_ci #include <dt-bindings/power/xlnx-zynqmp-power.h> 16862306a36Sopenharmony_ci #include <dt-bindings/reset/xlnx-zynqmp-resets.h> 16962306a36Sopenharmony_ci #include <dt-bindings/clock/xlnx-zynqmp-clk.h> 17062306a36Sopenharmony_ci #include <dt-bindings/phy/phy.h> 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci sata: ahci@fd0c0000 { 17362306a36Sopenharmony_ci compatible = "ceva,ahci-1v84"; 17462306a36Sopenharmony_ci reg = <0xfd0c0000 0x200>; 17562306a36Sopenharmony_ci interrupt-parent = <&gic>; 17662306a36Sopenharmony_ci interrupts = <0 133 IRQ_TYPE_LEVEL_HIGH>; 17762306a36Sopenharmony_ci clocks = <&zynqmp_clk SATA_REF>; 17862306a36Sopenharmony_ci ceva,p0-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>; 17962306a36Sopenharmony_ci ceva,p0-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>; 18062306a36Sopenharmony_ci ceva,p0-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>; 18162306a36Sopenharmony_ci ceva,p0-retry-params = /bits/ 16 <0x0216 0x7F06>; 18262306a36Sopenharmony_ci ceva,p1-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>; 18362306a36Sopenharmony_ci ceva,p1-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>; 18462306a36Sopenharmony_ci ceva,p1-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>; 18562306a36Sopenharmony_ci ceva,p1-retry-params = /bits/ 16 <0x0216 0x7F06>; 18662306a36Sopenharmony_ci ceva,broken-gen2; 18762306a36Sopenharmony_ci phys = <&psgtr 1 PHY_TYPE_SATA 1 1>; 18862306a36Sopenharmony_ci resets = <&zynqmp_reset ZYNQMP_RESET_SATA>; 18962306a36Sopenharmony_ci }; 190