/** @file
  Various register numbers and value bits based on the following publications:
  - Intel(R) datasheet 290549-001
  - Intel(R) datasheet 290562-001
  - Intel(R) datasheet 297654-006
  - Intel(R) datasheet 297738-017

  Copyright (C) 2015, Red Hat, Inc.
  Copyright (c) 2014, Gabriel L. Somlo <somlo@cmu.edu>

  SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef __I440FX_PIIX4_H__
#define __I440FX_PIIX4_H__

#include <Library/PciLib.h>

//
// Host Bridge Device ID (DID) value for I440FX
//
#define INTEL_82441_DEVICE_ID  0x1237

//
// B/D/F/Type: 0/0/0/PCI
//
#define PMC_REGISTER_PIIX4(Offset)  PCI_LIB_ADDRESS (0, 0, 0, (Offset))

#define PIIX4_PAM0  0x59
#define PIIX4_PAM1  0x5A
#define PIIX4_PAM2  0x5B
#define PIIX4_PAM3  0x5C
#define PIIX4_PAM4  0x5D
#define PIIX4_PAM5  0x5E
#define PIIX4_PAM6  0x5F

//
// B/D/F/Type: 0/1/3/PCI
//
#define POWER_MGMT_REGISTER_PIIX4(Offset)  PCI_LIB_ADDRESS (0, 1, 3, (Offset))

#define PIIX4_PMBA       0x40
#define PIIX4_PMBA_MASK  (BIT15 | BIT14 | BIT13 | BIT12 | BIT11 |         \
                                  BIT10 | BIT9  | BIT8  | BIT7  | BIT6)

#define PIIX4_PMREGMISC         0x80
#define PIIX4_PMREGMISC_PMIOSE  BIT0

//
// IO ports
//
#define PIIX4_CPU_HOTPLUG_BASE  0xAF00

#endif
