150276Speter# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2166124Srafan# Copyright (c) 2020 NXP 350276Speter%YAML 1.2 450276Speter--- 550276Speter$id: http://devicetree.org/schemas/usb/fsl,imx8qm-cdns3.yaml# 650276Speter$schema: http://devicetree.org/meta-schemas/core.yaml# 750276Speter 850276Spetertitle: NXP iMX8QM Soc USB Controller 950276Speter 1050276Spetermaintainers: 1150276Speter - Frank Li <Frank.Li@nxp.com> 1250276Speter 1350276Speterproperties: 1450276Speter compatible: 1550276Speter const: fsl,imx8qm-usb3 1650276Speter 1750276Speter reg: 1850276Speter items: 1950276Speter - description: Register set for iMX USB3 Platform Control 2050276Speter 2150276Speter "#address-cells": 2250276Speter enum: [ 1, 2 ] 2350276Speter 2450276Speter "#size-cells": 2550276Speter enum: [ 1, 2 ] 2650276Speter 2750276Speter ranges: true 2850276Speter 2950276Speter clocks: 30166124Srafan items: 3150276Speter - description: Standby clock. Used during ultra low power states. 3250276Speter - description: USB bus clock for usb3 controller. 33166124Srafan - description: AXI clock for AXI interface. 34166124Srafan - description: ipg clock for register access. 3550276Speter - description: Core clock for usb3 controller. 3650276Speter 3750276Speter clock-names: 3850276Speter items: 3950276Speter - const: lpm 4097049Speter - const: bus 4197049Speter - const: aclk 4297049Speter - const: ipg 43166124Srafan - const: core 4450276Speter 4550276Speter power-domains: 4650276Speter maxItems: 1 4750276Speter 4850276Speter# Required child node: 4950276Speter 5076726SpeterpatternProperties: 5176726Speter "^usb@[0-9a-f]+$": 5250276Speter $ref: cdns,usb3.yaml# 5350276Speter 5450276Speterrequired: 5550276Speter - compatible 5650276Speter - reg 5750276Speter - "#address-cells" 5850276Speter - "#size-cells" 5950276Speter - ranges 6050276Speter - clocks 6150276Speter - clock-names 6250276Speter - power-domains 6350276Speter 6450276SpeteradditionalProperties: false 6550276Speter 6650276Speterexamples: 6750276Speter - | 6850276Speter #include <dt-bindings/clock/imx8-lpcg.h> 6950276Speter #include <dt-bindings/firmware/imx/rsrc.h> 7050276Speter #include <dt-bindings/interrupt-controller/arm-gic.h> 7150276Speter 7250276Speter usb@5b110000 { 7350276Speter compatible = "fsl,imx8qm-usb3"; 7450276Speter reg = <0x5b110000 0x10000>; 7550276Speter ranges; 7650276Speter clocks = <&usb3_lpcg IMX_LPCG_CLK_1>, 7750276Speter <&usb3_lpcg IMX_LPCG_CLK_0>, 7850276Speter <&usb3_lpcg IMX_LPCG_CLK_7>, 7950276Speter <&usb3_lpcg IMX_LPCG_CLK_4>, 8050276Speter <&usb3_lpcg IMX_LPCG_CLK_5>; 8150276Speter clock-names = "lpm", "bus", "aclk", "ipg", "core"; 8250276Speter assigned-clocks = <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MST_BUS>; 8350276Speter assigned-clock-rates = <250000000>; 8450276Speter power-domains = <&pd IMX_SC_R_USB_2>; 8550276Speter #address-cells = <1>; 8650276Speter #size-cells = <1>; 8750276Speter 8850276Speter usb@5b120000 { 8950276Speter compatible = "cdns,usb3"; 9050276Speter reg = <0x5b120000 0x10000>, /* memory area for OTG/DRD registers */ 9150276Speter <0x5b130000 0x10000>, /* memory area for HOST registers */ 9250276Speter <0x5b140000 0x10000>; /* memory area for DEVICE registers */ 9350276Speter reg-names = "otg", "xhci", "dev"; 9450276Speter interrupt-parent = <&gic>; 9550276Speter interrupts = <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>, 9650276Speter <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>, 9750276Speter <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>, 9850276Speter <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>; 9950276Speter interrupt-names = "host", "peripheral", "otg", "wakeup"; 10050276Speter phys = <&usb3_phy>; 10150276Speter phy-names = "cdns3,usb3-phy"; 10250276Speter }; 10350276Speter }; 10450276Speter