blob: e26e9618eb97b923c2f53f86616acc8c77ce3e9b [file] [log] [blame]
developer41ac1d12020-05-02 11:35:21 +02001MediaTek xHCI
2
3The device node for USB3 host controller on MediaTek SoCs.
4
5Required properties:
developerd2a38292023-02-17 17:04:12 +08006 - compatible : should be one of
7 "mediatek,mtk-xhci"
8 "mediatek,mt8195-xhci"
developer41ac1d12020-05-02 11:35:21 +02009 - reg : specifies physical base address and size of the registers
10 - reg-names: should be "mac" for xHCI MAC and "ippc" for IP port control
11 - power-domains : a phandle to USB power domain node to control USB's
12 MTCMOS
13 - vusb33-supply : regulator of USB avdd3.3v
14
15 - clocks : a list of phandle + clock-specifier pairs, one for each
16 entry in clock-names
17 - clock-names : must contain
18 "sys_ck": controller clock used by normal mode,
19 the following ones are optional:
20 "ref_ck": reference clock used by low power mode etc,
21 "mcu_ck": mcu_bus clock for register access,
22 "dma_ck": dma_bus clock for data transfer by DMA,
23 "xhci_ck": controller clock
24
25 - phys : list of all the USB PHYs on this HCD
26 - phy-names: name specifier for the USB PHY
27
28Optional properties:
29 - vbus-supply : reference to the VBUS regulator;
developer5a5c9482020-12-23 09:52:21 +080030 - mediatek,u3p-dis-msk : mask to disable u3ports, bit0 for u3port0,
31 bit1 for u3port1, ... etc;
32 - mediatek,u2p-dis-msk : mask to disable u2ports, bit0 for u2port0,
33 bit1 for u2port1, ... etc;
developer41ac1d12020-05-02 11:35:21 +020034
35Example:
36xhci: usb@1a0c0000 {
37 compatible = "mediatek,mt7629-xhci", "mediatek,mtk-xhci";
38 reg = <0x1a0c0000 0x1000>, <0x1a0c3e00 0x0100>;
39 reg-names = "mac", "ippc";
40 power-domains = <&scpsys MT7629_POWER_DOMAIN_HIF1>;
41 clocks = <&ssusbsys CLK_SSUSB_SYS_EN>, <&ssusbsys CLK_SSUSB_REF_EN>,
42 <&ssusbsys CLK_SSUSB_MCU_EN>, <&ssusbsys CLK_SSUSB_DMA_EN>;
43 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck";
44 phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>;
45 status = "disabled";
46};