xref: /freebsd/sys/contrib/device-tree/Bindings/ata/ahci-mtk.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotMediaTek Serial ATA controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot - compatible	   : Must be "mediatek,<chip>-ahci", "mediatek,mtk-ahci".
5*c66ec88fSEmmanuel Vadot		     When using "mediatek,mtk-ahci" compatible strings, you
6*c66ec88fSEmmanuel Vadot		     need SoC specific ones in addition, one of:
7*c66ec88fSEmmanuel Vadot		     - "mediatek,mt7622-ahci"
8*c66ec88fSEmmanuel Vadot - reg		   : Physical base addresses and length of register sets.
9*c66ec88fSEmmanuel Vadot - interrupts	   : Interrupt associated with the SATA device.
10*c66ec88fSEmmanuel Vadot - interrupt-names : Associated name must be: "hostc".
11*c66ec88fSEmmanuel Vadot - clocks	   : A list of phandle and clock specifier pairs, one for each
12*c66ec88fSEmmanuel Vadot		     entry in clock-names.
13*c66ec88fSEmmanuel Vadot - clock-names	   : Associated names must be: "ahb", "axi", "asic", "rbc", "pm".
14*c66ec88fSEmmanuel Vadot - phys		   : A phandle and PHY specifier pair for the PHY port.
15*c66ec88fSEmmanuel Vadot - phy-names	   : Associated name must be: "sata-phy".
16*c66ec88fSEmmanuel Vadot - ports-implemented : See ./ahci-platform.txt for details.
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel VadotOptional properties:
19*c66ec88fSEmmanuel Vadot - power-domains   : A phandle and power domain specifier pair to the power
20*c66ec88fSEmmanuel Vadot		     domain which is responsible for collapsing and restoring
21*c66ec88fSEmmanuel Vadot		     power to the peripheral.
22*c66ec88fSEmmanuel Vadot - resets	   : Must contain an entry for each entry in reset-names.
23*c66ec88fSEmmanuel Vadot		     See ../reset/reset.txt for details.
24*c66ec88fSEmmanuel Vadot - reset-names	   : Associated names must be: "axi", "sw", "reg".
25*c66ec88fSEmmanuel Vadot - mediatek,phy-mode : A phandle to the system controller, used to enable
26*c66ec88fSEmmanuel Vadot		       SATA function.
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel VadotExample:
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel Vadot	sata: sata@1a200000 {
31*c66ec88fSEmmanuel Vadot		compatible = "mediatek,mt7622-ahci",
32*c66ec88fSEmmanuel Vadot			     "mediatek,mtk-ahci";
33*c66ec88fSEmmanuel Vadot		reg = <0 0x1a200000 0 0x1100>;
34*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>;
35*c66ec88fSEmmanuel Vadot		interrupt-names = "hostc";
36*c66ec88fSEmmanuel Vadot		clocks = <&pciesys CLK_SATA_AHB_EN>,
37*c66ec88fSEmmanuel Vadot			 <&pciesys CLK_SATA_AXI_EN>,
38*c66ec88fSEmmanuel Vadot			 <&pciesys CLK_SATA_ASIC_EN>,
39*c66ec88fSEmmanuel Vadot			 <&pciesys CLK_SATA_RBC_EN>,
40*c66ec88fSEmmanuel Vadot			 <&pciesys CLK_SATA_PM_EN>;
41*c66ec88fSEmmanuel Vadot		clock-names = "ahb", "axi", "asic", "rbc", "pm";
42*c66ec88fSEmmanuel Vadot		phys = <&u3port1 PHY_TYPE_SATA>;
43*c66ec88fSEmmanuel Vadot		phy-names = "sata-phy";
44*c66ec88fSEmmanuel Vadot		ports-implemented = <0x1>;
45*c66ec88fSEmmanuel Vadot		power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>;
46*c66ec88fSEmmanuel Vadot		resets = <&pciesys MT7622_SATA_AXI_BUS_RST>,
47*c66ec88fSEmmanuel Vadot			 <&pciesys MT7622_SATA_PHY_SW_RST>,
48*c66ec88fSEmmanuel Vadot			 <&pciesys MT7622_SATA_PHY_REG_RST>;
49*c66ec88fSEmmanuel Vadot		reset-names = "axi", "sw", "reg";
50*c66ec88fSEmmanuel Vadot		mediatek,phy-mode = <&pciesys>;
51*c66ec88fSEmmanuel Vadot	};
52