Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v5.7 108 lines 4.4 kB view raw
1The device node for Mediatek USB3.0 DRD controller 2 3Required properties: 4 - compatible : should be "mediatek,<soc-model>-mtu3", "mediatek,mtu3", 5 soc-model is the name of SoC, such as mt8173, mt2712 etc, 6 when using "mediatek,mtu3" compatible string, you need SoC specific 7 ones in addition, one of: 8 - "mediatek,mt8173-mtu3" 9 - reg : specifies physical base address and size of the registers 10 - reg-names: should be "mac" for device IP and "ippc" for IP port control 11 - interrupts : interrupt used by the device IP 12 - power-domains : a phandle to USB power domain node to control USB's 13 mtcmos 14 - vusb33-supply : regulator of USB avdd3.3v 15 - clocks : a list of phandle + clock-specifier pairs, one for each 16 entry in clock-names 17 - clock-names : must contain "sys_ck" for clock of controller, 18 the following clocks are optional: 19 "ref_ck", "mcu_ck" and "dma_ck"; 20 - phys : see usb-hcd.yaml in the current directory 21 - dr_mode : should be one of "host", "peripheral" or "otg", 22 refer to usb/generic.txt 23 24Optional properties: 25 - #address-cells, #size-cells : should be '2' if the device has sub-nodes 26 with 'reg' property 27 - ranges : allows valid 1:1 translation between child's address space and 28 parent's address space 29 - extcon : external connector for vbus and idpin changes detection, needed 30 when supports dual-role mode. 31 it's considered valid for compatibility reasons, not allowed for 32 new bindings, and use "usb-role-switch" property instead. 33 - vbus-supply : reference to the VBUS regulator, needed when supports 34 dual-role mode. 35 it's considered valid for compatibility reasons, not allowed for 36 new bindings, and put into a usb-connector node. 37 see connector/usb-connector.yaml. 38 - pinctrl-names : a pinctrl state named "default" is optional, and need be 39 defined if auto drd switch is enabled, that means the property dr_mode 40 is set as "otg", and meanwhile the property "mediatek,enable-manual-drd" 41 is not set. 42 - pinctrl-0 : pin control group 43 See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 44 45 - maximum-speed : valid arguments are "super-speed", "high-speed" and 46 "full-speed"; refer to usb/generic.txt 47 - usb-role-switch : use USB Role Switch to support dual-role switch, but 48 not extcon; see usb/generic.txt. 49 - enable-manual-drd : supports manual dual-role switch via debugfs; usually 50 used when receptacle is TYPE-A and also wants to support dual-role 51 mode. 52 - wakeup-source: enable USB remote wakeup of host mode. 53 - mediatek,syscon-wakeup : phandle to syscon used to access the register 54 of the USB wakeup glue layer between SSUSB and SPM; it depends on 55 "wakeup-source", and has two arguments: 56 - the first one : register base address of the glue layer in syscon; 57 - the second one : hardware version of the glue layer 58 - 1 : used by mt8173 etc 59 - 2 : used by mt2712 etc 60 - mediatek,u3p-dis-msk : mask to disable u3ports, bit0 for u3port0, 61 bit1 for u3port1, ... etc; 62 63additionally the properties from usb-hcd.yaml (in the current directory) are 64supported. 65 66Sub-nodes: 67The xhci should be added as subnode to mtu3 as shown in the following example 68if host mode is enabled. The DT binding details of xhci can be found in: 69Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.txt 70 71The port would be added as subnode if use "usb-role-switch" property. 72 see graph.txt 73 74Example: 75ssusb: usb@11271000 { 76 compatible = "mediatek,mt8173-mtu3"; 77 reg = <0 0x11271000 0 0x3000>, 78 <0 0x11280700 0 0x0100>; 79 reg-names = "mac", "ippc"; 80 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_LOW>; 81 phys = <&phy_port0 PHY_TYPE_USB3>, 82 <&phy_port1 PHY_TYPE_USB2>; 83 power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>; 84 clocks = <&topckgen CLK_TOP_USB30_SEL>, <&clk26m>, 85 <&pericfg CLK_PERI_USB0>, 86 <&pericfg CLK_PERI_USB1>; 87 clock-names = "sys_ck", "ref_ck"; 88 vusb33-supply = <&mt6397_vusb_reg>; 89 vbus-supply = <&usb_p0_vbus>; 90 extcon = <&extcon_usb>; 91 dr_mode = "otg"; 92 wakeup-source; 93 mediatek,syscon-wakeup = <&pericfg 0x400 1>; 94 #address-cells = <2>; 95 #size-cells = <2>; 96 ranges; 97 98 usb_host: xhci@11270000 { 99 compatible = "mediatek,mt8173-xhci"; 100 reg = <0 0x11270000 0 0x1000>; 101 reg-names = "mac"; 102 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>; 103 power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>; 104 clocks = <&topckgen CLK_TOP_USB30_SEL>, <&clk26m>; 105 clock-names = "sys_ck", "ref_ck"; 106 vusb33-supply = <&mt6397_vusb_reg>; 107 }; 108};