14c48f236SRoger Quadros# SPDX-License-Identifier: GPL-2.0 24c48f236SRoger Quadros%YAML 1.2 34c48f236SRoger Quadros--- 4653b131aSRob Herring$id: http://devicetree.org/schemas/usb/ti,j721e-usb.yaml# 5653b131aSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 64c48f236SRoger Quadros 79d69d47fSKrzysztof Kozlowskititle: TI wrapper module for the Cadence USBSS-DRD controller 84c48f236SRoger Quadros 94c48f236SRoger Quadrosmaintainers: 100c0822bcSKrzysztof Kozlowski - Roger Quadros <rogerq@kernel.org> 114c48f236SRoger Quadros 124c48f236SRoger Quadrosproperties: 134c48f236SRoger Quadros compatible: 1488ebce92SAswath Govindraju oneOf: 154c48f236SRoger Quadros - const: ti,j721e-usb 1688ebce92SAswath Govindraju - items: 1788ebce92SAswath Govindraju - const: ti,am64-usb 18*f7fd939eSThéo Lebrun - const: ti,j721e-usb 194c48f236SRoger Quadros 204c48f236SRoger Quadros reg: 210499220dSRob Herring maxItems: 1 224c48f236SRoger Quadros 23453b6741SGrygorii Strashko ranges: true 24453b6741SGrygorii Strashko 254c48f236SRoger Quadros power-domains: 264c48f236SRoger Quadros description: 274c48f236SRoger Quadros PM domain provider node and an args specifier containing 284c48f236SRoger Quadros the USB device id value. See, 29f22145f1SMauro Carvalho Chehab Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml 300499220dSRob Herring maxItems: 1 314c48f236SRoger Quadros 324c48f236SRoger Quadros clocks: 334c48f236SRoger Quadros description: Clock phandles to usb2_refclk and lpm_clk 344c48f236SRoger Quadros minItems: 2 354c48f236SRoger Quadros maxItems: 2 364c48f236SRoger Quadros 374c48f236SRoger Quadros clock-names: 384c48f236SRoger Quadros items: 394c48f236SRoger Quadros - const: ref 404c48f236SRoger Quadros - const: lpm 414c48f236SRoger Quadros 424c48f236SRoger Quadros ti,usb2-only: 434c48f236SRoger Quadros description: 444c48f236SRoger Quadros If present, it restricts the controller to USB2.0 mode of 454c48f236SRoger Quadros operation. Must be present if USB3 PHY is not available 464c48f236SRoger Quadros for USB. 474c48f236SRoger Quadros type: boolean 484c48f236SRoger Quadros 494c48f236SRoger Quadros ti,vbus-divider: 504c48f236SRoger Quadros description: 514c48f236SRoger Quadros Should be present if USB VBUS line is connected to the 524c48f236SRoger Quadros VBUS pin of the SoC via a 1/3 voltage divider. 534c48f236SRoger Quadros type: boolean 544c48f236SRoger Quadros 555be478f9SRob Herring '#address-cells': 565be478f9SRob Herring const: 2 575be478f9SRob Herring 585be478f9SRob Herring '#size-cells': 595be478f9SRob Herring const: 2 605be478f9SRob Herring 61453b6741SGrygorii Strashko dma-coherent: true 62453b6741SGrygorii Strashko 635be478f9SRob HerringpatternProperties: 645be478f9SRob Herring "^usb@": 655be478f9SRob Herring type: object 665be478f9SRob Herring 674c48f236SRoger Quadrosrequired: 684c48f236SRoger Quadros - compatible 694c48f236SRoger Quadros - reg 704c48f236SRoger Quadros - power-domains 714c48f236SRoger Quadros - clocks 724c48f236SRoger Quadros - clock-names 734c48f236SRoger Quadros 745be478f9SRob HerringadditionalProperties: false 755be478f9SRob Herring 764c48f236SRoger Quadrosexamples: 774c48f236SRoger Quadros - | 784c48f236SRoger Quadros #include <dt-bindings/soc/ti,sci_pm_domain.h> 794c48f236SRoger Quadros #include <dt-bindings/interrupt-controller/arm-gic.h> 80fba56184SRob Herring 81fba56184SRob Herring bus { 82fba56184SRob Herring #address-cells = <2>; 83fba56184SRob Herring #size-cells = <2>; 84fba56184SRob Herring 854c48f236SRoger Quadros cdns_usb@4104000 { 864c48f236SRoger Quadros compatible = "ti,j721e-usb"; 874c48f236SRoger Quadros reg = <0x00 0x4104000 0x00 0x100>; 884c48f236SRoger Quadros power-domains = <&k3_pds 288 TI_SCI_PD_EXCLUSIVE>; 894c48f236SRoger Quadros clocks = <&k3_clks 288 15>, <&k3_clks 288 3>; 904c48f236SRoger Quadros clock-names = "ref", "lpm"; 914c48f236SRoger Quadros assigned-clocks = <&k3_clks 288 15>; /* USB2_REFCLK */ 924c48f236SRoger Quadros assigned-clock-parents = <&k3_clks 288 16>; /* HFOSC0 */ 934c48f236SRoger Quadros #address-cells = <2>; 944c48f236SRoger Quadros #size-cells = <2>; 954c48f236SRoger Quadros 964c48f236SRoger Quadros usb@6000000 { 974c48f236SRoger Quadros compatible = "cdns,usb3"; 984c48f236SRoger Quadros reg = <0x00 0x6000000 0x00 0x10000>, 994c48f236SRoger Quadros <0x00 0x6010000 0x00 0x10000>, 1004c48f236SRoger Quadros <0x00 0x6020000 0x00 0x10000>; 1014c48f236SRoger Quadros reg-names = "otg", "xhci", "dev"; 1024c48f236SRoger Quadros interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */ 1034c48f236SRoger Quadros <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, /* irq.6 */ 1044c48f236SRoger Quadros <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; /* otgirq.0 */ 1054c48f236SRoger Quadros interrupt-names = "host", 1064c48f236SRoger Quadros "peripheral", 1074c48f236SRoger Quadros "otg"; 1084c48f236SRoger Quadros maximum-speed = "super-speed"; 1094c48f236SRoger Quadros dr_mode = "otg"; 1104c48f236SRoger Quadros }; 1114c48f236SRoger Quadros }; 112fba56184SRob Herring }; 113