public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Wei, David" <david.wei@intel.com>
To: "Steele, Kelly" <kelly.steele@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "Guo, Mang" <mang.guo@intel.com>, "Yao, Jiewen" <jiewen.yao@intel.com>
Subject: Re: [PATCH] [edk2-platforms/devel-IntelAtomProcessorE3900] Shift EEPROM PEI files
Date: Thu, 27 Sep 2018 01:07:49 +0000	[thread overview]
Message-ID: <89954A0B46707A448411A627AD4EEE346911E33B@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <E6EF8131FBAF5A44BF17D9E2B45E20755FBF17B5@ORSMSX114.amr.corp.intel.com>

Hi Kelly,

We recently added UP2_BOARD macro and MINNOW3_MODULE_BOARD in DSC file as workaround.  That's because UP2_BOARD does not have official BOARD_ID designed, we cannot dynamically detect board ID to select boot path.  MINNOW3_MODULE_BOARD is added to avoid build failure which is caused by lack of FV size.

Another workaround we added is below UART port code because we have a bug with dynamic PCD at early stage of boot:
!if $(UP2_BOARD) == TRUE
    gPlatformModuleTokenSpaceGuid.PcdSerialIoUartNumber|0
  !else
    gPlatformModuleTokenSpaceGuid.PcdSerialIoUartNumber|2
  !endif


But we do prefer to not use any board specific flag outside of Board folder.  Board specific data should be generated in Board folder and be passed out to common code though common dynamic PCD or common HOB. I add Jiewen just in case he has some more comment or suggestion.

I have seen that you have another patch to fix above PcdSerialIoUartNumber workaround by using a dynamic PCD. With your new patch being pushed, we could remove above UP2_BOARD/PcdSerialIoUartNumber code from dsc file.

For this  PcdEepromBus and PcdEepromAddress, what about we also re-define them as common dynamic PCD, and assign them board specific value in source code under Board folder?


Thanks,
David  Wei

Intel SSG/STO/UEFI BIOS

From: Steele, Kelly
Sent: Wednesday, September 26, 2018 11:54 PM
To: Wei, David <david.wei@intel.com>; edk2-devel@lists.01.org
Cc: Guo, Mang <mang.guo@intel.com>
Subject: RE: [PATCH] [edk2-platforms/devel-IntelAtomProcessorE3900] Shift EEPROM PEI files

Hi David,

Yes this PCD information is board specific. That is why it is wrapped in a board specific define. I would move it into the board specific folder, but it is FixedAtBuild so it cannot go into the code. Did you want me to add a PcdsFixedAtBuild.dsc into the board specific folder and include it in the top level PcdsFixedAtBuild.dsc?

+
+  !if $(MINNOW3_MODULE_BOARD) == TRUE
+    #
+    # I2C bus the master EEPROM is hanging on
+    gPlatformModuleTokenSpaceGuid.PcdEepromBus|0x08
+    # 7-bit address of the master EEPROM
+    gPlatformModuleTokenSpaceGuid.PcdEepromAddress|0x10
+    # EEPROM GPIO Whitelist for MB3M (should think about shifting to SkuId specfic PCD to allow for other platforms).
+    #                                                +-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
+    #                                                |       SW_GPIO_206     |       SW_GPIO_166     |       SW_GPIO_167     |       SW_GPIO_168     |       SW_GPIO_169     |       SW_GPIO_170     |       SW_GPIO_171     |       SW_GPIO_172     |       SW_GPIO_173     |       SW_GPIO_174     |       SW_GPIO_175     |       SW_GPIO_176     |       SW_GPIO_177     |       SW_GPIO_178     |       SW_GPIO_186     |       SW_GPIO_183     |       SW_SMB_ALERTB   |       SW_SMB_CLK      |       SW_SMB_DATA     |       NW_GPIO_193     |       NW_GPIO_196     |       NW_GPIO_197     |       NW_GPIO_198     |       NW_GPIO_199     |       NW_GPIO_200     |       NW_GPIO_203     |       NW_GPIO_204     |       NW_PMC_SPI_FS1  |       NW_GPIO_84      |       NW_GPIO_84      |       NW_GPIO_85      |       NW_GPIO_86      |       NW_GPIO_87      |       NW_GPIO_88      |       NW_GPIO_97      |       NW_GPIO_98      |       NW_GPIO_99      |       NW_GPIO_100     |       NW_GPIO_103     |       NW_GPIO_104     |       NW_GPIO_105     |       NW_GPIO_106     |       NW_GPIO_109     |       NW_GPIO_110     |       NW_GPIO_112     |       NW_GPIO_113     |       N_GPIO_2        |       N_GPIO_3        |       N_GPIO_4        |       N_GPIO_6        |       N_GPIO_7        |       N_GPIO_13       |       N_GPIO_14       |       N_GPIO_21       |       N_GPIO_22       |       N_GPIO_23       |       N_GPIO_24       |       N_GPIO_25       |       N_GPIO_26       |       N_GPIO_38       |       N_GPIO_39       |       N_GPIO_40       |       N_GPIO_41       |       N_GPIO_42       |       N_GPIO_43       |       N_GPIO_46       |       N_GPIO_47       |       N_GPIO_48       |       N_GPIO_49       |       N_GPIO_64       |       N_GPIO_65       |    N_GPIO_66          |    N_GPIO_67          |       W_GPIO_126      |       W_GPIO_127      |       W_GPIO_132      |       W_GPIO_133      |       W_GPIO_134      |       W_GPIO_135      |       W_GPIO_136      |       W_GPIO_137      |       W_GPIO_146      |       W_GPIO_147      |       W_GPIO_148      |       W_GPIO_149      |       W_OSC_CLK_OUT_0 |     W_PMU_AC_PRESENT  |     W_PMU_BATLOW_B    |     W_PMU_PLTRST_B    |    W_PMU_SLP_S3_B     |  End of array marker  |
+    gPlatformModuleTokenSpaceGuid.PcdGpioWhiteList | {0x08, 0x05, 0xC0, 0x00, 0x70, 0x05, 0xC0, 0x00, 0x78, 0x05, 0xC0, 0x00, 0x80, 0x05, 0xC0, 0x00, 0x88, 0x05, 0xC0, 0x00, 0x90, 0x05, 0xC0, 0x00, 0x98, 0x05, 0xC0, 0x00, 0xA0, 0x05, 0xC0, 0x00, 0xA8, 0x05, 0xC0, 0x00, 0xB0, 0x05, 0xC0, 0x00, 0xB8, 0x05, 0xC0, 0x00, 0xC0, 0x05, 0xC0, 0x00, 0xC8, 0x05, 0xC0, 0x00, 0xD0, 0x05, 0xC0, 0x00, 0xE0, 0x05, 0xC0, 0x00, 0xF0, 0x05, 0xC0, 0x00, 0xF8, 0x05, 0xC0, 0x00, 0x00, 0x06, 0xC0, 0x00, 0x08, 0x06, 0xC0, 0x00, 0x30, 0x05, 0xC4, 0x00, 0x48, 0x05, 0xC4, 0x00, 0x50, 0x05, 0xC4, 0x00, 0x58, 0x05, 0xC4, 0x00, 0x60, 0x05, 0xC4, 0x00, 0x68, 0x05, 0xC4, 0x00, 0x80, 0x05, 0xC4, 0x00, 0x88, 0x05, 0xC4, 0x00, 0x98, 0x05, 0xC4, 0x00, 0x60, 0x06, 0xC4, 0x00, 0x60, 0x06, 0xC4, 0x00, 0x68, 0x06, 0xC4, 0x00, 0x70, 0x06, 0xC4, 0x00, 0x78, 0x06, 0xC4, 0x00, 0x80, 0x06, 0xC4, 0x00, 0xA8, 0x06, 0xC4, 0x00, 0xB0, 0x06, 0xC4, 0x00, 0xB8, 0x06, 0xC4, 0x00, 0xC0, 0x06, 0xC4, 0x00, 0xD8, 0x06, 0xC4, 0x00, 0xE8, 0x06, 0xC4, 0x00, 0xF0, 0x06, 0xC4, 0x00, 0xF8, 0x06, 0xC4, 0x00, 0x00, 0x07, 0xC4, 0x00, 0x08, 0x07, 0xC4, 0x00, 0x18, 0x07, 0xC4, 0x00, 0x20, 0x07, 0xC4, 0x00, 0x10, 0x05, 0xC5, 0x00, 0x18, 0x05, 0xC5, 0x00, 0x20, 0x05, 0xC5, 0x00, 0x30, 0x05, 0xC5, 0x00, 0x38, 0x05, 0xC5, 0x00, 0x68, 0x05, 0xC5, 0x00, 0x70, 0x05, 0xC5, 0x00, 0xA8, 0x05, 0xC5, 0x00, 0xB0, 0x05, 0xC5, 0x00, 0xB8, 0x05, 0xC5, 0x00, 0xC0, 0x05, 0xC5, 0x00, 0xC8, 0x05, 0xC5, 0x00, 0xD0, 0x05, 0xC5, 0x00, 0x30, 0x06, 0xC5, 0x00, 0x38, 0x06, 0xC5, 0x00, 0x40, 0x06, 0xC5, 0x00, 0x48, 0x06, 0xC5, 0x00, 0x50, 0x06, 0xC5, 0x00, 0x58, 0x06, 0xC5, 0x00, 0x70, 0x06, 0xC5, 0x00, 0x78, 0x06, 0xC5, 0x00, 0x80, 0x06, 0xC5, 0x00, 0x88, 0x06, 0xC5, 0x00, 0xA0, 0x06, 0xC5, 0x00, 0xA8, 0x06, 0xC5, 0x00, 0xB0, 0x06, 0xC5, 0x00, 0xB8, 0x06, 0xC5, 0x00, 0x10, 0x05, 0xC7, 0x00, 0x18, 0x05, 0xC7, 0x00, 0x40, 0x05, 0xC7, 0x00, 0x48, 0x05, 0xC7, 0x00, 0x50, 0x05, 0xC7, 0x00, 0x58, 0x05, 0xC7, 0x00, 0x60, 0x05, 0xC7, 0x00, 0x68, 0x05, 0xC7, 0x00, 0x80, 0x05, 0xC7, 0x00, 0x88, 0x05, 0xC7, 0x00, 0x90, 0x05, 0xC7, 0x00, 0x98, 0x05, 0xC7, 0x00, 0xF0, 0x05, 0xC7, 0x00, 0x18, 0x06, 0xC7, 0x00, 0x20, 0x06, 0xC7, 0x00, 0x28, 0x06, 0xC7, 0x00, 0x48, 0x06, 0xC7, 0x00, 0xFF, 0xFF, 0xFF, 0xFF}
+  !endif

Thanks,
Kelly

From: Wei, David
Sent: September 26, 2018 07:53
To: Steele, Kelly <kelly.steele@intel.com<mailto:kelly.steele@intel.com>>; edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
Cc: Guo, Mang <mang.guo@intel.com<mailto:mang.guo@intel.com>>
Subject: RE: [PATCH] [edk2-platforms/devel-IntelAtomProcessorE3900] Shift EEPROM PEI files

Hi Kelly,

Does this PCD contain board specific value? If it is board specific, could you rename it to reflect which board is using this PCD?
My another concern is: It is a little hard to read the data structure of this large PCD array. Is there any reason why we do not define it in C file. My understanding is that this kind of GPIO information should be under "Board" folder.

+    #                                                |       SW_GPIO_206     |       SW_GPIO_166     |       SW_GPIO_167     |       SW_GPIO_168     |       SW_GPIO_169     |       SW_GPIO_170     |       SW_GPIO_171     |       SW_GPIO_172     |       SW_GPIO_173     |       SW_GPIO_174     |       SW_GPIO_175     |       SW_GPIO_176     |       SW_GPIO_177     |       SW_GPIO_178     |       SW_GPIO_186     |       SW_GPIO_183     |       SW_SMB_ALERTB   |       SW_SMB_CLK      |       SW_SMB_DATA     |       NW_GPIO_193     |       NW_GPIO_196     |       NW_GPIO_197     |       NW_GPIO_198     |       NW_GPIO_199     |       NW_GPIO_200     |       NW_GPIO_203     |       NW_GPIO_204     |       NW_PMC_SPI_FS1  |       NW_GPIO_84      |       NW_GPIO_84      |       NW_GPIO_85      |       NW_GPIO_86      |       NW_GPIO_87      |       NW_GPIO_88      |       NW_GPIO_97      |       NW_GPIO_98      |       NW_GPIO_99      |       NW_GPIO_100     |       NW_GPIO_103     |       NW_GPIO_104     |       NW_GPIO_105     |       NW_GPIO_106     |       NW_GPIO_109     |       NW_GPIO_110     |       NW_GPIO_112     |       NW_GPIO_113     |       N_GPIO_2        |       N_GPIO_3        |       N_GPIO_4        |       N_GPIO_6        |       N_GPIO_7        |       N_GPIO_13       |       N_GPIO_14       |       N_GPIO_21       |       N_GPIO_22       |       N_GPIO_23       |       N_GPIO_24       |       N_GPIO_25       |       N_GPIO_26       |       N_GPIO_38       |       N_GPIO_39       |       N_GPIO_40       |       N_GPIO_41       |       N_GPIO_42       |       N_GPIO_43       |       N_GPIO_46       |       N_GPIO_47       |       N_GPIO_48       |       N_GPIO_49       |       N_GPIO_64       |       N_GPIO_65       |    N_GPIO_66          |    N_GPIO_67          |       W_GPIO_126      |       W_GPIO_127      |       W_GPIO_132      |       W_GPIO_133      |       W_GPIO_134      |       W_GPIO_135      |       W_GPIO_136      |       W_GPIO_137      |       W_GPIO_146      |       W_GPIO_147      |       W_GPIO_148      |       W_GPIO_149      |       W_OSC_CLK_OUT_0 |     W_PMU_AC_PRESENT  |     W_PMU_BATLOW_B    |     W_PMU_PLTRST_B    |    W_PMU_SLP_S3_B     |  End of array marker  |
+    gPlatformModuleTokenSpaceGuid.PcdGpioWhiteList | {0x08, 0x05, 0xC0, 0x00, 0x70, 0x05, 0xC0, 0x00, 0x78, 0x05, 0xC0, 0x00, 0x80, 0x05, 0xC0, 0x00, 0x88, 0x05, 0xC0, 0x00, 0x90, 0x05, 0xC0, 0x00, 0x98, 0x05, 0xC0, 0x00, 0xA0, 0x05, 0xC0, 0x00, 0xA8, 0x05, 0xC0, 0x00, 0xB0, 0x05, 0xC0, 0x00, 0xB8, 0x05, 0xC0, 0x00, 0xC0, 0x05, 0xC0, 0x00, 0xC8, 0x05, 0xC0, 0x00, 0xD0, 0x05, 0xC0, 0x00, 0xE0, 0x05, 0xC0, 0x00, 0xF0, 0x05, 0xC0, 0x00, 0xF8, 0x05, 0xC0, 0x00, 0x00, 0x06, 0xC0, 0x00, 0x08, 0x06, 0xC0, 0x00, 0x30, 0x05, 0xC4, 0x00, 0x48, 0x05, 0xC4, 0x00, 0x50, 0x05, 0xC4, 0x00, 0x58, 0x05, 0xC4, 0x00, 0x60, 0x05, 0xC4, 0x00, 0x68, 0x05, 0xC4, 0x00, 0x80, 0x05, 0xC4, 0x00, 0x88, 0x05, 0xC4, 0x00, 0x98, 0x05, 0xC4, 0x00, 0x60, 0x06, 0xC4, 0x00, 0x60, 0x06, 0xC4, 0x00, 0x68, 0x06, 0xC4, 0x00, 0x70, 0x06, 0xC4, 0x00, 0x78, 0x06, 0xC4, 0x00, 0x80, 0x06, 0xC4, 0x00, 0xA8, 0x06, 0xC4, 0x00, 0xB0, 0x06, 0xC4, 0x00, 0xB8, 0x06, 0xC4, 0x00, 0xC0, 0x06, 0xC4, 0x00, 0xD8, 0x06, 0xC4, 0x00, 0xE8, 0x06, 0xC4, 0x00, 0xF0, 0x06, 0xC4, 0x00, 0xF8, 0x06, 0xC4, 0x00, 0x00, 0x07, 0xC4, 0x00, 0x08, 0x07, 0xC4, 0x00, 0x18, 0x07, 0xC4, 0x00, 0x20, 0x07, 0xC4, 0x00, 0x10, 0x05, 0xC5, 0x00, 0x18, 0x05, 0xC5, 0x00, 0x20, 0x05, 0xC5, 0x00, 0x30, 0x05, 0xC5, 0x00, 0x38, 0x05, 0xC5, 0x00, 0x68, 0x05, 0xC5, 0x00, 0x70, 0x05, 0xC5, 0x00, 0xA8, 0x05, 0xC5, 0x00, 0xB0, 0x05, 0xC5, 0x00, 0xB8, 0x05, 0xC5, 0x00, 0xC0, 0x05, 0xC5, 0x00, 0xC8, 0x05, 0xC5, 0x00, 0xD0, 0x05, 0xC5, 0x00, 0x30, 0x06, 0xC5, 0x00, 0x38, 0x06, 0xC5, 0x00, 0x40, 0x06, 0xC5, 0x00, 0x48, 0x06, 0xC5, 0x00, 0x50, 0x06, 0xC5, 0x00, 0x58, 0x06, 0xC5, 0x00, 0x70, 0x06, 0xC5, 0x00, 0x78, 0x06, 0xC5, 0x00, 0x80, 0x06, 0xC5, 0x00, 0x88, 0x06, 0xC5, 0x00, 0xA0, 0x06, 0xC5, 0x00, 0xA8, 0x06, 0xC5, 0x00, 0xB0, 0x06, 0xC5, 0x00, 0xB8, 0x06, 0xC5, 0x00, 0x10, 0x05, 0xC7, 0x00, 0x18, 0x05, 0xC7, 0x00, 0x40, 0x05, 0xC7, 0x00, 0x48, 0x05, 0xC7, 0x00, 0x50, 0x05, 0xC7, 0x00, 0x58, 0x05, 0xC7, 0x00, 0x60, 0x05, 0xC7, 0x00, 0x68, 0x05, 0xC7, 0x00, 0x80, 0x05, 0xC7, 0x00, 0x88, 0x05, 0xC7, 0x00, 0x90, 0x05, 0xC7, 0x00, 0x98, 0x05, 0xC7, 0x00, 0xF0, 0x05, 0xC7, 0x00, 0x18, 0x06, 0xC7, 0x00, 0x20, 0x06, 0xC7, 0x00, 0x28, 0x06, 0xC7, 0x00, 0x48, 0x06, 0xC7, 0x00, 0xFF, 0xFF, 0xFF, 0xFF}
+  !endif
--

