1 /** @file 2 Define private data structure for UHCI and EHCI. 3 4 Copyright (c) 2013-2015 Intel Corporation. 5 6 This program and the accompanying materials 7 are licensed and made available under the terms and conditions of the BSD License 8 which accompanies this distribution. The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #ifndef _USB_PEI_H 17 #define _USB_PEI_H 18 19 #include "Ioh.h" 20 21 #define PEI_IOH_OHCI_SIGNATURE SIGNATURE_32 ('O', 'H', 'C', 'I') 22 #define PEI_IOH_EHCI_SIGNATURE SIGNATURE_32 ('E', 'H', 'C', 'I') 23 24 typedef struct { 25 UINTN Signature; 26 PEI_USB_CONTROLLER_PPI UsbControllerPpi; 27 EFI_PEI_PPI_DESCRIPTOR PpiList; 28 UINTN MmioBase[IOH_MAX_OHCI_USB_CONTROLLERS]; 29 } IOH_OHCI_DEVICE; 30 31 typedef struct { 32 UINTN Signature; 33 PEI_USB_CONTROLLER_PPI UsbControllerPpi; 34 EFI_PEI_PPI_DESCRIPTOR PpiList; 35 UINTN MmioBase[IOH_MAX_EHCI_USB_CONTROLLERS]; 36 } IOH_EHCI_DEVICE; 37 38 #define IOH_OHCI_DEVICE_FROM_THIS(a) \ 39 CR(a, IOH_OHCI_DEVICE, UsbControllerPpi, PEI_IOH_OHCI_SIGNATURE) 40 41 #define IOH_EHCI_DEVICE_FROM_THIS(a) \ 42 CR (a, IOH_EHCI_DEVICE, UsbControllerPpi, PEI_IOH_EHCI_SIGNATURE) 43 44 #endif 45