blob: c17b6e5cc97f444fbe1b80cb81e4e8bbb8d404eb [file] [log] [blame]
// Copyright 2022 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 aml_usb_phy;
using fuchsia.amlogic.platform;
using fuchsia.clock;
using fuchsia.gpio;
using fuchsia.platform;
using fuchsia.devicetree;
using fuchsia.hardware.registers;
primary node "pdev" {
if fuchsia.BIND_PLATFORM_DEV_VID == fuchsia.platform.BIND_PLATFORM_DEV_VID.GENERIC {
fuchsia.BIND_PLATFORM_DEV_DID == fuchsia.platform.BIND_PLATFORM_DEV_DID.DEVICETREE;
accept fuchsia.devicetree.FIRST_COMPATIBLE {
"amlogic,g12a-usb-phy",
"amlogic,g12b-usb-phy",
}
} else {
fuchsia.BIND_PROTOCOL == fuchsia.platform.BIND_PROTOCOL.DEVICE;
fuchsia.BIND_PLATFORM_DEV_VID == fuchsia.amlogic.platform.BIND_PLATFORM_DEV_VID.AMLOGIC;
fuchsia.BIND_PLATFORM_DEV_DID == fuchsia.amlogic.platform.BIND_PLATFORM_DEV_DID.USB_PHY_V2;
fuchsia.BIND_PLATFORM_DEV_INSTANCE_ID == 0;
}
}
node "register-reset" {
fuchsia.hardware.registers.Service == fuchsia.hardware.registers.Service.ZirconTransport;
}
optional node "gpio-init" {
fuchsia.BIND_INIT_STEP == fuchsia.gpio.BIND_INIT_STEP.GPIO;
}
optional node "clock-init" {
fuchsia.BIND_INIT_STEP == fuchsia.clock.BIND_INIT_STEP.CLOCK;
}