// Copyright 2023 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.
@available(added=HEAD)
library fuchsia.hardware.usb.phy;

using zx;

@discoverable
@transport("Driver")
open protocol UsbPhy {
    /// Informs the PHY when peripheral role connect status changed.
    flexible ConnectStatusChanged(struct {
        connected bool;
    }) -> () error zx.Status;
};

service Service {
    device client_end:UsbPhy;
};