I am OK with other part of this patch.

Thanks,
David  Wei

Intel SSG/STO/UEFI BIOS

From: Steele, Kelly
Sent: Saturday, September 22, 2018 2:27 AM
To: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
Cc: Wei, David <david.wei@intel.com<mailto:david.wei@intel.com>>; Guo, Mang <mang.guo@intel.com<mailto:mang.guo@intel.com>>
Subject: [PATCH] [edk2-platforms/devel-IntelAtomProcessorE3900] Shift EEPROM PEI files

>From 1ae6e8934e17e0a0d20d169551d852cf3e8a1227 Mon Sep 17 00:00:00 2001
From: Kelly Steele <kelly.steele@intel.com<mailto:kelly.steele@intel.com>>
Date: Fri, 21 Sep 2018 11:14:02 -0700
Subject: [PATCH] [edk2-platforms/devel-IntelAtomProcessorE3900] Shift EEPROM
PEI files

Shifted the EEPROM PEI files into their own folders to help organize the
code better.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Kelly Steele <kelly.steele@intel.com<mailto:kelly.steele@intel.com>>
---
.../EepromBinary/Docs/HowtoCreateTheEepromBinary.pdf   | Bin 307112 -> 0 bytes
.../Eeprom/EepromDataLib/EEPROM/{ => Pei}/HobDataPei.c |   0
.../Features/Eeprom/EepromDataLib/EepromDataLib.inf    |   1 +
.../Features/Eeprom/EepromDataLib/EepromDataPeiLib.inf |   9 +++++----
...promDataNullPeiLib.inf => EepromDataPeiNullLib.inf} |   2 +-
.../Eeprom/EepromDataLib/FV/{ => Pei}/GetImagePei.c    |   0
.../Eeprom/EepromDataLib/Memory/{ => Pei}/HobDataPei.c |   0
.../EepromDataLib/{ => Pei}/MemoryAllocationPei.c      |   2 ++
.../PlatformDsc/PcdsFixedAtBuild.dsc                   |  16 ++++++++++++----
9 files changed, 21 insertions(+), 9 deletions(-)
delete mode 100644 Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromBinary/Docs/HowtoCreateTheEepromBinary.pdf
rename Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EEPROM/{ => Pei}/HobDataPei.c (100%)
rename Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/{EepromDataNullPeiLib.inf => EepromDataPeiNullLib.inf} (94%)
rename Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/FV/{ => Pei}/GetImagePei.c (100%)
rename Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/Memory/{ => Pei}/HobDataPei.c (100%)
rename Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/{ => Pei}/MemoryAllocationPei.c (95%)

diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromBinary/Docs/HowtoCreateTheEepromBinary.pdf b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromBinary/Docs/HowtoCreateTheEepromBinary.pdf
deleted file mode 100644
index 84f6e594539fb8224493acd57ee41207cf0bee5e..0000000000000000000000000000000000000000
GIT binary patch
literal 0

# Removed binary content to reduce email length

diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EEPROM/HobDataPei.c b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EEPROM/Pei/HobDataPei.c
similarity index 100%
rename from Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EEPROM/HobDataPei.c
rename to Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EEPROM/Pei/HobDataPei.c
diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataLib.inf b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataLib.inf
index 0ce2aaf9a6..a88d8fd1df 100644
--- a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataLib.inf
+++ b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataLib.inf
@@ -34,6 +34,7 @@
   DebugLib
   EepromPlatformLib
   HobLib
+  I2cLib
   MemoryAllocationLib
   PcdLib
   PrintLib
diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataPeiLib.inf b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataPeiLib.inf
index de14765a7b..9d7462194d 100644
--- a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataPeiLib.inf
+++ b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataPeiLib.inf
@@ -34,6 +34,7 @@
   DebugLib
   EepromPlatformLib
   HobLib
+  I2cLib
   PcdLib
   PeiServicesLib
   PrintLib
@@ -57,16 +58,16 @@
   EepromDataLib.c
   EepromDataLib.h
   EepromDataLibConstructor.c
-  MemoryAllocationPei.c
   EEPROM/EepromDataEepromLib.c
   EEPROM/EepromDataEepromLib.h
-  EEPROM/HobDataPei.c
+  EEPROM/Pei/HobDataPei.c
   FV/EepromDataFvLib.c
   FV/EepromDataFvLib.h
-  FV/GetImagePei.c
+  FV/Pei/GetImagePei.c
   Memory/EepromDataMemoryLib.c
   Memory/EepromDataMemoryLib.h
-  Memory/HobDataPei.c
+  Memory/Pei/HobDataPei.c
   Null/EepromDataNullLib.c
   Null/EepromDataNullLib.h
+  Pei/MemoryAllocationPei.c

diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataNullPeiLib.inf b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataPeiNullLib.inf
similarity index 94%
rename from Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataNullPeiLib.inf
rename to Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataPeiNullLib.inf
index 456d75dbb0..48e2b8f5ea 100644
--- a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataNullPeiLib.inf
+++ b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/EepromDataPeiNullLib.inf
@@ -40,7 +40,7 @@
   EepromDataLib.c
   EepromDataLib.h
   EepromDataNullLibConstructor.c
-  MemoryAllocationPei.c
   Null/EepromDataNullLib.c
   Null/EepromDataNullLib.h
+  Pei/MemoryAllocationPei.c

diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/FV/GetImagePei.c b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/FV/Pei/GetImagePei.c
similarity index 100%
rename from Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/FV/GetImagePei.c
rename to Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/FV/Pei/GetImagePei.c
diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/Memory/HobDataPei.c b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/Memory/Pei/HobDataPei.c
similarity index 100%
rename from Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/Memory/HobDataPei.c
rename to Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/Memory/Pei/HobDataPei.c
diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/MemoryAllocationPei.c b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/Pei/MemoryAllocationPei.c
similarity index 95%
rename from Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/MemoryAllocationPei.c
rename to Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/Pei/MemoryAllocationPei.c
index 71abbaed75..76c7ed798e 100644
--- a/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/MemoryAllocationPei.c
+++ b/Platform/BroxtonPlatformPkg/Common/Features/Eeprom/EepromDataLib/Pei/MemoryAllocationPei.c
@@ -315,10 +315,12 @@ GetEepromMemoryHob (VOID)
   //
   // Create HOB
   //
