| // Copyright 2019 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. |
| |
| #ifndef SRC_DEVICES_USB_DRIVERS_XHCI_REWRITE_XHCI_HUB_H_ |
| #define SRC_DEVICES_USB_DRIVERS_XHCI_REWRITE_XHCI_HUB_H_ |
| |
| #include <zircon/hw/usb.h> |
| |
| #include <fbl/slab_allocator.h> |
| |
| namespace usb_xhci { |
| // This does need to be arena-allocated since it is freed in interrupt context |
| // and we don't have a context-aware allocator. |
| struct HubInfo { |
| uint8_t hub_id = 0; |
| usb_speed_t speed = 0; |
| uint32_t route_string = 0; |
| uint8_t hub_depth = 0; |
| uint8_t hub_speed = 0; |
| bool multi_tt = false; |
| uint8_t rh_port = 0; |
| uint8_t port_to_device[256]; |
| uint8_t parent_port_number = 0; |
| }; |
| } // namespace usb_xhci |
| |
| #endif // SRC_DEVICES_USB_DRIVERS_XHCI_REWRITE_XHCI_HUB_H_ |