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