File Index
Files and directories
Sign in
FILE

fsl,imx8qm-cdns3.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/usb/fsl,imx8qm-cdns3.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2# Copyright (c) 2020 NXP
  3%YAML 1.2
  4---
  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 Controller
  9
 10maintainers:
 11  - Frank Li <Frank.Li@nxp.com>
 12
 13properties:
 14  compatible:
 15    const: fsl,imx8qm-usb3
 16
 17  reg:
 18    items:
 19      - description: Register set for iMX USB3 Platform Control
 20
 21  "#address-cells":
 22    enum: [ 1, 2 ]
 23
 24  "#size-cells":
 25    enum: [ 1, 2 ]
 26
 27  ranges: true
 28
 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: lpm
 40      - const: bus
 41      - const: aclk
 42      - const: ipg
 43      - const: core
 44
 45  power-domains:
 46    maxItems: 1
 47
 48# Required child node:
 49
 50patternProperties:
 51  "^usb@[0-9a-f]+$":
 52    $ref: cdns,usb3.yaml#
 53
 54required:
 55  - compatible
 56  - reg
 57  - "#address-cells"
 58  - "#size-cells"
 59  - ranges
 60  - clocks
 61  - clock-names
 62  - power-domains
 63
 64additionalProperties: false
 65
 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    };
~/ Read-only file preview.