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