Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/usb/generic-ehci.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: USB EHCI Controller Device Tree Bindings
0008 
0009 maintainers:
0010   - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
0011 
0012 allOf:
0013   - $ref: "usb-hcd.yaml"
0014   - if:
0015       properties:
0016         compatible:
0017           not:
0018             contains:
0019               const: ibm,usb-ehci-440epx
0020     then:
0021       properties:
0022         reg:
0023           maxItems: 1
0024 
0025 properties:
0026   compatible:
0027     oneOf:
0028       - items:
0029           - enum:
0030               - allwinner,sun4i-a10-ehci
0031               - allwinner,sun50i-a64-ehci
0032               - allwinner,sun50i-h6-ehci
0033               - allwinner,sun5i-a13-ehci
0034               - allwinner,sun6i-a31-ehci
0035               - allwinner,sun7i-a20-ehci
0036               - allwinner,sun8i-a23-ehci
0037               - allwinner,sun8i-a83t-ehci
0038               - allwinner,sun8i-h3-ehci
0039               - allwinner,sun8i-r40-ehci
0040               - allwinner,sun9i-a80-ehci
0041               - allwinner,sun20i-d1-ehci
0042               - aspeed,ast2400-ehci
0043               - aspeed,ast2500-ehci
0044               - aspeed,ast2600-ehci
0045               - brcm,bcm3384-ehci
0046               - brcm,bcm63268-ehci
0047               - brcm,bcm6328-ehci
0048               - brcm,bcm6358-ehci
0049               - brcm,bcm6362-ehci
0050               - brcm,bcm6368-ehci
0051               - brcm,bcm7125-ehci
0052               - brcm,bcm7346-ehci
0053               - brcm,bcm7358-ehci
0054               - brcm,bcm7360-ehci
0055               - brcm,bcm7362-ehci
0056               - brcm,bcm7420-ehci
0057               - brcm,bcm7425-ehci
0058               - brcm,bcm7435-ehci
0059               - hpe,gxp-ehci
0060               - ibm,476gtr-ehci
0061               - nxp,lpc1850-ehci
0062               - qca,ar7100-ehci
0063               - snps,hsdk-v1.0-ehci
0064               - socionext,uniphier-ehci
0065           - const: generic-ehci
0066       - items:
0067           - enum:
0068               - cavium,octeon-6335-ehci
0069               - ibm,usb-ehci-440epx
0070               - ibm,usb-ehci-460ex
0071               - nintendo,hollywood-usb-ehci
0072               - st,spear600-ehci
0073           - const: usb-ehci
0074       - enum:
0075           - generic-ehci
0076           - usb-ehci
0077 
0078   reg:
0079     minItems: 1
0080     maxItems: 2
0081 
0082   interrupts:
0083     maxItems: 1
0084 
0085   resets:
0086     minItems: 1
0087     maxItems: 4
0088 
0089   clocks:
0090     minItems: 1
0091     maxItems: 4
0092     description: |
0093       In case the Renesas R-Car Gen3 SoCs:
0094         - if a host only channel: first clock should be host.
0095         - if a USB DRD channel: first clock should be host and second
0096           one should be peripheral
0097 
0098   power-domains:
0099     maxItems: 1
0100 
0101   big-endian:
0102     $ref: /schemas/types.yaml#/definitions/flag
0103     description:
0104       Set this flag for HCDs with big endian descriptors and big
0105       endian registers.
0106 
0107   big-endian-desc:
0108     $ref: /schemas/types.yaml#/definitions/flag
0109     description:
0110       Set this flag for HCDs with big endian descriptors.
0111 
0112   big-endian-regs:
0113     $ref: /schemas/types.yaml#/definitions/flag
0114     description:
0115       Set this flag for HCDs with big endian registers.
0116 
0117   has-transaction-translator:
0118     $ref: /schemas/types.yaml#/definitions/flag
0119     description:
0120       Set this flag if EHCI has a Transaction Translator built into
0121       the root hub.
0122 
0123   needs-reset-on-resume:
0124     $ref: /schemas/types.yaml#/definitions/flag
0125     description:
0126       Set this flag to force EHCI reset after resume.
0127 
0128   spurious-oc:
0129     $ref: /schemas/types.yaml#/definitions/flag
0130     description:
0131       Set this flag to indicate that the hardware sometimes turns on
0132       the OC bit when an over-current isn't actually present.
0133 
0134   phys:
0135     minItems: 1
0136     maxItems: 3
0137 
0138   phy-names:
0139     const: usb
0140 
0141   iommus:
0142     maxItems: 1
0143 
0144   dr_mode:
0145     enum:
0146       - host
0147       - otg
0148 
0149 required:
0150   - compatible
0151   - reg
0152   - interrupts
0153 
0154 unevaluatedProperties: false
0155 
0156 examples:
0157   - |
0158     usb@e0000300 {
0159         compatible = "ibm,usb-ehci-440epx", "usb-ehci";
0160         interrupt-parent = <&UIC0>;
0161         interrupts = <0x1a 4>;
0162         reg = <0xe0000300 90>, <0xe0000390 70>;
0163         big-endian;
0164     };
0165 
0166   - |
0167     ehci0: usb@1c14000 {
0168         compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
0169         reg = <0x01c14000 0x100>;
0170         interrupts = <39>;
0171         clocks = <&ahb_gates 1>;
0172         phys = <&usbphy 1>;
0173         phy-names = "usb";
0174     };
0175 
0176 ...