Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 # Copyright (c) 2020 NXP
0003 %YAML 1.2
0004 ---
0005 $id: http://devicetree.org/schemas/usb/fsl,imx8mp-dwc3.yaml#
0006 $schema: http://devicetree.org/meta-schemas/core.yaml#
0007 
0008 title: NXP iMX8MP Soc USB Controller
0009 
0010 maintainers:
0011   - Li Jun <jun.li@nxp.com>
0012 
0013 properties:
0014   compatible:
0015     const: fsl,imx8mp-dwc3
0016 
0017   reg:
0018     items:
0019       - description: Address and length of the register set for HSIO Block Control
0020       - description: Address and length of the register set for the wrapper of dwc3 core on the SOC.
0021 
0022   "#address-cells":
0023     enum: [ 1, 2 ]
0024 
0025   "#size-cells":
0026     enum: [ 1, 2 ]
0027 
0028   dma-ranges:
0029     description:
0030       See section 2.3.9 of the DeviceTree Specification.
0031 
0032   ranges: true
0033 
0034   interrupts:
0035     maxItems: 1
0036     description: The interrupt that is asserted when a wakeup event is
0037       received.
0038 
0039   clocks:
0040     description:
0041       A list of phandle and clock-specifier pairs for the clocks
0042       listed in clock-names.
0043     items:
0044       - description: system hsio root clock.
0045       - description: suspend clock, used for usb wakeup logic.
0046 
0047   clock-names:
0048     items:
0049       - const: hsio
0050       - const: suspend
0051 
0052   fsl,permanently-attached:
0053     type: boolean
0054     description:
0055       Indicates if the device atached to a downstream port is
0056       permanently attached.
0057 
0058   fsl,disable-port-power-control:
0059     type: boolean
0060     description:
0061       Indicates whether the host controller implementation includes port
0062       power control. Defines Bit 3 in capability register (HCCPARAMS).
0063 
0064   fsl,over-current-active-low:
0065     type: boolean
0066     description:
0067       Over current signal polarity is active low.
0068 
0069   fsl,power-active-low:
0070     type: boolean
0071     description:
0072       Power pad (PWR) polarity is active low.
0073 
0074 # Required child node:
0075 
0076 patternProperties:
0077   "^usb@[0-9a-f]+$":
0078     $ref: snps,dwc3.yaml#
0079 
0080 required:
0081   - compatible
0082   - reg
0083   - "#address-cells"
0084   - "#size-cells"
0085   - dma-ranges
0086   - ranges
0087   - clocks
0088   - clock-names
0089   - interrupts
0090 
0091 additionalProperties: false
0092 
0093 examples:
0094   - |
0095     #include <dt-bindings/clock/imx8mp-clock.h>
0096     #include <dt-bindings/interrupt-controller/arm-gic.h>
0097     usb3_0: usb@32f10100 {
0098       compatible = "fsl,imx8mp-dwc3";
0099       reg = <0x32f10100 0x8>,
0100             <0x381f0000 0x20>;
0101       clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
0102                <&clk IMX8MP_CLK_USB_ROOT>;
0103       clock-names = "hsio", "suspend";
0104       interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
0105       #address-cells = <1>;
0106       #size-cells = <1>;
0107       dma-ranges = <0x40000000 0x40000000 0xc0000000>;
0108       ranges;
0109 
0110       usb@38100000 {
0111         compatible = "snps,dwc3";
0112         reg = <0x38100000 0x10000>;
0113         clocks = <&clk IMX8MP_CLK_HSIO_AXI>,
0114                  <&clk IMX8MP_CLK_USB_CORE_REF>,
0115                  <&clk IMX8MP_CLK_USB_ROOT>;
0116         clock-names = "bus_early", "ref", "suspend";
0117         assigned-clocks = <&clk IMX8MP_CLK_HSIO_AXI>;
0118         assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_500M>;
0119         assigned-clock-rates = <500000000>;
0120         interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
0121         phys = <&usb3_phy0>, <&usb3_phy0>;
0122         phy-names = "usb2-phy", "usb3-phy";
0123         snps,dis-u2-freeclk-exists-quirk;
0124       };
0125     };