It is possible to map more than 16MB (although only recently):
https://review.coreboot.org/c/coreboot/+/86584

It however requires 64 bit mode enabled in coreboot and I am not sure if
the old SOCs have the ROM3 window.

greetings
Max

Am Di., 2. Dez. 2025 um 14:23 Uhr schrieb Marshall Dawson <
[email protected]>:

> Years ago, I spent a lot of time with those devices and their SPI
> controllers.  I'm not aware of any way to map more than the "traditional"
> 16MB region (or a different 16MB into the region).  In modern APUs, it
> tends to rely on cooperation with some PSP features.  I don't believe
> there's been any attempt to put that into coreboot for the newer devices.
> Although Felix would be better informed, I'm not aware of any customer
> designs to justify it.  Since the details are considered NDA, PSP
> manipulation is only implemented in coreboot on an as-needed basis.
>
> Thanks,
> Marshall
>
>
> On Tue, Dec 2, 2025 at 7:17 AM Mike Banon <[email protected]> wrote:
>
>> Good day! I found out it is possible to have 64 MB SPI flash on DIP-8
>> boards such as AMD opensource AGESA ones (A88XM-E, AM1I-A, KGPE-D16, etc.)
>> : simply take a WSON8 chip such as W25Q512JVEIQ / W25Q512JVEIM and plug it
>> into WSON8-to-DIP8 adapter. It works with flashrom + USB CH341A adapter,
>> although it takes almost 10 minutes to read. So this setup is physically
>> possible, although a bit slow.
>>
>> Some time ago while we've been discussing 64MB QEMU builds, Felix Held
>> sent me the following detailed reply:
>>
>> > SPI NOR flash chips with more than 16MByte use 4 byte addresses while
>> ones with up to 16MBytes use 3 byte addresses. The SPI flash controllers
>> on older systems often only support the 3 byte address mode. Also
>> typically only up to 16 MBytes worth of SPI flash contents can be mapped
>> right below the 4GB boundary, since the 16MByte below that contain the MMIO
>> of for example LAPIC and IOAPIC.
>> > Had a quick look at the BKDG for family 16h model 30h, which is newer
>> than the chip used on G505S or A88XM-E, and it didn't have the registers in
>> the SPI controller that I'd expect to be present if it supports the 4
>> byte address mode.
>>
>> However, recently I discovered the following notes on flashrom mailing
>> list and got a bit confused:
>>
>> > Large size flash chips support special instructions to use 4-bytes
>> addresses directly from 3-bytes addressing mode and without switching to
>> 4-bytes mode.
>> > The W25Q256FV [a smaller sibling of W25Q512JV] is an example of a chip
>> which supports: - Native 4BA instructions - Extended address register: 3BA
>> commands used with a separate register to hold the most significant address
>> byte. - 4BA address mode: 3BA commands re-purposed to clock in 4 address
>> bytes instead of 3.
>>
>> I just built an old 64MB coreboot for KGPE-D16 using almost the same
>> config as the 2MB one (I used the unofficial SeaBIOS advanced_bootmenu /
>> multiple_floppies patches from
>> https://review.coreboot.org/c/coreboot/+/32351 and filled the free CBFS
>> space with a lot of KolibriOS floppies that are the hardest to compress) .
>> But so far I have been waiting for 20 minutes (just in case it is as slow
>> as CH341A) and still no reaction from this coreboot board. However, a
>> coreboot of this board (provided by 15h.org community) is quite far from
>> coreboot master and doesn't have its later benefits - so these test results
>> are a bit inconclusive - and my A88XM-E board that has almost the latest
>> coreboot master thanks to restore_agesa.sh script (
>> https://review.coreboot.org/c/coreboot/+/79838) is hard to access at the
>> moment...
>>
>> Please tell me, is there any modern coreboot's support for extended
>> address register - as a workaround to use >16MB chips in 3BA mode with the
>> help of such a register? If not - could it be added somehow, so that the
>> older SPI controllers capable of only 3BA still could access the chips
>> which support this helpful register?
>> --
>> Best regards, Mike Banon
>> Open Source Community Manager of 3mdeb - https://3mdeb.com/
>> _______________________________________________
>> coreboot mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>>
> _______________________________________________
> coreboot mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to