xref: /freebsd/sys/contrib/device-tree/Bindings/ata/rockchip,dwc-ahci.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*f126890aSEmmanuel Vadot%YAML 1.2
3*f126890aSEmmanuel Vadot---
4*f126890aSEmmanuel Vadot$id: http://devicetree.org/schemas/ata/rockchip,dwc-ahci.yaml#
5*f126890aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadottitle: Synopsys DWC AHCI SATA controller for Rockchip devices
8*f126890aSEmmanuel Vadot
9*f126890aSEmmanuel Vadotmaintainers:
10*f126890aSEmmanuel Vadot  - Serge Semin <fancer.lancer@gmail.com>
11*f126890aSEmmanuel Vadot
12*f126890aSEmmanuel Vadotdescription:
13*f126890aSEmmanuel Vadot  This document defines device tree bindings for the Synopsys DWC
14*f126890aSEmmanuel Vadot  implementation of the AHCI SATA controller found in Rockchip
15*f126890aSEmmanuel Vadot  devices.
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadotselect:
18*f126890aSEmmanuel Vadot  properties:
19*f126890aSEmmanuel Vadot    compatible:
20*f126890aSEmmanuel Vadot      contains:
21*f126890aSEmmanuel Vadot        enum:
22*f126890aSEmmanuel Vadot          - rockchip,rk3568-dwc-ahci
23*f126890aSEmmanuel Vadot          - rockchip,rk3588-dwc-ahci
24*f126890aSEmmanuel Vadot  required:
25*f126890aSEmmanuel Vadot    - compatible
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadotproperties:
28*f126890aSEmmanuel Vadot  compatible:
29*f126890aSEmmanuel Vadot    items:
30*f126890aSEmmanuel Vadot      - enum:
31*f126890aSEmmanuel Vadot          - rockchip,rk3568-dwc-ahci
32*f126890aSEmmanuel Vadot          - rockchip,rk3588-dwc-ahci
33*f126890aSEmmanuel Vadot      - const: snps,dwc-ahci
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot  ports-implemented:
36*f126890aSEmmanuel Vadot    const: 1
37*f126890aSEmmanuel Vadot
38*f126890aSEmmanuel Vadot  sata-port@0:
39*f126890aSEmmanuel Vadot    $ref: /schemas/ata/snps,dwc-ahci-common.yaml#/$defs/dwc-ahci-port
40*f126890aSEmmanuel Vadot
41*f126890aSEmmanuel Vadot    properties:
42*f126890aSEmmanuel Vadot      reg:
43*f126890aSEmmanuel Vadot        const: 0
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot    unevaluatedProperties: false
46*f126890aSEmmanuel Vadot
47*f126890aSEmmanuel VadotpatternProperties:
48*f126890aSEmmanuel Vadot  "^sata-port@[1-9a-e]$": false
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadotrequired:
51*f126890aSEmmanuel Vadot  - compatible
52*f126890aSEmmanuel Vadot  - reg
53*f126890aSEmmanuel Vadot  - interrupts
54*f126890aSEmmanuel Vadot  - clocks
55*f126890aSEmmanuel Vadot  - clock-names
56*f126890aSEmmanuel Vadot  - ports-implemented
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel VadotallOf:
59*f126890aSEmmanuel Vadot  - $ref: snps,dwc-ahci-common.yaml#
60*f126890aSEmmanuel Vadot  - if:
61*f126890aSEmmanuel Vadot      properties:
62*f126890aSEmmanuel Vadot        compatible:
63*f126890aSEmmanuel Vadot          contains:
64*f126890aSEmmanuel Vadot            enum:
65*f126890aSEmmanuel Vadot              - rockchip,rk3588-dwc-ahci
66*f126890aSEmmanuel Vadot    then:
67*f126890aSEmmanuel Vadot      properties:
68*f126890aSEmmanuel Vadot        clocks:
69*f126890aSEmmanuel Vadot          maxItems: 5
70*f126890aSEmmanuel Vadot        clock-names:
71*f126890aSEmmanuel Vadot          items:
72*f126890aSEmmanuel Vadot            - const: sata
73*f126890aSEmmanuel Vadot            - const: pmalive
74*f126890aSEmmanuel Vadot            - const: rxoob
75*f126890aSEmmanuel Vadot            - const: ref
76*f126890aSEmmanuel Vadot            - const: asic
77*f126890aSEmmanuel Vadot  - if:
78*f126890aSEmmanuel Vadot      properties:
79*f126890aSEmmanuel Vadot        compatible:
80*f126890aSEmmanuel Vadot          contains:
81*f126890aSEmmanuel Vadot            enum:
82*f126890aSEmmanuel Vadot              - rockchip,rk3568-dwc-ahci
83*f126890aSEmmanuel Vadot    then:
84*f126890aSEmmanuel Vadot      properties:
85*f126890aSEmmanuel Vadot        clocks:
86*f126890aSEmmanuel Vadot          maxItems: 3
87*f126890aSEmmanuel Vadot        clock-names:
88*f126890aSEmmanuel Vadot          items:
89*f126890aSEmmanuel Vadot            - const: sata
90*f126890aSEmmanuel Vadot            - const: pmalive
91*f126890aSEmmanuel Vadot            - const: rxoob
92*f126890aSEmmanuel Vadot
93*f126890aSEmmanuel VadotunevaluatedProperties: false
94*f126890aSEmmanuel Vadot
95*f126890aSEmmanuel Vadotexamples:
96*f126890aSEmmanuel Vadot  - |
97*f126890aSEmmanuel Vadot    #include <dt-bindings/clock/rockchip,rk3588-cru.h>
98*f126890aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
99*f126890aSEmmanuel Vadot    #include <dt-bindings/ata/ahci.h>
100*f126890aSEmmanuel Vadot    #include <dt-bindings/phy/phy.h>
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot    sata@fe210000 {
103*f126890aSEmmanuel Vadot      compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci";
104*f126890aSEmmanuel Vadot      reg = <0xfe210000 0x1000>;
105*f126890aSEmmanuel Vadot      clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>,
106*f126890aSEmmanuel Vadot               <&cru CLK_RXOOB0>, <&cru CLK_PIPEPHY0_REF>,
107*f126890aSEmmanuel Vadot               <&cru CLK_PIPEPHY0_PIPE_ASIC_G>;
108*f126890aSEmmanuel Vadot      clock-names = "sata", "pmalive", "rxoob", "ref", "asic";
109*f126890aSEmmanuel Vadot      interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH 0>;
110*f126890aSEmmanuel Vadot      ports-implemented = <0x1>;
111*f126890aSEmmanuel Vadot      #address-cells = <1>;
112*f126890aSEmmanuel Vadot      #size-cells = <0>;
113*f126890aSEmmanuel Vadot
114*f126890aSEmmanuel Vadot      sata-port@0 {
115*f126890aSEmmanuel Vadot        reg = <0>;
116*f126890aSEmmanuel Vadot        hba-port-cap = <HBA_PORT_FBSCP>;
117*f126890aSEmmanuel Vadot        phys = <&combphy0_ps PHY_TYPE_SATA>;
118*f126890aSEmmanuel Vadot        phy-names = "sata-phy";
119*f126890aSEmmanuel Vadot        snps,rx-ts-max = <32>;
120*f126890aSEmmanuel Vadot        snps,tx-ts-max = <32>;
121*f126890aSEmmanuel Vadot      };
122*f126890aSEmmanuel Vadot    };
123*f126890aSEmmanuel Vadot
124*f126890aSEmmanuel Vadot...
125