mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-11-04 06:52:16 +00:00 
			
		
		
		
	https://svn.code.sf.net/p/edk2/code/trunk/edk2/, which are for MinnowBoard MAX open source project. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: David Wei <david.wei@intel.com> Reviewed-by: Mike Wu <mike.wu@intel.com> Reviewed-by: Hot Tian <hot.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16599 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			168 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			168 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*++
 | 
						|
 | 
						|
Copyright (c)  1999  - 2014, 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 that 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:
 | 
						|
 | 
						|
  Gpio.h
 | 
						|
 | 
						|
Abstract:
 | 
						|
 | 
						|
EFI 2.0 PEIM to provide platform specific information to other
 | 
						|
modules and to do some platform specific initialization.
 | 
						|
 | 
						|
--*/
 | 
						|
 | 
						|
#ifndef _PEI_GPIO_H
 | 
						|
#define _PEI_GPIO_H
 | 
						|
 | 
						|
//#include "Efi.h"
 | 
						|
//#include "EfiCommonLib.h"
 | 
						|
//#include "Pei.h"
 | 
						|
//#include "Numbers.h"
 | 
						|
 | 
						|
////
 | 
						|
//// GPIO Register Settings for BeaverBridge (FFVS) (Cedarview/Tigerpoint)
 | 
						|
////
 | 
						|
//// Field Descriptions:
 | 
						|
////    USE: Defines the pin's usage model:  GPIO (G) or Native (N) mode.
 | 
						|
////    I/O: Defines whether GPIOs are inputs (I) or outputs (O).
 | 
						|
////         (Note:  Only meaningful for pins used as GPIOs.)
 | 
						|
////    LVL: This field gives you the initial value for "output" GPIO's.
 | 
						|
////         (Note: The output level is dependent upon whether the pin is inverted.)
 | 
						|
////    INV: Defines whether Input GPIOs activation level is inverted.
 | 
						|
////         (Note:  Only affects the level sent to the GPE logic and does not
 | 
						|
////         affect the level read through the GPIO registers.)
 | 
						|
////
 | 
						|
//// Notes:
 | 
						|
////    1. BoardID is GPIO [8:38:34]
 | 
						|
////
 | 
						|
////Signal         UsedAs               USE     I/O      LVL     INV
 | 
						|
////--------------------------------------------------------------------------
 | 
						|
////GPIO0           Nonfunction       G     O            H       -
 | 
						|
////GPIO1           SMC_RUNTIME_SCI#    G        I           -       I
 | 
						|
////PIRQE#/GPIO2    Nonfunction G   O   H   -
 | 
						|
////PIRQF#/GPIO3    Nonfunction G   O   H   -
 | 
						|
////PIRQG#/GPIO4    Nonfunction G   O   H   -
 | 
						|
////PIRQH#/GPIO5    Nonfunction G   O   H   -
 | 
						|
////GPIO6   unused  G   O   L   -
 | 
						|
////GPIO7   unused  G   O   L   -
 | 
						|
////GPIO8          BOARD ID2    G   I   -   -
 | 
						|
////GPIO9   unused  G   O   L   -
 | 
						|
////GPIO10  SMC_EXTSMI# G   I   -   I
 | 
						|
////GPIO11  Nonfunction G   O   H   -
 | 
						|
////GPIO12  unused  G   O   L   -
 | 
						|
////GPIO13  SMC_WAKE_SCI#   G   I   -   I
 | 
						|
////GPIO14  unused  G   O   L   -
 | 
						|
////GPIO15  unused  G   O   L   -
 | 
						|
////GPIO16  PM_DPRSLPVR N   -   -   -
 | 
						|
////GNT5#/GPIO17    GNT5#   N   -   -   -
 | 
						|
////STPPCI#/GPIO18  PM_STPPCI#  N   -   -   -
 | 
						|
////STPCPU#/GPIO20  PM_STPCPU#  N   -   -   -
 | 
						|
////GPIO22  CRT_RefClk  G   I   -   -
 | 
						|
////GPIO23  unused  G   O   L   -
 | 
						|
////GPIO24  unused  G   O   L   -
 | 
						|
////GPIO25  DMI strap   G   O   L   -
 | 
						|
////GPIO26  unused  G   O   L   -
 | 
						|
////GPIO27  unused  G   O   L   -
 | 
						|
////GPIO28  RF_KILL#    G   O   H   -
 | 
						|
////OC5#/GPIO29 OC  N   -   -   -
 | 
						|
////OC6#/GPIO30 OC  N   -   -   -
 | 
						|
////OC7#/GPIO31 OC  N   -   -   -
 | 
						|
////CLKRUN#/GPIO32  PM_CLKRUN#  N   -   -   -
 | 
						|
////GPIO33  NC  G   O   L   -
 | 
						|
////GPIO34  BOARD ID0   G   I   -   -
 | 
						|
////GPIO36  unused  G   O   L   -
 | 
						|
////GPIO38  BOARD ID1   G   I   -   -
 | 
						|
////GPIO39  unused  G   O   L   -
 | 
						|
////GPIO48  unused  G   O   L   -
 | 
						|
////CPUPWRGD/GPIO49 H_PWRGD N   -   -   -
 | 
						|
//
 | 
						|
