public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Reconfiguring the PEI blob for the Overdrive1000 (AMD A1100)
@ 2017-06-01  2:31 Rebecca Cran
  2017-06-01  7:29 ` Ard Biesheuvel
  0 siblings, 1 reply; 4+ messages in thread
From: Rebecca Cran @ 2017-06-01  2:31 UTC (permalink / raw)
  To: edk2-devel

Hi,

I recently got an ARM64 SoftIron Overdrive 1000 box which uses AMD's 
Opteron A1100, and while it's nice having most of the platform firmware 
be open source, the part I'm missing is the PEI, which is implemented in 
a binary blob. Apparently that is generated via a tool called the AMD 
Firmware Development Kit, but I can't find any reference to it outside 
of the edk2.


Is there any way a user outside of AMD can get the Firmware Development 
Kit, or somehow else reconfigure the PEI binary? I'm asking because some 
work I'm starting out on has changes for the PEI, and while I could use 
Qemu it would be nice to also develop on real hardware.


Thanks.

Rebecca



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Reconfiguring the PEI blob for the Overdrive1000 (AMD A1100)
  2017-06-01  2:31 Reconfiguring the PEI blob for the Overdrive1000 (AMD A1100) Rebecca Cran
@ 2017-06-01  7:29 ` Ard Biesheuvel
  2017-06-01 13:55   ` Rebecca Cran
  0 siblings, 1 reply; 4+ messages in thread
From: Ard Biesheuvel @ 2017-06-01  7:29 UTC (permalink / raw)
  To: Rebecca Cran; +Cc: edk2-devel@lists.01.org

On 1 June 2017 at 02:31, Rebecca Cran <rebecca@bluestop.org> wrote:
> Hi,
>
> I recently got an ARM64 SoftIron Overdrive 1000 box which uses AMD's Opteron
> A1100, and while it's nice having most of the platform firmware be open
> source, the part I'm missing is the PEI, which is implemented in a binary
> blob. Apparently that is generated via a tool called the AMD Firmware
> Development Kit, but I can't find any reference to it outside of the edk2.
>
>
> Is there any way a user outside of AMD can get the Firmware Development Kit,
> or somehow else reconfigure the PEI binary? I'm asking because some work I'm
> starting out on has changes for the PEI, and while I could use Qemu it would
> be nice to also develop on real hardware.
>

Hi Rebecca,

Which PEI binary are you referring to? There is the PEI core, and a
collection of PEI modules (PEIMs) that do various platform related
things, including PCIe link training (and believe me, looking at that
code will make your eyes bleed), which is the only closed source PEIM
IIRC.

Whether you can get access to the FDK is a question I cannot answer,
but I don't think there are any people left at AMD working on the
Seattle project.

Which tree are you building from?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Reconfiguring the PEI blob for the Overdrive1000 (AMD A1100)
  2017-06-01  7:29 ` Ard Biesheuvel
@ 2017-06-01 13:55   ` Rebecca Cran
  2017-06-01 14:02     ` Ard Biesheuvel
  0 siblings, 1 reply; 4+ messages in thread
From: Rebecca Cran @ 2017-06-01 13:55 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: edk2-devel@lists.01.org

On Thu, 1 Jun 2017 07:29:05 +0000
Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

> Which PEI binary are you referring to? There is the PEI core, and a
> collection of PEI modules (PEIMs) that do various platform related
> things, including PCIe link training (and believe me, looking at that
> code will make your eyes bleed), which is the only closed source PEIM
> IIRC.
> 
> Whether you can get access to the FDK is a question I cannot answer,
> but I don't think there are any people left at AMD working on the
> Seattle project.
> 
> Which tree are you building from?

I'm using the OpenPlatformPkg tree from
https://git.linaro.org/uefi/OpenPlatformPkg.git . 

The binary I was interested in is PreUefiFirmware.bin in
https://git.linaro.org/uefi/OpenPlatformPkg.git/tree/Platforms/AMD/Styx/Overdrive1000Board/Binary .

I should probably explain what problem I'm trying to solve. I'm working
on NVDIMM support, and have been starting to plan work around
making changes to the EDK2 to support the modules, starting with
reading the DDR4 SPD data.

However, the i2c access protocols etc. that I'd need appear to be
implemented in the PreUefiFirmware.bin binary and are currently not
exposed to UEFI drivers via the protocols from the PI spec.

-- 
Rebecca


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Reconfiguring the PEI blob for the Overdrive1000 (AMD A1100)
  2017-06-01 13:55   ` Rebecca Cran
@ 2017-06-01 14:02     ` Ard Biesheuvel
  0 siblings, 0 replies; 4+ messages in thread
From: Ard Biesheuvel @ 2017-06-01 14:02 UTC (permalink / raw)
  To: Rebecca Cran; +Cc: edk2-devel@lists.01.org

On 1 June 2017 at 13:55, Rebecca Cran <rebecca@bluestop.org> wrote:
> On Thu, 1 Jun 2017 07:29:05 +0000
> Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>
>> Which PEI binary are you referring to? There is the PEI core, and a
>> collection of PEI modules (PEIMs) that do various platform related
>> things, including PCIe link training (and believe me, looking at that
>> code will make your eyes bleed), which is the only closed source PEIM
>> IIRC.
>>
>> Whether you can get access to the FDK is a question I cannot answer,
>> but I don't think there are any people left at AMD working on the
>> Seattle project.
>>
>> Which tree are you building from?
>
> I'm using the OpenPlatformPkg tree from
> https://git.linaro.org/uefi/OpenPlatformPkg.git .
>
> The binary I was interested in is PreUefiFirmware.bin in
> https://git.linaro.org/uefi/OpenPlatformPkg.git/tree/Platforms/AMD/Styx/Overdrive1000Board/Binary .
>
> I should probably explain what problem I'm trying to solve. I'm working
> on NVDIMM support, and have been starting to plan work around
> making changes to the EDK2 to support the modules, starting with
> reading the DDR4 SPD data.
>
> However, the i2c access protocols etc. that I'd need appear to be
> implemented in the PreUefiFirmware.bin binary and are currently not
> exposed to UEFI drivers via the protocols from the PI spec.
>

The SoC has a separate System Control Processor (SCP), which is a
Cortex-A5 ARM core that has its own firmware. The source for this
firmware is not included in the FDK, nor is it (or any of the secure
firmware that /is/ included) based on PI/UEFI or EDK2. So if you need
I2C support in UEFI, you will need to add drivers for the Synopsys
Designware I2C controllers on this board. The FDK does not contain
anything useful, I'm afraid.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-06-01 14:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-01  2:31 Reconfiguring the PEI blob for the Overdrive1000 (AMD A1100) Rebecca Cran
2017-06-01  7:29 ` Ard Biesheuvel
2017-06-01 13:55   ` Rebecca Cran
2017-06-01 14:02     ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox