The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/usb/mediatek,mtu3.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 The device node for Mediatek USB3.0 DRD controller
    2 
    3 Required 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 
   24 Optional 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 
   63 additionally the properties from usb-hcd.yaml (in the current directory) are
   64 supported.
   65 
   66 Sub-nodes:
   67 The xhci should be added as subnode to mtu3 as shown in the following example
   68 if host mode is enabled. The DT binding details of xhci can be found in:
   69 Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.txt
   70 
   71 The port would be added as subnode if use "usb-role-switch" property.
   72         see graph.txt
   73 
   74 Example:
   75 ssusb: 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 };

Cache object: 40ec216530e8fcc5f723be7c7c5eef7f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.