2 Copyright (c) 2016, Linaro, Ltd. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 #ifndef __NON_DISCOVERABLE_DEVICE_REGISTRATION_LIB_H__
15 #define __NON_DISCOVERABLE_DEVICE_REGISTRATION_LIB_H__
17 #include <Protocol/NonDiscoverableDevice.h>
20 NonDiscoverableDeviceTypeAhci
,
21 NonDiscoverableDeviceTypeAmba
,
22 NonDiscoverableDeviceTypeEhci
,
23 NonDiscoverableDeviceTypeNvme
,
24 NonDiscoverableDeviceTypeOhci
,
25 NonDiscoverableDeviceTypeSdhci
,
26 NonDiscoverableDeviceTypeUfs
,
27 NonDiscoverableDeviceTypeUhci
,
28 NonDiscoverableDeviceTypeXhci
,
29 NonDiscoverableDeviceTypeMax
,
30 } NON_DISCOVERABLE_DEVICE_TYPE
;
33 Register a non-discoverable MMIO device
35 @param[in] Type The type of non-discoverable device
36 @param[in] DmaType Whether the device is DMA coherent
37 @param[in] InitFunc Initialization routine to be invoked when
39 @param[in,out] Handle The handle onto which to install the
40 non-discoverable device protocol.
41 If Handle is NULL or *Handle is NULL, a
42 new handle will be allocated.
43 @param[in] NumMmioResources The number of UINTN base/size pairs that
44 follow, each describing an MMIO region
46 @param[in] ... The variable argument list which contains the
47 info about MmioResources.
49 @retval EFI_SUCCESS The registration succeeded.
50 @retval Other The registration failed.
55 RegisterNonDiscoverableMmioDevice (
56 IN NON_DISCOVERABLE_DEVICE_TYPE Type
,
57 IN NON_DISCOVERABLE_DEVICE_DMA_TYPE DmaType
,
58 IN NON_DISCOVERABLE_DEVICE_INIT InitFunc
,
59 IN OUT EFI_HANDLE
*Handle OPTIONAL
,
60 IN UINTN NumMmioResources
,