Home | History | Annotate | Download | only in PlatformDxe
      1 /** @file
      2 
      3   Copyright (c) 2004  - 2014, Intel Corporation. All rights reserved.<BR>
      4 
      5   This program and the accompanying materials are licensed and made available under
      7   the terms and conditions of the BSD License that accompanies this distribution.
      9   The full text of the license may be found at
     11   http://opensource.org/licenses/bsd-license.php.
     13 
     15   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     17   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     19 
     21 
     23 Module Name:
     24 
     25 
     26   BoardIdDecode.c
     27 
     28 Abstract:
     29 
     30 --*/
     31 
     32 #include "PchRegs.h"
     33 #include "PlatformDxe.h"
     34 #include "Platform.h"
     35 
     36 
     37 //
     38 // Define macros to build data structure signatures from characters.
     39 //
     40 #define EFI_SIGNATURE_16(A, B)        ((A) | (B << 8))
     41 #define EFI_SIGNATURE_32(A, B, C, D)  (EFI_SIGNATURE_16 (A, B) | (EFI_SIGNATURE_16 (C, D) << 16))
     42 #define EFI_SIGNATURE_64(A, B, C, D, E, F, G, H) \
     43     (EFI_SIGNATURE_32 (A, B, C, D) | ((UINT64) (EFI_SIGNATURE_32 (E, F, G, H)) << 32))
     44 
     45 BOARD_ID_DECODE mBoardIdDecodeTable[] = {
     46   //
     47   // Board ID, Board Features bitmap, Subsystem Device ID
     48   // This is a dummy entry that has to exist. Do not delete, just make a generic entry that fit for product.
     49   //
     50   {
     51   	MW_ITX_MPCIE_LVDS_LOEM_AA,
     52     MW_ITX_MPCIE_LVDS_LOEM_ID,
     53     B_BOARD_FEATURES_FORM_FACTOR_ATX |
     54     B_BOARD_FEATURES_SIO_COM2 |
     55     B_BOARD_FEATURES_2_C0_MEMORY_SLOT |
     56     V_BOARD_FEATURES_SLEEP_S3 |
     57     B_BOARD_FEATURES_PS2WAKEFROMS5 |
     58     B_BOARD_FEATURES_LVDS |
     59     B_BOARD_FEATURES_VERB_TABLE1,
     60     V_DEFAULT_SUBSYSTEM_DEVICE_ID,
     61     0xD625,
     62     EFI_SIGNATURE_64('M','W','P','N','T','1','0','N')
     63   },
     64 
     65   {
     66   	 MW_ITX_MPCIE_LVDS_CHANNEL_AA,
     67     MW_ITX_MPCIE_LVDS_CHANNEL_ID,
     68     B_BOARD_FEATURES_FORM_FACTOR_ATX |
     69     B_BOARD_FEATURES_SIO_COM2 |
     70     B_BOARD_FEATURES_2_C0_MEMORY_SLOT |
     71     V_BOARD_FEATURES_SLEEP_S3 |
     72     B_BOARD_FEATURES_PS2WAKEFROMS5 |
     73     B_BOARD_FEATURES_LVDS |
     74     B_BOARD_FEATURES_VERB_TABLE1,
     75     V_DEFAULT_SUBSYSTEM_DEVICE_ID,
     76     0xD625,
     77     EFI_SIGNATURE_64('M','W','P','N','T','1','0','N')
     78   },
     79 
     80   {
     81   	MW_ITX_MPCIE_CHANNEL_AA,
     82     MW_ITX_MPCIE_CHANNEL_ID,
     83     B_BOARD_FEATURES_FORM_FACTOR_ATX |
     84     B_BOARD_FEATURES_SIO_COM2 |
     85     B_BOARD_FEATURES_2_C0_MEMORY_SLOT |
     86     V_BOARD_FEATURES_SLEEP_S3 |
     87     B_BOARD_FEATURES_PS2WAKEFROMS5 |
     88     B_BOARD_FEATURES_VERB_TABLE1,
     89     V_DEFAULT_SUBSYSTEM_DEVICE_ID,
     90     0xD625,
     91     EFI_SIGNATURE_64('M','W','P','N','T','1','0','N')
     92   },
     93 
     94   {
     95   	KT_ITX_MPCIE_LVDS_LOEM_AA,
     96     KT_ITX_MPCIE_LVDS_LOEM_ID,
     97     B_BOARD_FEATURES_FORM_FACTOR_ATX |
     98     B_BOARD_FEATURES_SIO_COM2 |
     99     B_BOARD_FEATURES_2_C0_MEMORY_SLOT |
    100     V_BOARD_FEATURES_SLEEP_S3 |
    101     B_BOARD_FEATURES_PS2WAKEFROMS5 |
    102     B_BOARD_FEATURES_LVDS |
    103     B_BOARD_FEATURES_VERB_TABLE2,
    104     V_DEFAULT_SUBSYSTEM_DEVICE_ID_KT,
    105     0xD626,
    106     EFI_SIGNATURE_64('K','T','P','N','T','1','0','N')
    107   },
    108 
    109   {
    110   	KT_ITX_CHANNEL_AA,
    111     KT_ITX_CHANNEL_ID,
    112     B_BOARD_FEATURES_FORM_FACTOR_ATX |
    113     B_BOARD_FEATURES_SIO_COM2 |
    114     B_BOARD_FEATURES_2_C0_MEMORY_SLOT |
    115     V_BOARD_FEATURES_SLEEP_S3 |
    116     B_BOARD_FEATURES_PS2WAKEFROMS5 |
    117     B_BOARD_FEATURES_NO_MINIPCIE |
    118     B_BOARD_FEATURES_VERB_TABLE2,
    119     V_DEFAULT_SUBSYSTEM_DEVICE_ID_KT,
    120     0xD626,
    121     EFI_SIGNATURE_64('K','T','P','N','T','1','0','N')
    122   },
    123 
    124   {
    125   	KT_ITX_LOEM_AA,
    126     KT_ITX_LOEM_ID,
    127     B_BOARD_FEATURES_FORM_FACTOR_ATX |
    128     B_BOARD_FEATURES_SIO_COM2 |
    129     B_BOARD_FEATURES_2_C0_MEMORY_SLOT |
    130     V_BOARD_FEATURES_SLEEP_S3 |
    131     B_BOARD_FEATURES_PS2WAKEFROMS5 |
    132     B_BOARD_FEATURES_NO_MINIPCIE |
    133     B_BOARD_FEATURES_VERB_TABLE2,
    134     V_DEFAULT_SUBSYSTEM_DEVICE_ID_KT,
    135     0xD626,
    136     EFI_SIGNATURE_64('K','T','P','N','T','1','0','N')
    137   }
    138 };
    139 
    140 UINTN mBoardIdDecodeTableSize = sizeof (mBoardIdDecodeTable) /
    141                                 sizeof (mBoardIdDecodeTable[0]);
    142 
    143 
    144