| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| composite dwc2_phy; |
| |
| using fuchsia.designware.platform; |
| using fuchsia.hardware.usb.phy; |
| using fuchsia.platform; |
| using fuchsia.usb.phy; |
| using fuchsia.devicetree; |
| |
| |
| primary node "dwc2-phy" { |
| if fuchsia.BIND_PROTOCOL == fuchsia.usb.phy.BIND_PROTOCOL.DEVICE { |
| true; |
| } else if fuchsia.hardware.usb.phy.Service == fuchsia.hardware.usb.phy.Service.DriverTransport { |
| fuchsia.BIND_PLATFORM_DEV_VID == fuchsia.platform.BIND_PLATFORM_DEV_VID.GENERIC; |
| fuchsia.BIND_PLATFORM_DEV_PID == fuchsia.platform.BIND_PLATFORM_DEV_PID.GENERIC; |
| fuchsia.BIND_PLATFORM_DEV_DID == fuchsia.platform.BIND_PLATFORM_DEV_DID.USB_DWC2; |
| } else { |
| false; |
| } |
| } |
| |
| node "pdev" { |
| fuchsia.BIND_PLATFORM_DEV_VID == fuchsia.platform.BIND_PLATFORM_DEV_VID.GENERIC; |
| accept fuchsia.BIND_PLATFORM_DEV_DID { |
| fuchsia.platform.BIND_PLATFORM_DEV_DID.USB_DWC2, |
| fuchsia.platform.BIND_PLATFORM_DEV_DID.DEVICETREE, |
| } |
| if fuchsia.BIND_PLATFORM_DEV_DID == fuchsia.platform.BIND_PLATFORM_DEV_DID.DEVICETREE { |
| fuchsia.devicetree.FIRST_COMPATIBLE == "snps,dwc2"; |
| } else { |
| fuchsia.BIND_PROTOCOL == fuchsia.platform.BIND_PROTOCOL.DEVICE; |
| fuchsia.BIND_PLATFORM_DEV_PID == fuchsia.platform.BIND_PLATFORM_DEV_PID.GENERIC; |
| fuchsia.BIND_PLATFORM_DEV_INSTANCE_ID == 0; |
| } |
| } |