+  if (mEepromDataLibDebugFlag) DisplayStackPointer (__FUNCTION__, __LINE__);
   ZeroMem (&AllocationHeader, sizeof (EEPROM_ALLOCATION_STRUCT));
   AllocationHeader.Signature = ALLOCATION_HOB_HEADER_SIGNATURE;
   HeaderPointer = BuildGuidDataHob (&gEepromVariableGuid, &AllocationHeader, MAX_EEPROM_HOB_SIZE);
   if (mEepromDataLibDebugFlag) DEBUG ((DEBUG_INFO, "%a (#%4d) - HeaderPointer = %08x\n", __FUNCTION__, __LINE__, HeaderPointer));
+  if (mEepromDataLibDebugFlag) DisplayStackPointer (__FUNCTION__, __LINE__);

 Exit:
   if (mEepromDataLibDebugFlag) DEBUG ((DEBUG_INFO, "%a (#%4d) - AllocationHob @ %08x\n", __FUNCTION__, __LINE__, HeaderPointer));
diff --git a/Platform/BroxtonPlatformPkg/PlatformDsc/PcdsFixedAtBuild.dsc b/Platform/BroxtonPlatformPkg/PlatformDsc/PcdsFixedAtBuild.dsc
index db7cba5f46..1606e04379 100644
--- a/Platform/BroxtonPlatformPkg/PlatformDsc/PcdsFixedAtBuild.dsc
+++ b/Platform/BroxtonPlatformPkg/PlatformDsc/PcdsFixedAtBuild.dsc
@@ -91,7 +91,15 @@
   !else
     gPlatformModuleTokenSpaceGuid.PcdSerialIoUartNumber|2
   !endif
