104 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2# Copyright (c) 2020 NXP3%YAML 1.24---5$id: http://devicetree.org/schemas/usb/fsl,imx8qm-cdns3.yaml#6$schema: http://devicetree.org/meta-schemas/core.yaml#7 8title: NXP iMX8QM Soc USB Controller9 10maintainers:11 - Frank Li <Frank.Li@nxp.com>12 13properties:14 compatible:15 const: fsl,imx8qm-usb316 17 reg:18 items:19 - description: Register set for iMX USB3 Platform Control20 21 "#address-cells":22 enum: [ 1, 2 ]23 24 "#size-cells":25 enum: [ 1, 2 ]26 27 ranges: true28 29 clocks:30 items:31 - description: Standby clock. Used during ultra low power states.32 - description: USB bus clock for usb3 controller.33 - description: AXI clock for AXI interface.34 - description: ipg clock for register access.35 - description: Core clock for usb3 controller.36 37 clock-names:38 items:39 - const: lpm40 - const: bus41 - const: aclk42 - const: ipg43 - const: core44 45 power-domains:46 maxItems: 147 48# Required child node:49 50patternProperties:51 "^usb@[0-9a-f]+$":52 $ref: cdns,usb3.yaml#53 54required:55 - compatible56 - reg57 - "#address-cells"58 - "#size-cells"59 - ranges60 - clocks61 - clock-names62 - power-domains63 64additionalProperties: false65 66examples:67 - |68 #include <dt-bindings/clock/imx8-lpcg.h>69 #include <dt-bindings/firmware/imx/rsrc.h>70 #include <dt-bindings/interrupt-controller/arm-gic.h>71 72 usb@5b110000 {73 compatible = "fsl,imx8qm-usb3";74 reg = <0x5b110000 0x10000>;75 ranges;76 clocks = <&usb3_lpcg IMX_LPCG_CLK_1>,77 <&usb3_lpcg IMX_LPCG_CLK_0>,78 <&usb3_lpcg IMX_LPCG_CLK_7>,79 <&usb3_lpcg IMX_LPCG_CLK_4>,80 <&usb3_lpcg IMX_LPCG_CLK_5>;81 clock-names = "lpm", "bus", "aclk", "ipg", "core";82 assigned-clocks = <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MST_BUS>;83 assigned-clock-rates = <250000000>;84 power-domains = <&pd IMX_SC_R_USB_2>;85 #address-cells = <1>;86 #size-cells = <1>;87 88 usb@5b120000 {89 compatible = "cdns,usb3";90 reg = <0x5b120000 0x10000>, /* memory area for OTG/DRD registers */91 <0x5b130000 0x10000>, /* memory area for HOST registers */92 <0x5b140000 0x10000>; /* memory area for DEVICE registers */93 reg-names = "otg", "xhci", "dev";94 interrupt-parent = <&gic>;95 interrupts = <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,96 <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,97 <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,98 <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>;99 interrupt-names = "host", "peripheral", "otg", "wakeup";100 phys = <&usb3_phy>;101 phy-names = "cdns3,usb3-phy";102 };103 };104