190 lines
6.3 KiB
YAML
190 lines
6.3 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/ata/ceva,ahci-1v84.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Ceva AHCI SATA Controller
|
||
|
|
||
|
maintainers:
|
||
|
- Piyush Mehta <piyush.mehta@xilinx.com>
|
||
|
|
||
|
description: |
|
||
|
The Ceva SATA controller mostly conforms to the AHCI interface with some
|
||
|
special extensions to add functionality, is a high-performance dual-port
|
||
|
SATA host controller with an AHCI compliant command layer which supports
|
||
|
advanced features such as native command queuing and frame information
|
||
|
structure (FIS) based switching for systems employing port multipliers.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: ceva,ahci-1v84
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
clocks:
|
||
|
maxItems: 1
|
||
|
|
||
|
dma-coherent: true
|
||
|
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
|
||
|
iommus:
|
||
|
maxItems: 4
|
||
|
|
||
|
power-domains:
|
||
|
maxItems: 1
|
||
|
|
||
|
ceva,p0-cominit-params:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||
|
description: |
|
||
|
OOB timing value for COMINIT parameter for port 0.
|
||
|
The fields for the above parameter must be as shown below:-
|
||
|
ceva,p0-cominit-params = /bits/ 8 <CIBGMN CIBGMX CIBGN CINMP>;
|
||
|
items:
|
||
|
- description: CINMP - COMINIT Negate Minimum Period.
|
||
|
- description: CIBGN - COMINIT Burst Gap Nominal.
|
||
|
- description: CIBGMX - COMINIT Burst Gap Maximum.
|
||
|
- description: CIBGMN - COMINIT Burst Gap Minimum.
|
||
|
|
||
|
ceva,p0-comwake-params:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||
|
description: |
|
||
|
OOB timing value for COMWAKE parameter for port 0.
|
||
|
The fields for the above parameter must be as shown below:-
|
||
|
ceva,p0-comwake-params = /bits/ 8 <CWBGMN CWBGMX CWBGN CWNMP>;
|
||
|
items:
|
||
|
- description: CWBGMN - COMWAKE Burst Gap Minimum.
|
||
|
- description: CWBGMX - COMWAKE Burst Gap Maximum.
|
||
|
- description: CWBGN - COMWAKE Burst Gap Nominal.
|
||
|
- description: CWNMP - COMWAKE Negate Minimum Period.
|
||
|
|
||
|
ceva,p0-burst-params:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||
|
description: |
|
||
|
Burst timing value for COM parameter for port 0.
|
||
|
The fields for the above parameter must be as shown below:-
|
||
|
ceva,p0-burst-params = /bits/ 8 <BMX BNM SFD PTST>;
|
||
|
items:
|
||
|
- description: BMX - COM Burst Maximum.
|
||
|
- description: BNM - COM Burst Nominal.
|
||
|
- description: SFD - Signal Failure Detection value.
|
||
|
- description: PTST - Partial to Slumber timer value.
|
||
|
|
||
|
ceva,p0-retry-params:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint16-array
|
||
|
description: |
|
||
|
Retry interval timing value for port 0.
|
||
|
The fields for the above parameter must be as shown below:-
|
||
|
ceva,p0-retry-params = /bits/ 16 <RIT RCT>;
|
||
|
items:
|
||
|
- description: RIT - Retry Interval Timer.
|
||
|
- description: RCT - Rate Change Timer.
|
||
|
|
||
|
ceva,p1-cominit-params:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||
|
description: |
|
||
|
OOB timing value for COMINIT parameter for port 1.
|
||
|
The fields for the above parameter must be as shown below:-
|
||
|
ceva,p1-cominit-params = /bits/ 8 <CIBGMN CIBGMX CIBGN CINMP>;
|
||
|
items:
|
||
|
- description: CINMP - COMINIT Negate Minimum Period.
|
||
|
- description: CIBGN - COMINIT Burst Gap Nominal.
|
||
|
- description: CIBGMX - COMINIT Burst Gap Maximum.
|
||
|
- description: CIBGMN - COMINIT Burst Gap Minimum.
|
||
|
|
||
|
ceva,p1-comwake-params:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||
|
description: |
|
||
|
OOB timing value for COMWAKE parameter for port 1.
|
||
|
The fields for the above parameter must be as shown below:-
|
||
|
ceva,p1-comwake-params = /bits/ 8 <CWBGMN CWBGMX CWBGN CWNMP>;
|
||
|
items:
|
||
|
- description: CWBGMN - COMWAKE Burst Gap Minimum.
|
||
|
- description: CWBGMX - COMWAKE Burst Gap Maximum.
|
||
|
- description: CWBGN - COMWAKE Burst Gap Nominal.
|
||
|
- description: CWNMP - COMWAKE Negate Minimum Period.
|
||
|
|
||
|
ceva,p1-burst-params:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||
|
description: |
|
||
|
Burst timing value for COM parameter for port 1.
|
||
|
The fields for the above parameter must be as shown below:-
|
||
|
ceva,p1-burst-params = /bits/ 8 <BMX BNM SFD PTST>;
|
||
|
items:
|
||
|
- description: BMX - COM Burst Maximum.
|
||
|
- description: BNM - COM Burst Nominal.
|
||
|
- description: SFD - Signal Failure Detection value.
|
||
|
- description: PTST - Partial to Slumber timer value.
|
||
|
|
||
|
ceva,p1-retry-params:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint16-array
|
||
|
description: |
|
||
|
Retry interval timing value for port 1.
|
||
|
The fields for the above parameter must be as shown below:-
|
||
|
ceva,pN-retry-params = /bits/ 16 <RIT RCT>;
|
||
|
items:
|
||
|
- description: RIT - Retry Interval Timer.
|
||
|
- description: RCT - Rate Change Timer.
|
||
|
|
||
|
ceva,broken-gen2:
|
||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||
|
description: |
|
||
|
limit to gen1 speed instead of gen2.
|
||
|
|
||
|
phys:
|
||
|
maxItems: 1
|
||
|
|
||
|
phy-names:
|
||
|
items:
|
||
|
- const: sata-phy
|
||
|
|
||
|
resets:
|
||
|
maxItems: 1
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- clocks
|
||
|
- interrupts
|
||
|
- ceva,p0-cominit-params
|
||
|
- ceva,p0-comwake-params
|
||
|
- ceva,p0-burst-params
|
||
|
- ceva,p0-retry-params
|
||
|
- ceva,p1-cominit-params
|
||
|
- ceva,p1-comwake-params
|
||
|
- ceva,p1-burst-params
|
||
|
- ceva,p1-retry-params
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/clock/xlnx-zynqmp-clk.h>
|
||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||
|
#include <dt-bindings/power/xlnx-zynqmp-power.h>
|
||
|
#include <dt-bindings/reset/xlnx-zynqmp-resets.h>
|
||
|
#include <dt-bindings/clock/xlnx-zynqmp-clk.h>
|
||
|
#include <dt-bindings/phy/phy.h>
|
||
|
|
||
|
sata: ahci@fd0c0000 {
|
||
|
compatible = "ceva,ahci-1v84";
|
||
|
reg = <0xfd0c0000 0x200>;
|
||
|
interrupt-parent = <&gic>;
|
||
|
interrupts = <0 133 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&zynqmp_clk SATA_REF>;
|
||
|
ceva,p0-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
|
||
|
ceva,p0-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
|
||
|
ceva,p0-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
|
||
|
ceva,p0-retry-params = /bits/ 16 <0x0216 0x7F06>;
|
||
|
ceva,p1-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
|
||
|
ceva,p1-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
|
||
|
ceva,p1-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
|
||
|
ceva,p1-retry-params = /bits/ 16 <0x0216 0x7F06>;
|
||
|
ceva,broken-gen2;
|
||
|
phys = <&psgtr 1 PHY_TYPE_SATA 1 1>;
|
||
|
resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
|
||
|
};
|