| /** @file | |
| Copyright (c) 2016, Linaro, Ltd. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef __NON_DISCOVERABLE_DEVICE_REGISTRATION_LIB_H__ | |
| #define __NON_DISCOVERABLE_DEVICE_REGISTRATION_LIB_H__ | |
| #include <Protocol/NonDiscoverableDevice.h> | |
| typedef enum { | |
| NonDiscoverableDeviceTypeAhci, | |
| NonDiscoverableDeviceTypeAmba, | |
| NonDiscoverableDeviceTypeEhci, | |
| NonDiscoverableDeviceTypeNvme, | |
| NonDiscoverableDeviceTypeOhci, | |
| NonDiscoverableDeviceTypeSdhci, | |
| NonDiscoverableDeviceTypeUfs, | |
| NonDiscoverableDeviceTypeUhci, | |
| NonDiscoverableDeviceTypeXhci, | |
| NonDiscoverableDeviceTypeMax, | |
| } NON_DISCOVERABLE_DEVICE_TYPE; | |
| /** | |
| Register a non-discoverable MMIO device | |
| @param[in] Type The type of non-discoverable device | |
| @param[in] DmaType Whether the device is DMA coherent | |
| @param[in] InitFunc Initialization routine to be invoked when | |
| the device is enabled | |
| @param[in,out] Handle The handle onto which to install the | |
| non-discoverable device protocol. | |
| If Handle is NULL or *Handle is NULL, a | |
| new handle will be allocated. | |
| @param[in] NumMmioResources The number of UINTN base/size pairs that | |
| follow, each describing an MMIO region | |
| owned by the device | |
| @param[in] ... The variable argument list which contains the | |
| info about MmioResources. | |
| @retval EFI_SUCCESS The registration succeeded. | |
| @retval Other The registration failed. | |
| **/ | |
| EFI_STATUS | |
| EFIAPI | |
| RegisterNonDiscoverableMmioDevice ( | |
| IN NON_DISCOVERABLE_DEVICE_TYPE Type, | |
| IN NON_DISCOVERABLE_DEVICE_DMA_TYPE DmaType, | |
| IN NON_DISCOVERABLE_DEVICE_INIT InitFunc, | |
| IN OUT EFI_HANDLE *Handle OPTIONAL, | |
| IN UINTN NumMmioResources, | |
| ... | |
| ); | |
| #endif |