xref: /freebsd/sys/contrib/device-tree/Bindings/ata/mediatek,mtk-ahci.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*01950c46SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*01950c46SEmmanuel Vadot%YAML 1.2
3*01950c46SEmmanuel Vadot---
4*01950c46SEmmanuel Vadot$id: http://devicetree.org/schemas/ata/mediatek,mtk-ahci.yaml#
5*01950c46SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*01950c46SEmmanuel Vadot
7*01950c46SEmmanuel Vadottitle: MediaTek Serial ATA controller
8*01950c46SEmmanuel Vadot
9*01950c46SEmmanuel Vadotmaintainers:
10*01950c46SEmmanuel Vadot  - Ryder Lee <ryder.lee@mediatek.com>
11*01950c46SEmmanuel Vadot
12*01950c46SEmmanuel VadotallOf:
13*01950c46SEmmanuel Vadot  - $ref: ahci-common.yaml#
14*01950c46SEmmanuel Vadot
15*01950c46SEmmanuel Vadotproperties:
16*01950c46SEmmanuel Vadot  compatible:
17*01950c46SEmmanuel Vadot    items:
18*01950c46SEmmanuel Vadot      - enum:
19*01950c46SEmmanuel Vadot          - mediatek,mt7622-ahci
20*01950c46SEmmanuel Vadot      - const: mediatek,mtk-ahci
21*01950c46SEmmanuel Vadot
22*01950c46SEmmanuel Vadot  reg:
23*01950c46SEmmanuel Vadot    maxItems: 1
24*01950c46SEmmanuel Vadot
25*01950c46SEmmanuel Vadot  interrupts:
26*01950c46SEmmanuel Vadot    maxItems: 1
27*01950c46SEmmanuel Vadot
28*01950c46SEmmanuel Vadot  interrupt-names:
29*01950c46SEmmanuel Vadot    const: hostc
30*01950c46SEmmanuel Vadot
31*01950c46SEmmanuel Vadot  clocks:
32*01950c46SEmmanuel Vadot    maxItems: 5
33*01950c46SEmmanuel Vadot
34*01950c46SEmmanuel Vadot  clock-names:
35*01950c46SEmmanuel Vadot    items:
36*01950c46SEmmanuel Vadot      - const: ahb
37*01950c46SEmmanuel Vadot      - const: axi
38*01950c46SEmmanuel Vadot      - const: asic
39*01950c46SEmmanuel Vadot      - const: rbc
40*01950c46SEmmanuel Vadot      - const: pm
41*01950c46SEmmanuel Vadot
42*01950c46SEmmanuel Vadot  power-domains:
43*01950c46SEmmanuel Vadot    maxItems: 1
44*01950c46SEmmanuel Vadot
45*01950c46SEmmanuel Vadot  resets:
46*01950c46SEmmanuel Vadot    maxItems: 3
47*01950c46SEmmanuel Vadot
48*01950c46SEmmanuel Vadot  reset-names:
49*01950c46SEmmanuel Vadot    items:
50*01950c46SEmmanuel Vadot      - const: axi
51*01950c46SEmmanuel Vadot      - const: sw
52*01950c46SEmmanuel Vadot      - const: reg
53*01950c46SEmmanuel Vadot
54*01950c46SEmmanuel Vadot  mediatek,phy-mode:
55*01950c46SEmmanuel Vadot    description: System controller phandle, used to enable SATA function
56*01950c46SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
57*01950c46SEmmanuel Vadot
58*01950c46SEmmanuel Vadotrequired:
59*01950c46SEmmanuel Vadot  - reg
60*01950c46SEmmanuel Vadot  - interrupts
61*01950c46SEmmanuel Vadot  - interrupt-names
62*01950c46SEmmanuel Vadot  - clocks
63*01950c46SEmmanuel Vadot  - clock-names
64*01950c46SEmmanuel Vadot  - phys
65*01950c46SEmmanuel Vadot  - phy-names
66*01950c46SEmmanuel Vadot  - ports-implemented
67*01950c46SEmmanuel Vadot
68*01950c46SEmmanuel VadotunevaluatedProperties: false
69*01950c46SEmmanuel Vadot
70*01950c46SEmmanuel Vadotexamples:
71*01950c46SEmmanuel Vadot  - |
72*01950c46SEmmanuel Vadot    #include <dt-bindings/clock/mt7622-clk.h>
73*01950c46SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
74*01950c46SEmmanuel Vadot    #include <dt-bindings/phy/phy.h>
75*01950c46SEmmanuel Vadot    #include <dt-bindings/power/mt7622-power.h>
76*01950c46SEmmanuel Vadot    #include <dt-bindings/reset/mt7622-reset.h>
77*01950c46SEmmanuel Vadot
78*01950c46SEmmanuel Vadot    sata@1a200000 {
79*01950c46SEmmanuel Vadot        compatible = "mediatek,mt7622-ahci", "mediatek,mtk-ahci";
80*01950c46SEmmanuel Vadot        reg = <0x1a200000 0x1100>;
81*01950c46SEmmanuel Vadot        interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>;
82*01950c46SEmmanuel Vadot        interrupt-names = "hostc";
83*01950c46SEmmanuel Vadot        clocks = <&pciesys CLK_SATA_AHB_EN>,
84*01950c46SEmmanuel Vadot                 <&pciesys CLK_SATA_AXI_EN>,
85*01950c46SEmmanuel Vadot                 <&pciesys CLK_SATA_ASIC_EN>,
86*01950c46SEmmanuel Vadot                 <&pciesys CLK_SATA_RBC_EN>,
87*01950c46SEmmanuel Vadot                 <&pciesys CLK_SATA_PM_EN>;
88*01950c46SEmmanuel Vadot        clock-names = "ahb", "axi", "asic", "rbc", "pm";
89*01950c46SEmmanuel Vadot        phys = <&u3port1 PHY_TYPE_SATA>;
90*01950c46SEmmanuel Vadot        phy-names = "sata-phy";
91*01950c46SEmmanuel Vadot        ports-implemented = <0x1>;
92*01950c46SEmmanuel Vadot        power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>;
93*01950c46SEmmanuel Vadot        resets = <&pciesys MT7622_SATA_AXI_BUS_RST>,
94*01950c46SEmmanuel Vadot                 <&pciesys MT7622_SATA_PHY_SW_RST>,
95*01950c46SEmmanuel Vadot                 <&pciesys MT7622_SATA_PHY_REG_RST>;
96*01950c46SEmmanuel Vadot        reset-names = "axi", "sw", "reg";
97*01950c46SEmmanuel Vadot        mediatek,phy-mode = <&pciesys>;
98*01950c46SEmmanuel Vadot    };
99