+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-\r
-Module Name:\r
-\r
- IsaAcpi.c\r
- \r
-Abstract: \r
- \r
- ISA ACPI Protocol Implementation\r
-\r
-Revision History\r
-\r
---*/\r
-\r
-#include "PcatIsaAcpi.h"\r
-\r
-//\r
-// Platform specific data for the ISA devices that are present.in the platform\r
-//\r
-\r
-//\r
-// COM 1 UART Controller\r
-//\r
-EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiCom1DeviceResources[] = {\r
- {EfiIsaAcpiResourceIo, 0, 0x3f8, 0x3ff},\r
- {EfiIsaAcpiResourceInterrupt, 0, 4, 0},\r
- {EfiIsaAcpiResourceEndOfList, 0, 0, 0}\r
-};\r
-\r
-//\r
-// COM 2 UART Controller\r
-//\r
-EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiCom2DeviceResources[] = {\r
- {EfiIsaAcpiResourceIo, 0, 0x2f8, 0x2ff},\r
- {EfiIsaAcpiResourceInterrupt, 0, 3, 0},\r
- {EfiIsaAcpiResourceEndOfList, 0, 0, 0}\r
-};\r
-\r
-//\r
-// PS/2 Keyboard Controller\r
-//\r
-EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiPs2KeyboardDeviceResources[] = {\r
- {EfiIsaAcpiResourceIo, 0, 0x60, 0x64},\r
- {EfiIsaAcpiResourceInterrupt, 0, 1, 0},\r
- {EfiIsaAcpiResourceEndOfList, 0, 0, 0}\r
-};\r
-\r
-//\r
-// PS/2 Mouse Controller\r
-//\r
-EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiPs2MouseDeviceResources[] = {\r
- {EfiIsaAcpiResourceIo, 0, 0x60, 0x64},\r
- {EfiIsaAcpiResourceInterrupt, 0, 12, 0},\r
- {EfiIsaAcpiResourceEndOfList, 0, 0, 0}\r
-};\r
-\r
-//\r
-// Floppy Disk Controller\r
-//\r
-EFI_ISA_ACPI_RESOURCE mPcatIsaAcpiFloppyResources[] = {\r
- {EfiIsaAcpiResourceIo, 0, 0x3f0, 0x3f7},\r
- {EfiIsaAcpiResourceInterrupt, 0, 6, 0},\r
- {EfiIsaAcpiResourceDma, EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SPEED_COMPATIBLE | EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_WIDTH_8 | EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SINGLE_MODE, 2, 0},\r
- {EfiIsaAcpiResourceEndOfList, 0, 0, 0}\r
-};\r
-\r
-//\r
-// Table of ISA Controllers\r
-//\r
-EFI_ISA_ACPI_RESOURCE_LIST gPcatIsaAcpiDeviceList[] = {\r
- {{EISA_PNP_ID(0x501), 0}, mPcatIsaAcpiCom1DeviceResources }, // COM 1 UART Controller\r
- {{EISA_PNP_ID(0x501), 1}, mPcatIsaAcpiCom2DeviceResources }, // COM 2 UART Controller\r
- {{EISA_PNP_ID(0x303), 0}, mPcatIsaAcpiPs2KeyboardDeviceResources }, // PS/2 Keyboard Controller\r
- {{EISA_PNP_ID(0x303), 1}, mPcatIsaAcpiPs2MouseDeviceResources }, // PS/2 Mouse Controller\r
- {{EISA_PNP_ID(0x604), 0}, mPcatIsaAcpiFloppyResources }, // Floppy Disk Controller A:\r
- {{EISA_PNP_ID(0x604), 1}, mPcatIsaAcpiFloppyResources }, // Floppy Disk Controller B:\r
- {{0, 0}, NULL } // End if ISA Controllers\r
-};\r
-\r
-//\r
-// ISA ACPI Protocol Functions\r
-//\r
-VOID\r
-IsaDeviceLookup (\r
- IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
- OUT EFI_ISA_ACPI_RESOURCE_LIST **IsaAcpiDevice,\r
- OUT EFI_ISA_ACPI_RESOURCE_LIST **NextIsaAcpiDevice\r
- )\r
-/*++\r
-\r
-Routine Description:\r
- Enumerate the ISA devices on the ISA bus\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
- UINTN Index;\r
-\r
- *IsaAcpiDevice = NULL;\r
- if (NextIsaAcpiDevice != NULL) {\r
- *NextIsaAcpiDevice = NULL;\r
- }\r
- if (Device == NULL) {\r
- Index = 0;\r
- } else {\r
- for(Index = 0; gPcatIsaAcpiDeviceList[Index].ResourceItem != NULL; Index++) {\r
- if (Device->HID == gPcatIsaAcpiDeviceList[Index].Device.HID && \r
- Device->UID == gPcatIsaAcpiDeviceList[Index].Device.UID ) {\r
- break;\r
- }\r
- }\r
- if (gPcatIsaAcpiDeviceList[Index].ResourceItem == NULL) {\r
- return;\r
- }\r
- *IsaAcpiDevice = &(gPcatIsaAcpiDeviceList[Index]);\r
- Index++;\r
- }\r
- if (gPcatIsaAcpiDeviceList[Index].ResourceItem != NULL && NextIsaAcpiDevice != NULL) {\r
- *NextIsaAcpiDevice = &(gPcatIsaAcpiDeviceList[Index]);\r
- }\r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-IsaDeviceEnumerate (\r
- IN EFI_ISA_ACPI_PROTOCOL *This,\r
- OUT EFI_ISA_ACPI_DEVICE_ID **Device\r
- )\r
-/*++\r
-\r
-Routine Description:\r
- Enumerate the ISA devices on the ISA bus\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
- EFI_ISA_ACPI_RESOURCE_LIST *IsaAcpiDevice;\r
- EFI_ISA_ACPI_RESOURCE_LIST *NextIsaAcpiDevice;\r
-\r
- IsaDeviceLookup (*Device, &IsaAcpiDevice, &NextIsaAcpiDevice);\r
- if (NextIsaAcpiDevice == NULL) {\r
- return EFI_NOT_FOUND;\r
- }\r
- *Device = &(NextIsaAcpiDevice->Device);\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-IsaDeviceSetPower (\r
- IN EFI_ISA_ACPI_PROTOCOL *This,\r
- IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
- IN BOOLEAN OnOff\r
- )\r
-/*++\r
-\r
-Routine Description:\r
- Set ISA device power \r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
- return EFI_SUCCESS;\r
-} \r
-\r
-EFI_STATUS\r
-EFIAPI\r
-IsaGetCurrentResource (\r
- IN EFI_ISA_ACPI_PROTOCOL *This,\r
- IN EFI_ISA_ACPI_DEVICE_ID *Device, \r
- OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList\r
- )\r
-/*++\r
-\r
-Routine Description:\r
- Get current Resource of the specific ISA device\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
- IsaDeviceLookup (Device, ResourceList, NULL);\r
- if (*ResourceList == NULL) {\r
- return EFI_NOT_FOUND;\r
- }\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-IsaGetPossibleResource (\r
- IN EFI_ISA_ACPI_PROTOCOL *This,\r
- IN EFI_ISA_ACPI_DEVICE_ID *Device, \r
- OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/ \r
-{\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-IsaSetResource (\r
- IN EFI_ISA_ACPI_PROTOCOL *This,\r
- IN EFI_ISA_ACPI_DEVICE_ID *Device, \r
- IN EFI_ISA_ACPI_RESOURCE_LIST *ResourceList\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
- return EFI_SUCCESS;\r
-}\r
- \r
-EFI_STATUS\r
-EFIAPI\r
-IsaEnableDevice (\r
- IN EFI_ISA_ACPI_PROTOCOL *This,\r
- IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
- IN BOOLEAN Enable\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
- return EFI_SUCCESS; \r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-IsaInitDevice (\r
- IN EFI_ISA_ACPI_PROTOCOL *This,\r
- IN EFI_ISA_ACPI_DEVICE_ID *Device\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
- return EFI_SUCCESS;\r
-}\r
-\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-IsaInterfaceInit (\r
- IN EFI_ISA_ACPI_PROTOCOL *This\r
-) \r
-/*++\r
-\r
-Routine Description:\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
- return EFI_SUCCESS;\r
-} \r