2008-04-17 07:48:13 +02:00
|
|
|
/*++
|
|
|
|
|
|
|
|
Copyright (c) 2006 - 2007, Intel Corporation
|
|
|
|
All rights reserved. This program and the accompanying materials
|
|
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
|
|
|
|
|
|
|
|
Module Name:
|
|
|
|
|
|
|
|
PcatIsaAcpi.h
|
|
|
|
|
|
|
|
Abstract:
|
|
|
|
|
|
|
|
EFI PCAT ISA ACPI Driver for a Generic PC Platform
|
|
|
|
|
|
|
|
Revision History
|
|
|
|
|
|
|
|
--*/
|
|
|
|
|
|
|
|
#ifndef _PCAT_ISA_ACPI_H_
|
|
|
|
#define _PCAT_ISA_ACPI_H_
|
|
|
|
|
|
|
|
#include <PiDxe.h>
|
|
|
|
|
|
|
|
#include <IndustryStandard/Pci.h>
|
|
|
|
|
|
|
|
#include <Protocol/DevicePath.h>
|
|
|
|
#include <Protocol/PciIo.h>
|
|
|
|
#include <Protocol/IsaIo.h>
|
|
|
|
#include <Protocol/DriverBinding.h>
|
|
|
|
#include <Protocol/ComponentName.h>
|
|
|
|
#include <Protocol/ComponentName2.h>
|
|
|
|
|
|
|
|
|
|
|
|
#include <Library/UefiLib.h>
|
|
|
|
#include <Library/UefiBootServicesTableLib.h>
|
|
|
|
|
|
|
|
#include <Protocol/IsaAcpi.h>
|
|
|
|
//
|
|
|
|
// PCAT ISA ACPI device private data structure
|
|
|
|
//
|
2008-12-16 16:31:52 +01:00
|
|
|
#define PCAT_ISA_ACPI_DEV_SIGNATURE SIGNATURE_32('L','P','C','D')
|
2008-04-17 07:48:13 +02:00
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
UINTN Signature;
|
|
|
|
EFI_HANDLE Handle;
|
|
|
|
EFI_ISA_ACPI_PROTOCOL IsaAcpi;
|
|
|
|
EFI_PCI_IO_PROTOCOL *PciIo;
|
|
|
|
} PCAT_ISA_ACPI_DEV;
|
|
|
|
|
2008-12-06 02:26:45 +01:00
|
|
|
#define PCAT_ISA_ACPI_DEV_FROM_THIS(a) BASE_CR(a, PCAT_ISA_ACPI_DEV, IsaAcpi)
|
2008-04-17 07:48:13 +02:00
|
|
|
|
|
|
|
//
|
|
|
|
// Global Variables
|
|
|
|
//
|
|
|
|
extern EFI_DRIVER_BINDING_PROTOCOL gPcatIsaAcpiDriverBinding;
|
|
|
|
|
|
|
|
extern EFI_COMPONENT_NAME2_PROTOCOL gPcatIsaAcpiComponentName2;
|
|
|
|
|
|
|
|
extern EFI_COMPONENT_NAME_PROTOCOL gPcatIsaAcpiComponentName;
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
// Prototypes for Driver model protocol interface
|
|
|
|
//
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
PcatIsaAcpiDriverBindingSupported (
|
|
|
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
|
|
IN EFI_HANDLE Controller,
|
|
|
|
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
PcatIsaAcpiDriverBindingStart (
|
|
|
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
|
|
IN EFI_HANDLE Controller,
|
|
|
|
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
PcatIsaAcpiDriverBindingStop (
|
|
|
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
|
|
IN EFI_HANDLE Controller,
|
|
|
|
IN UINTN NumberOfChildren,
|
|
|
|
IN EFI_HANDLE *ChildHandleBuffer
|
|
|
|
);
|
|
|
|
|
|
|
|
//
|
|
|
|
// Prototypes for the ISA ACPI protocol interface
|
|
|
|
//
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
IsaDeviceEnumerate (
|
|
|
|
IN EFI_ISA_ACPI_PROTOCOL *This,
|
|
|
|
OUT EFI_ISA_ACPI_DEVICE_ID **Device
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
IsaDeviceSetPower (
|
|
|
|
IN EFI_ISA_ACPI_PROTOCOL *This,
|
|
|
|
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
|
|
|
IN BOOLEAN OnOff
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
IsaGetCurrentResource (
|
|
|
|
IN EFI_ISA_ACPI_PROTOCOL *This,
|
|
|
|
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
|
|
|
OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
IsaGetPossibleResource (
|
|
|
|
IN EFI_ISA_ACPI_PROTOCOL *This,
|
|
|
|
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
|
|
|
OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
IsaSetResource (
|
|
|
|
IN EFI_ISA_ACPI_PROTOCOL *This,
|
|
|
|
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
|
|
|
IN EFI_ISA_ACPI_RESOURCE_LIST *ResourceList
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
IsaEnableDevice (
|
|
|
|
IN EFI_ISA_ACPI_PROTOCOL *This,
|
|
|
|
IN EFI_ISA_ACPI_DEVICE_ID *Device,
|
|
|
|
IN BOOLEAN Enable
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
IsaInitDevice (
|
|
|
|
IN EFI_ISA_ACPI_PROTOCOL *This,
|
|
|
|
IN EFI_ISA_ACPI_DEVICE_ID *Device
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
IsaInterfaceInit (
|
|
|
|
IN EFI_ISA_ACPI_PROTOCOL *This
|
|
|
|
);
|
|
|
|
|
|
|
|
#endif
|