1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/ti,j721e-usb.yaml# 5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: TI wrapper module for the Cadence USBSS-DRD controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10e67e8565SEmmanuel Vadot - Roger Quadros <rogerq@kernel.org> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotproperties: 13c66ec88fSEmmanuel Vadot compatible: 145def4c47SEmmanuel Vadot oneOf: 15c66ec88fSEmmanuel Vadot - const: ti,j721e-usb 165def4c47SEmmanuel Vadot - items: 175def4c47SEmmanuel Vadot - const: ti,am64-usb 18*b2d2a78aSEmmanuel Vadot - const: ti,j721e-usb 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel Vadot reg: 215def4c47SEmmanuel Vadot maxItems: 1 225def4c47SEmmanuel Vadot 235def4c47SEmmanuel Vadot ranges: true 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot power-domains: 26c66ec88fSEmmanuel Vadot description: 27c66ec88fSEmmanuel Vadot PM domain provider node and an args specifier containing 28c66ec88fSEmmanuel Vadot the USB device id value. See, 295956d97fSEmmanuel Vadot Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml 305def4c47SEmmanuel Vadot maxItems: 1 31c66ec88fSEmmanuel Vadot 32c66ec88fSEmmanuel Vadot clocks: 33c66ec88fSEmmanuel Vadot description: Clock phandles to usb2_refclk and lpm_clk 34c66ec88fSEmmanuel Vadot minItems: 2 35c66ec88fSEmmanuel Vadot maxItems: 2 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot clock-names: 38c66ec88fSEmmanuel Vadot items: 39c66ec88fSEmmanuel Vadot - const: ref 40c66ec88fSEmmanuel Vadot - const: lpm 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot ti,usb2-only: 43c66ec88fSEmmanuel Vadot description: 44c66ec88fSEmmanuel Vadot If present, it restricts the controller to USB2.0 mode of 45c66ec88fSEmmanuel Vadot operation. Must be present if USB3 PHY is not available 46c66ec88fSEmmanuel Vadot for USB. 47c66ec88fSEmmanuel Vadot type: boolean 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot ti,vbus-divider: 50c66ec88fSEmmanuel Vadot description: 51c66ec88fSEmmanuel Vadot Should be present if USB VBUS line is connected to the 52c66ec88fSEmmanuel Vadot VBUS pin of the SoC via a 1/3 voltage divider. 53c66ec88fSEmmanuel Vadot type: boolean 54c66ec88fSEmmanuel Vadot 556be33864SEmmanuel Vadot '#address-cells': 566be33864SEmmanuel Vadot const: 2 576be33864SEmmanuel Vadot 586be33864SEmmanuel Vadot '#size-cells': 596be33864SEmmanuel Vadot const: 2 606be33864SEmmanuel Vadot 615def4c47SEmmanuel Vadot dma-coherent: true 625def4c47SEmmanuel Vadot 636be33864SEmmanuel VadotpatternProperties: 646be33864SEmmanuel Vadot "^usb@": 656be33864SEmmanuel Vadot type: object 666be33864SEmmanuel Vadot 67c66ec88fSEmmanuel Vadotrequired: 68c66ec88fSEmmanuel Vadot - compatible 69c66ec88fSEmmanuel Vadot - reg 70c66ec88fSEmmanuel Vadot - power-domains 71c66ec88fSEmmanuel Vadot - clocks 72c66ec88fSEmmanuel Vadot - clock-names 73c66ec88fSEmmanuel Vadot 746be33864SEmmanuel VadotadditionalProperties: false 756be33864SEmmanuel Vadot 76c66ec88fSEmmanuel Vadotexamples: 77c66ec88fSEmmanuel Vadot - | 78c66ec88fSEmmanuel Vadot #include <dt-bindings/soc/ti,sci_pm_domain.h> 79c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot bus { 82c66ec88fSEmmanuel Vadot #address-cells = <2>; 83c66ec88fSEmmanuel Vadot #size-cells = <2>; 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot cdns_usb@4104000 { 86c66ec88fSEmmanuel Vadot compatible = "ti,j721e-usb"; 87c66ec88fSEmmanuel Vadot reg = <0x00 0x4104000 0x00 0x100>; 88c66ec88fSEmmanuel Vadot power-domains = <&k3_pds 288 TI_SCI_PD_EXCLUSIVE>; 89c66ec88fSEmmanuel Vadot clocks = <&k3_clks 288 15>, <&k3_clks 288 3>; 90c66ec88fSEmmanuel Vadot clock-names = "ref", "lpm"; 91c66ec88fSEmmanuel Vadot assigned-clocks = <&k3_clks 288 15>; /* USB2_REFCLK */ 92c66ec88fSEmmanuel Vadot assigned-clock-parents = <&k3_clks 288 16>; /* HFOSC0 */ 93c66ec88fSEmmanuel Vadot #address-cells = <2>; 94c66ec88fSEmmanuel Vadot #size-cells = <2>; 95c66ec88fSEmmanuel Vadot 96c66ec88fSEmmanuel Vadot usb@6000000 { 97c66ec88fSEmmanuel Vadot compatible = "cdns,usb3"; 98c66ec88fSEmmanuel Vadot reg = <0x00 0x6000000 0x00 0x10000>, 99c66ec88fSEmmanuel Vadot <0x00 0x6010000 0x00 0x10000>, 100c66ec88fSEmmanuel Vadot <0x00 0x6020000 0x00 0x10000>; 101c66ec88fSEmmanuel Vadot reg-names = "otg", "xhci", "dev"; 102c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */ 103c66ec88fSEmmanuel Vadot <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, /* irq.6 */ 104c66ec88fSEmmanuel Vadot <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; /* otgirq.0 */ 105c66ec88fSEmmanuel Vadot interrupt-names = "host", 106c66ec88fSEmmanuel Vadot "peripheral", 107c66ec88fSEmmanuel Vadot "otg"; 108c66ec88fSEmmanuel Vadot maximum-speed = "super-speed"; 109c66ec88fSEmmanuel Vadot dr_mode = "otg"; 110c66ec88fSEmmanuel Vadot }; 111c66ec88fSEmmanuel Vadot }; 112c66ec88fSEmmanuel Vadot }; 113