//#define   GPIO_USE_SEL_VAL              0x1FC0FFFF       //GPIO1, 10, 13 is EC signal
 | 
						|
//#define   GPIO_USE_SEL2_VAL             0x000100D6
 | 
						|
//#define   GPIO_IO_SEL_VAL               0x00402502
 | 
						|
//#define   GPIO_IO_SEL2_VAL              0x00000044
 | 
						|
//#define   GPIO_LVL_VAL                  0x1800083D
 | 
						|
//#define   GPIO_LVL2_VAL                 0x00000000
 | 
						|
//#define   GPIO_INV_VAL                  0x00002402
 | 
						|
//#define   GPIO_BLNK_VAL                 0x00000000
 | 
						|
//#define   ICH_GPI_ROUTE (ICH_GPI_ROUTE_SCI(13) | ICH_GPI_ROUTE_SCI(1))
 | 
						|
 | 
						|
//
 | 
						|
// GPIO Register Settings for CedarRock and CedarFalls platforms
 | 
						|
//
 | 
						|
//      GPIO Register Settings for NB10_CRB
 | 
						|
//---------------------------------------------------------------------------------
 | 
						|
//Signal        Used As         USE         I/O     LVL
 | 
						|
//---------------------------------------------------------------------------------
 | 
						|
//
 | 
						|
// GPIO0    FP_AUDIO_DETECT     G       I
 | 
						|
// GPIO1    SMC_RUNTIME_SCI#    G       I
 | 
						|
// GPIO2        INT_PIRQE_N     N       I
 | 
						|
// GPIO3    INT_PIRQF_N     N       I
 | 
						|
// GPIO4        INT_PIRQG_N     N       I
 | 
						|
// GPIO5        INT_PIRQH_N     N       I
 | 
						|
// GPIO6
 | 
						|
// GPIO7
 | 
						|
// GPIO8
 | 
						|
// GPIO9    LPC_SIO_PME     G       I
 | 
						|
// GPIO10   SMC_EXTSMI_N        G       I
 | 
						|
// GPIO11   SMBALERT- pullup    N
 | 
						|
// GPIO12   ICH_GP12        G       I
 | 
						|
// GPIO13   SMC_WAKE_SCI_N      G       I
 | 
						|
// GPIO14   LCD_PID0        G       O       H
 | 
						|
// GPIO15   CONFIG_MODE_N       G       I
 | 
						|
// GPIO16       PM_DPRSLPVR     N
 | 
						|
// GPIO17   SPI_SELECT_STRAP1
 | 
						|
//          /L_BKLTSEL0_N   G       I
 | 
						|
// GPIO18   PM_STPPCI_N     N
 | 
						|
// GPIO19
 | 
						|
// GPIO20   PM_STPCPU_N     N
 | 
						|
// GPIO21
 | 
						|
// GPIO22   REQ4B           G       I
 | 
						|
// GPIO23   L_DRQ1_N        N
 | 
						|
// GPIO24   CRB_SV_DET_N        G       O       H
 | 
						|
// GPIO25   DMI strap
 | 
						|
//          / L_BKLTSEL1_N  G       O       H
 | 
						|
// GPIO26   LCD_PID1        G       O       H
 | 
						|
// GPIO27   TPEV_DDR3L_DETECT   G       O       H
 | 
						|
// GPIO28   RF_KILL         G       O       H:enable
 | 
						|
// GPIO29   OC          N
 | 
						|
// GPIO30   OC          N
 | 
						|
// GPIO31   OC          N
 | 
						|
// GPIO32   PM_CLKRUN_N     Native
 | 
						|
// GPIO33   MFG_MODE_N      G       I
 | 
						|
// GPIO34   BOARD ID0       G       I
 | 
						|
// GPIO35
 | 
						|
// GPIO36   SV_SET_UP       G       O       H
 | 
						|
// GPIO37
 | 
						|
// GPIO38   BOARD ID1       G       I
 | 
						|
// GPIO39   BOARD ID2       G       I
 | 
						|
// GPIO48   FLASH_SEL0      N
 | 
						|
// GPIO49   H_PWRGD         N
 | 
						|
 | 
						|
#define ICH_GPI_ROUTE_SMI(Gpio)          ((( 0 << ((Gpio * 2) + 1)) | (1 << (Gpio * 2))))
 | 
						|
#define ICH_GPI_ROUTE_SCI(Gpio)          ((( 1 << ((Gpio * 2) + 1)) | (0 << (Gpio * 2))))
 | 
						|
 | 
						|
#define   GPIO_USE_SEL_VAL              0X1F42F7C3
 | 
						|
#define   GPIO_USE_SEL2_VAL             0X000000D6
 | 
						|
#define   GPIO_IO_SEL_VAL               0X1042B73F
 | 
						|
#define   GPIO_IO_SEL2_VAL              0X000100C6
 | 
						|
#define   GPIO_LVL_VAL                  0X1F15F601
 | 
						|
#define   GPIO_LVL2_VAL                 0X000200D7
 | 
						|
#define   GPIO_INV_VAL                  0x00002602
 | 
						|
#define   GPIO_BLNK_VAL                 0x00040000
 | 
						|
#define   ICH_GPI_ROUTE (ICH_GPI_ROUTE_SCI(13) | ICH_GPI_ROUTE_SCI(1))
 | 
						|
 | 
						|
#endif
 |