-  #
-  # EEPROM GPIO Whitelist
-  gPlatformModuleTokenSpaceGuid.PcdGpioWhiteList | {0x08, 0x05, 0xC0, 0x00, 0x78, 0x05, 0xC0, 0x00, 0x80, 0x05, 0xC0, 0x00, 0x88, 0x05, 0xC0, 0x00, 0x90, 0x05, 0xC0, 0x00, 0xA0, 0x05, 0xC0, 0x00, 0xC8, 0x05, 0xC0, 0x00, 0xD0, 0x05, 0xC0, 0x00, 0xE0, 0x05, 0xC0, 0x00, 0xF0, 0x05, 0xC0, 0x00, 0xF8, 0x05, 0xC0, 0x00, 0x30, 0x05, 0xC4, 0x00, 0x48, 0x05, 0xC4, 0x00, 0x50, 0x05, 0xC4, 0x00, 0x58, 0x05, 0xC4, 0x00, 0x60, 0x05, 0xC4, 0x00, 0x68, 0x05, 0xC4, 0x00, 0x80, 0x05, 0xC4, 0x00, 0x88, 0x05, 0xC4, 0x00, 0x98, 0x05, 0xC4, 0x00, 0x60, 0x06, 0xC4, 0x00, 0x60, 0x06, 0xC4, 0x00, 0x68, 0x06, 0xC4, 0x00, 0x70, 0x06, 0xC4, 0x00, 0x78, 0x06, 0xC4, 0x00, 0x80, 0x06, 0xC4, 0x00, 0xA8, 0x06, 0xC4, 0x00, 0xB0, 0x06, 0xC4, 0x00, 0xB8, 0x06, 0xC4, 0x00, 0xC0, 0x06, 0xC4, 0x00, 0xD8, 0x06, 0xC4, 0x00, 0xE8, 0x06, 0xC4, 0x00, 0xF0, 0x06, 0xC4, 0x00, 0xF8, 0x06, 0xC4, 0x00, 0x00, 0x07, 0xC4, 0x00, 0x08, 0x07, 0xC4, 0x00, 0x18, 0x07, 0xC4, 0x00, 0x20, 0x07, 0xC4, 0x00, 0x10, 0x05, 0xC5, 0x00, 0x18, 0x05, 0xC5, 0x00, 0x20, 0x05, 0xC5, 0x00, 0x30, 0x05, 0xC5, 0x00, 0x38, 0x05, 0xC5, 0x00, 0x68, 0x05, 0xC5, 0x00, 0x70, 0x05, 0xC5, 0x00, 0xA8, 0x05, 0xC5, 0x00, 0xB0, 0x05, 0xC5, 0x00, 0xB8, 0x05, 0xC5, 0x00, 0xC0, 0x05, 0xC5, 0x00, 0xC8, 0x05, 0xC5, 0x00, 0xD0, 0x05, 0xC5, 0x00, 0x30, 0x06, 0xC5, 0x00, 0x38, 0x06, 0xC5, 0x00, 0x40, 0x06, 0xC5, 0x00, 0x48, 0x06, 0xC5, 0x00, 0x50, 0x06, 0xC5, 0x00, 0x58, 0x06, 0xC5, 0x00, 0x70, 0x06, 0xC5, 0x00, 0x78, 0x06, 0xC5, 0x00, 0x80, 0x06, 0xC5, 0x00, 0x88, 0x06, 0xC5, 0x00, 0xA0, 0x06, 0xC5, 0x00, 0xA8, 0x06, 0xC5, 0x00, 0xB0, 0x06, 0xC5, 0x00, 0xB8, 0x06, 0xC5, 0x00, 0x10, 0x05, 0xC7, 0x00, 0x18, 0x05, 0xC7, 0x00, 0x40, 0x05, 0xC7, 0x00, 0x48, 0x05, 0xC7, 0x00, 0x50, 0x05, 0xC7, 0x00, 0x58, 0x05, 0xC7, 0x00, 0x60, 0x05, 0xC7, 0x00, 0x68, 0x05, 0xC7, 0x00, 0x70, 0x05, 0xC7, 0x00, 0x78, 0x05, 0xC7, 0x00, 0x80, 0x05, 0xC7, 0x00, 0x88, 0x05, 0xC7, 0x00, 0x90, 0x05, 0xC7, 0x00, 0x98, 0x05, 0xC7, 0x00, 0xF0, 0x05, 0xC7, 0x00, 0x18, 0x06, 0xC7, 0x00, 0x20, 0x06, 0xC7, 0x00, 0x28, 0x06, 0xC7, 0x00, 0x48, 0x06, 0xC7, 0x00, 0xFF, 0xFF, 0xFF, 0xFF}
-
+
+  !if $(MINNOW3_MODULE_BOARD) == TRUE
+    #
+    # I2C bus the master EEPROM is hanging on
+    gPlatformModuleTokenSpaceGuid.PcdEepromBus|0x08
+    # 7-bit address of the master EEPROM
+    gPlatformModuleTokenSpaceGuid.PcdEepromAddress|0x10
+    # EEPROM GPIO Whitelist for MB3M (should think about shifting to SkuId specfic PCD to allow for other platforms).
+    #                                                +-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+-----------------------+
+    #                                                |       SW_GPIO_206     |       SW_GPIO_166     |       SW_GPIO_167     |       SW_GPIO_168     |       SW_GPIO_169     |       SW_GPIO_170     |       SW_GPIO_171     |       SW_GPIO_172     |       SW_GPIO_173     |       SW_GPIO_174     |       SW_GPIO_175     |       SW_GPIO_176     |       SW_GPIO_177     |       SW_GPIO_178     |       SW_GPIO_186     |       SW_GPIO_183     |       SW_SMB_ALERTB   |       SW_SMB_CLK      |       SW_SMB_DATA     |       NW_GPIO_193     |       NW_GPIO_196     |       NW_GPIO_197     |       NW_GPIO_198     |       NW_GPIO_199     |       NW_GPIO_200     |       NW_GPIO_203     |       NW_GPIO_204     |       NW_PMC_SPI_FS1  |       NW_GPIO_84      |       NW_GPIO_84      |       NW_GPIO_85      |       NW_GPIO_86      |       NW_GPIO_87      |       NW_GPIO_88      |       NW_GPIO_97      |       NW_GPIO_98      |       NW_GPIO_99      |       NW_GPIO_100     |       NW_GPIO_103     |       NW_GPIO_104     |       NW_GPIO_105     |       NW_GPIO_106     |       NW_GPIO_109     |       NW_GPIO_110     |       NW_GPIO_112     |       NW_GPIO_113     |       N_GPIO_2        |       N_GPIO_3        |       N_GPIO_4        |       N_GPIO_6        |       N_GPIO_7        |       N_GPIO_13       |       N_GPIO_14       |       N_GPIO_21       |       N_GPIO_22       |       N_GPIO_23       |       N_GPIO_24       |       N_GPIO_25       |       N_GPIO_26       |       N_GPIO_38       |       N_GPIO_39       |       N_GPIO_40       |       N_GPIO_41       |       N_GPIO_42       |       N_GPIO_43       |       N_GPIO_46       |       N_GPIO_47       |       N_GPIO_48       |       N_GPIO_49       |       N_GPIO_64       |       N_GPIO_65       |    N_GPIO_66          |    N_GPIO_67          |       W_GPIO_126      |       W_GPIO_127      |       W_GPIO_132      |       W_GPIO_133      |       W_GPIO_134      |       W_GPIO_135      |       W_GPIO_136      |       W_GPIO_137      |       W_GPIO_146      |       W_GPIO_147      |       W_GPIO_148      |       W_GPIO_149      |       W_OSC_CLK_OUT_0 |     W_PMU_AC_PRESENT  |     W_PMU_BATLOW_B    |     W_PMU_PLTRST_B    |    W_PMU_SLP_S3_B     |  End of array marker  |
+    gPlatformModuleTokenSpaceGuid.PcdGpioWhiteList | {0x08, 0x05, 0xC0, 0x00, 0x70, 0x05, 0xC0, 0x00, 0x78, 0x05, 0xC0, 0x00, 0x80, 0x05, 0xC0, 0x00, 0x88, 0x05, 0xC0, 0x00, 0x90, 0x05, 0xC0, 0x00, 0x98, 0x05, 0xC0, 0x00, 0xA0, 0x05, 0xC0, 0x00, 0xA8, 0x05, 0xC0, 0x00, 0xB0, 0x05, 0xC0, 0x00, 0xB8, 0x05, 0xC0, 0x00, 0xC0, 0x05, 0xC0, 0x00, 0xC8, 0x05, 0xC0, 0x00, 0xD0, 0x05, 0xC0, 0x00, 0xE0, 0x05, 0xC0, 0x00, 0xF0, 0x05, 0xC0, 0x00, 0xF8, 0x05, 0xC0, 0x00, 0x00, 0x06, 0xC0, 0x00, 0x08, 0x06, 0xC0, 0x00, 0x30, 0x05, 0xC4, 0x00, 0x48, 0x05, 0xC4, 0x00, 0x50, 0x05, 0xC4, 0x00, 0x58, 0x05, 0xC4, 0x00, 0x60, 0x05, 0xC4, 0x00, 0x68, 0x05, 0xC4, 0x00, 0x80, 0x05, 0xC4, 0x00, 0x88, 0x05, 0xC4, 0x00, 0x98, 0x05, 0xC4, 0x00, 0x60, 0x06, 0xC4, 0x00, 0x60, 0x06, 0xC4, 0x00, 0x68, 0x06, 0xC4, 0x00, 0x70, 0x06, 0xC4, 0x00, 0x78, 0x06, 0xC4, 0x00, 0x80, 0x06, 0xC4, 0x00, 0xA8, 0x06, 0xC4, 0x00, 0xB0, 0x06, 0xC4, 0x00, 0xB8, 0x06, 0xC4, 0x00, 0xC0, 0x06, 0xC4, 0x00, 0xD8, 0x06, 0xC4, 0x00, 0xE8, 0x06, 0xC4, 0x00, 0xF0, 0x06, 0xC4, 0x00, 0xF8, 0x06, 0xC4, 0x00, 0x00, 0x07, 0xC4, 0x00, 0x08, 0x07, 0xC4, 0x00, 0x18, 0x07, 0xC4, 0x00, 0x20, 0x07, 0xC4, 0x00, 0x10, 0x05, 0xC5, 0x00, 0x18, 0x05, 0xC5, 0x00, 0x20, 0x05, 0xC5, 0x00, 0x30, 0x05, 0xC5, 0x00, 0x38, 0x05, 0xC5, 0x00, 0x68, 0x05, 0xC5, 0x00, 0x70, 0x05, 0xC5, 0x00, 0xA8, 0x05, 0xC5, 0x00, 0xB0, 0x05, 0xC5, 0x00, 0xB8, 0x05, 0xC5, 0x00, 0xC0, 0x05, 0xC5, 0x00, 0xC8, 0x05, 0xC5, 0x00, 0xD0, 0x05, 0xC5, 0x00, 0x30, 0x06, 0xC5, 0x00, 0x38, 0x06, 0xC5, 0x00, 0x40, 0x06, 0xC5, 0x00, 0x48, 0x06, 0xC5, 0x00, 0x50, 0x06, 0xC5, 0x00, 0x58, 0x06, 0xC5, 0x00, 0x70, 0x06, 0xC5, 0x00, 0x78, 0x06, 0xC5, 0x00, 0x80, 0x06, 0xC5, 0x00, 0x88, 0x06, 0xC5, 0x00, 0xA0, 0x06, 0xC5, 0x00, 0xA8, 0x06, 0xC5, 0x00, 0xB0, 0x06, 0xC5, 0x00, 0xB8, 0x06, 0xC5, 0x00, 0x10, 0x05, 0xC7, 0x00, 0x18, 0x05, 0xC7, 0x00, 0x40, 0x05, 0xC7, 0x00, 0x48, 0x05, 0xC7, 0x00, 0x50, 0x05, 0xC7, 0x00, 0x58, 0x05, 0xC7, 0x00, 0x60, 0x05, 0xC7, 0x00, 0x68, 0x05, 0xC7, 0x00, 0x80, 0x05, 0xC7, 0x00, 0x88, 0x05, 0xC7, 0x00, 0x90, 0x05, 0xC7, 0x00, 0x98, 0x05, 0xC7, 0x00, 0xF0, 0x05, 0xC7, 0x00, 0x18, 0x06, 0xC7, 0x00, 0x20, 0x06, 0xC7, 0x00, 0x28, 0x06, 0xC7, 0x00, 0x48, 0x06, 0xC7, 0x00, 0xFF, 0xFF, 0xFF, 0xFF}
+  !endif
--
2.11.0.windows.1



  reply	other threads:[~2018-09-27  1:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E6EF8131FBAF5A44BF17D9E2B45E20755FBE663D@ORSMSX114.amr.corp.intel.com>
2018-09-26 14:52 ` [PATCH] [edk2-platforms/devel-IntelAtomProcessorE3900] Shift EEPROM PEI files Wei, David
2018-09-26 15:54   ` Steele, Kelly
2018-09-27  1:07     ` Wei, David [this message]
2018-09-24 13:28 Steele, Kelly
2018-09-25  6:43 ` Guo, Mang
2018-09-25  6:49 ` Guo, Mang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=89954A0B46707A448411A627AD4EEE346911E33B@SHSMSX101.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox