Hi Wolfgang, If I read memory at address 0xFF00 0000-0xFFFE 0000 after SPI is initialized by bootblock_soc_early_init() then I will get only 0xFF bytes. So there is no mapped SPI image there – it is empty. But I should see at least IFD at 0xFF00 0000-0xFF00 1000, am I right?
The mainboard I’m debugging is not UP Squared, the schematics are just a bit resembling (as far as I see, because UP2 design files are disclosed). That’s why there are some hardware differences that lead to problems above. Is it GPIO settings or bootstraps? What would you suggest me to check first?
Best Regards, Anatolii Vorobev
From: Wolfgang Kamp - datakamp wmkamp@datakamp.de Sent: Tuesday, December 1, 2020 5:33 PM To: Anatolii Vorobev anatolii.vorobev@wayray.com Cc: gerrit@coreboot.org Subject: AW: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Anatolii,
In this early stage there is no RAM initialized. The SPI Flash is memory mapped starting at 0xFF00 0000 if the FLASH size is 16M, which is on UP Squared default. On address 0xFF30 0000 (0x300000 relative to FLASH start address) starts FMAP. You will find the header –FMAP—on this position. With an in circuit programmer like DEDIPROG 100 you can check this on UP Squared board.
Kind regards, Wolfgan
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Dienstag, 1. Dezember 2020 12:44 An: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: [coreboot] Re: Apollo Lake cannot load coreboot
Hi, Maxim. Sure, I’ve attached .config file. Here is cbfstool output:
./build/cbfstool build/coreboot.rom print FMAP REGION: COREBOOT Name Offset Type Size Comp cbfs master header 0x0 cbfs header 32 none fallback/romstage 0x80 stage 48164 none cpu_microcode_blob.bin 0xbd00 microcode 48128 none fallback/ramstage 0x17980 stage 106068 none vgaroms/seavgabios.bin 0x31840 raw 28160 none config 0x386c0 raw 283 none revision 0x38840 raw 681 none fallback/dsdt.aml 0x38b40 raw 6338 none fspm.bin 0x3a480 fsp 364544 none vbt.bin 0x934c0 raw 1299 LZMA (6154 decompressed) payload_revision 0x93a40 raw 235 none (empty) 0x93b80 null 1048 none fsps.bin 0x93fc0 fsp 176128 none fallback/postcar 0xbf000 stage 22064 none fallback/payload 0xc4680 simple elf 69275 none payload_config 0xd5580 raw 1760 none (empty) 0xd5cc0 null 11137752 none bootblock 0xb74fc0 bootblock 32768 none
Best Regards, Anatolii Vorobev
From: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Sent: Tuesday, December 1, 2020 2:05 PM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Subject: Re: [coreboot] Apollo Lake cannot load coreboot
Hi!
Could you please send your .config ?
The following command will help you find out which sections have been added to the image:
(coreboot dir)$ ./build/cbfstool build/coreboot.rom print
Please send the output // Regards, // Max
вт, 1 дек. 2020 г. в 13:13, Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com>: Dear community, I’m trying to bring up custom motherboard with Apollo Lake e3950 SoC. The first thing I’ve tried is flashed UP Squared-based BIOS compiled using this instructions: https://doc.coreboot.org/mainboard/up/squared/index.html After I run the motherboard it showed this uart0 output:
coreboot-4.12-4087-g6aaf7db719-dirty Tue Nov 17 09:50:24 UTC 2020 bootblock starting (log level: 7)... No FMAP found at 300000 offset. No FMAP found at 300000 offset. POST: 0xe0 Couldn't load romstage.
After some time spent trying to figure out the reason of such problem I found out that bootblock cannot load FMAP into RAM. I printed out some parts of ram where romstage and FMAP should be and there where only 0xff values. Looks like bootblock can’t map SPI flash data to RAM although flash image has romstage and FMAP regions. The strange thing is that bootblock is loaded ok but any further load (FMAP) fails. Any ideas what can be the cause of this and how can I debug this thing?
PS I tried flashing another BIOS (from AMI) and it passes CAR stage, FSP stage, it even successfully initializes/trains DDR and so on. But coreboot BIOS somehow fails on the very early stages.
Best Regards, Anatolii Vorobev _______________________________________________ coreboot mailing list -- coreboot@coreboot.orgmailto:coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.orgmailto:coreboot-leave@coreboot.org
Hi Anatolii,
If you search the web for “apollolake implementation – coreboot”, you will find interesting information about the Apollo Lake boot process. The IFD will be processed from the internal microcontroller which looks for the correct Flash device and the PMIC. The PMIC must be the TI chip TPS65094x in the case of using the UP Squared board BIOS components. To boot from SPI the SOC_COM1_TXD (eMMC boot) signal must be pulled low and the SOC_COM1_RTS_N (SPI boot) signal must be pulled high. How do you program the on board FLASH device? If you dump the binary contents you can see –FMAP-- signature at 0x300000?
Kind regards, Wolfgang
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Mittwoch, 2. Dezember 2020 13:44 An: Wolfgang Kamp - datakamp wmkamp@datakamp.de Cc: coreboot@coreboot.org Betreff: RE: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Wolfgang, If I read memory at address 0xFF00 0000-0xFFFE 0000 after SPI is initialized by bootblock_soc_early_init() then I will get only 0xFF bytes. So there is no mapped SPI image there – it is empty. But I should see at least IFD at 0xFF00 0000-0xFF00 1000, am I right?
The mainboard I’m debugging is not UP Squared, the schematics are just a bit resembling (as far as I see, because UP2 design files are disclosed). That’s why there are some hardware differences that lead to problems above. Is it GPIO settings or bootstraps? What would you suggest me to check first?
Best Regards, Anatolii Vorobev
From: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Sent: Tuesday, December 1, 2020 5:33 PM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: gerrit@coreboot.orgmailto:gerrit@coreboot.org Subject: AW: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Anatolii,
In this early stage there is no RAM initialized. The SPI Flash is memory mapped starting at 0xFF00 0000 if the FLASH size is 16M, which is on UP Squared default. On address 0xFF30 0000 (0x300000 relative to FLASH start address) starts FMAP. You will find the header –FMAP—on this position. With an in circuit programmer like DEDIPROG 100 you can check this on UP Squared board.
Kind regards, Wolfgan
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Dienstag, 1. Dezember 2020 12:44 An: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: [coreboot] Re: Apollo Lake cannot load coreboot
Hi, Maxim. Sure, I’ve attached .config file. Here is cbfstool output:
./build/cbfstool build/coreboot.rom print FMAP REGION: COREBOOT Name Offset Type Size Comp cbfs master header 0x0 cbfs header 32 none fallback/romstage 0x80 stage 48164 none cpu_microcode_blob.bin 0xbd00 microcode 48128 none fallback/ramstage 0x17980 stage 106068 none vgaroms/seavgabios.bin 0x31840 raw 28160 none config 0x386c0 raw 283 none revision 0x38840 raw 681 none fallback/dsdt.aml 0x38b40 raw 6338 none fspm.bin 0x3a480 fsp 364544 none vbt.bin 0x934c0 raw 1299 LZMA (6154 decompressed) payload_revision 0x93a40 raw 235 none (empty) 0x93b80 null 1048 none fsps.bin 0x93fc0 fsp 176128 none fallback/postcar 0xbf000 stage 22064 none fallback/payload 0xc4680 simple elf 69275 none payload_config 0xd5580 raw 1760 none (empty) 0xd5cc0 null 11137752 none bootblock 0xb74fc0 bootblock 32768 none
Best Regards, Anatolii Vorobev
From: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Sent: Tuesday, December 1, 2020 2:05 PM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Subject: Re: [coreboot] Apollo Lake cannot load coreboot
Hi!
Could you please send your .config ?
The following command will help you find out which sections have been added to the image:
(coreboot dir)$ ./build/cbfstool build/coreboot.rom print
Please send the output // Regards, // Max
вт, 1 дек. 2020 г. в 13:13, Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com>: Dear community, I’m trying to bring up custom motherboard with Apollo Lake e3950 SoC. The first thing I’ve tried is flashed UP Squared-based BIOS compiled using this instructions: https://doc.coreboot.org/mainboard/up/squared/index.html After I run the motherboard it showed this uart0 output:
coreboot-4.12-4087-g6aaf7db719-dirty Tue Nov 17 09:50:24 UTC 2020 bootblock starting (log level: 7)... No FMAP found at 300000 offset. No FMAP found at 300000 offset. POST: 0xe0 Couldn't load romstage.
After some time spent trying to figure out the reason of such problem I found out that bootblock cannot load FMAP into RAM. I printed out some parts of ram where romstage and FMAP should be and there where only 0xff values. Looks like bootblock can’t map SPI flash data to RAM although flash image has romstage and FMAP regions. The strange thing is that bootblock is loaded ok but any further load (FMAP) fails. Any ideas what can be the cause of this and how can I debug this thing?
PS I tried flashing another BIOS (from AMI) and it passes CAR stage, FSP stage, it even successfully initializes/trains DDR and so on. But coreboot BIOS somehow fails on the very early stages.
Best Regards, Anatolii Vorobev _______________________________________________ coreboot mailing list -- coreboot@coreboot.orgmailto:coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.orgmailto:coreboot-leave@coreboot.org
Hi Wolfgang, We have TI650944 PMIC and LPDDR4 memory down configuration. SPI flash chip JDEC ID do present in IFD VSCC table. SPI boot strap is selected, TXE ROM Bypass is disabled. I program flash device with Dediprog programmer. Yes, I can see __FMAP__ signature in the dumped binary at 0x300000 offset.
I have a question. Is it TXE that copies bootblock and romstage into RAM(cache)?
I also wonder what differences can be between UP2 and my board? May be I should preprogram something into FPF (signing keys maybe) before loading coreboot? Can it be related to Boot Guard?
Best Regards, Anatolii Vorobev Lead Developer, Firmware | WayRay Anatolii.vorobev@wayray.commailto:Anatolii.vorobev@wayray.com | http://wayray.com +7 915 423-87-68 (RU)
From: Wolfgang Kamp - datakamp wmkamp@datakamp.de Sent: Thursday, December 3, 2020 11:40 AM To: Anatolii Vorobev anatolii.vorobev@wayray.com Cc: coreboot@coreboot.org Subject: AW: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Anatolii,
If you search the web for “apollolake implementation – coreboot”, you will find interesting information about the Apollo Lake boot process. The IFD will be processed from the internal microcontroller which looks for the correct Flash device and the PMIC. The PMIC must be the TI chip TPS65094x in the case of using the UP Squared board BIOS components. To boot from SPI the SOC_COM1_TXD (eMMC boot) signal must be pulled low and the SOC_COM1_RTS_N (SPI boot) signal must be pulled high. How do you program the on board FLASH device? If you dump the binary contents you can see –FMAP-- signature at 0x300000?
Kind regards, Wolfgang
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Mittwoch, 2. Dezember 2020 13:44 An: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: RE: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Wolfgang, If I read memory at address 0xFF00 0000-0xFFFE 0000 after SPI is initialized by bootblock_soc_early_init() then I will get only 0xFF bytes. So there is no mapped SPI image there – it is empty. But I should see at least IFD at 0xFF00 0000-0xFF00 1000, am I right?
The mainboard I’m debugging is not UP Squared, the schematics are just a bit resembling (as far as I see, because UP2 design files are disclosed). That’s why there are some hardware differences that lead to problems above. Is it GPIO settings or bootstraps? What would you suggest me to check first?
Best Regards, Anatolii Vorobev
From: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Sent: Tuesday, December 1, 2020 5:33 PM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: gerrit@coreboot.orgmailto:gerrit@coreboot.org Subject: AW: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Anatolii,
In this early stage there is no RAM initialized. The SPI Flash is memory mapped starting at 0xFF00 0000 if the FLASH size is 16M, which is on UP Squared default. On address 0xFF30 0000 (0x300000 relative to FLASH start address) starts FMAP. You will find the header –FMAP—on this position. With an in circuit programmer like DEDIPROG 100 you can check this on UP Squared board.
Kind regards, Wolfgan
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Dienstag, 1. Dezember 2020 12:44 An: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: [coreboot] Re: Apollo Lake cannot load coreboot
Hi, Maxim. Sure, I’ve attached .config file. Here is cbfstool output:
./build/cbfstool build/coreboot.rom print FMAP REGION: COREBOOT Name Offset Type Size Comp cbfs master header 0x0 cbfs header 32 none fallback/romstage 0x80 stage 48164 none cpu_microcode_blob.bin 0xbd00 microcode 48128 none fallback/ramstage 0x17980 stage 106068 none vgaroms/seavgabios.bin 0x31840 raw 28160 none config 0x386c0 raw 283 none revision 0x38840 raw 681 none fallback/dsdt.aml 0x38b40 raw 6338 none fspm.bin 0x3a480 fsp 364544 none vbt.bin 0x934c0 raw 1299 LZMA (6154 decompressed) payload_revision 0x93a40 raw 235 none (empty) 0x93b80 null 1048 none fsps.bin 0x93fc0 fsp 176128 none fallback/postcar 0xbf000 stage 22064 none fallback/payload 0xc4680 simple elf 69275 none payload_config 0xd5580 raw 1760 none (empty) 0xd5cc0 null 11137752 none bootblock 0xb74fc0 bootblock 32768 none
Best Regards, Anatolii Vorobev
From: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Sent: Tuesday, December 1, 2020 2:05 PM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Subject: Re: [coreboot] Apollo Lake cannot load coreboot
Hi!
Could you please send your .config ?
The following command will help you find out which sections have been added to the image:
(coreboot dir)$ ./build/cbfstool build/coreboot.rom print
Please send the output // Regards, // Max
вт, 1 дек. 2020 г. в 13:13, Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com>: Dear community, I’m trying to bring up custom motherboard with Apollo Lake e3950 SoC. The first thing I’ve tried is flashed UP Squared-based BIOS compiled using this instructions: https://doc.coreboot.org/mainboard/up/squared/index.html After I run the motherboard it showed this uart0 output:
coreboot-4.12-4087-g6aaf7db719-dirty Tue Nov 17 09:50:24 UTC 2020 bootblock starting (log level: 7)... No FMAP found at 300000 offset. No FMAP found at 300000 offset. POST: 0xe0 Couldn't load romstage.
After some time spent trying to figure out the reason of such problem I found out that bootblock cannot load FMAP into RAM. I printed out some parts of ram where romstage and FMAP should be and there where only 0xff values. Looks like bootblock can’t map SPI flash data to RAM although flash image has romstage and FMAP regions. The strange thing is that bootblock is loaded ok but any further load (FMAP) fails. Any ideas what can be the cause of this and how can I debug this thing?
PS I tried flashing another BIOS (from AMI) and it passes CAR stage, FSP stage, it even successfully initializes/trains DDR and so on. But coreboot BIOS somehow fails on the very early stages.
Best Regards, Anatolii Vorobev _______________________________________________ coreboot mailing list -- coreboot@coreboot.orgmailto:coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.orgmailto:coreboot-leave@coreboot.org
Hi Anatolii,
The boot process of Apollo Lake is well described in the PDF “Apollolake implementation” from Andrey Petrov Intel. In the XML file for the Fit Tool I have SMP Signing Key and OEM Key Manifest Binary for testing empty. The OEM Public Key Hash is all zero. The Boot Guard Profile 0 is Legacy. Do you use the Winbond W25Q128FWPIQ SPI FLASH? Did you connect IO0 – IO3 to the CPU for Quad SPI?
Kind regards Wolfgang
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Freitag, 4. Dezember 2020 12:54 An: Wolfgang Kamp - datakamp wmkamp@datakamp.de Cc: coreboot@coreboot.org Betreff: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Wolfgang, We have TI650944 PMIC and LPDDR4 memory down configuration. SPI flash chip JDEC ID do present in IFD VSCC table. SPI boot strap is selected, TXE ROM Bypass is disabled. I program flash device with Dediprog programmer. Yes, I can see __FMAP__ signature in the dumped binary at 0x300000 offset.
I have a question. Is it TXE that copies bootblock and romstage into RAM(cache)?
I also wonder what differences can be between UP2 and my board? May be I should preprogram something into FPF (signing keys maybe) before loading coreboot? Can it be related to Boot Guard?
Best Regards, Anatolii Vorobev Lead Developer, Firmware | WayRay Anatolii.vorobev@wayray.commailto:Anatolii.vorobev@wayray.com | http://wayray.com +7 915 423-87-68 (RU)
From: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Sent: Thursday, December 3, 2020 11:40 AM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Subject: AW: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Anatolii,
If you search the web for “apollolake implementation – coreboot”, you will find interesting information about the Apollo Lake boot process. The IFD will be processed from the internal microcontroller which looks for the correct Flash device and the PMIC. The PMIC must be the TI chip TPS65094x in the case of using the UP Squared board BIOS components. To boot from SPI the SOC_COM1_TXD (eMMC boot) signal must be pulled low and the SOC_COM1_RTS_N (SPI boot) signal must be pulled high. How do you program the on board FLASH device? If you dump the binary contents you can see –FMAP-- signature at 0x300000?
Kind regards, Wolfgang
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Mittwoch, 2. Dezember 2020 13:44 An: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: RE: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Wolfgang, If I read memory at address 0xFF00 0000-0xFFFE 0000 after SPI is initialized by bootblock_soc_early_init() then I will get only 0xFF bytes. So there is no mapped SPI image there – it is empty. But I should see at least IFD at 0xFF00 0000-0xFF00 1000, am I right?
The mainboard I’m debugging is not UP Squared, the schematics are just a bit resembling (as far as I see, because UP2 design files are disclosed). That’s why there are some hardware differences that lead to problems above. Is it GPIO settings or bootstraps? What would you suggest me to check first?
Best Regards, Anatolii Vorobev
From: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Sent: Tuesday, December 1, 2020 5:33 PM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: gerrit@coreboot.orgmailto:gerrit@coreboot.org Subject: AW: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Anatolii,
In this early stage there is no RAM initialized. The SPI Flash is memory mapped starting at 0xFF00 0000 if the FLASH size is 16M, which is on UP Squared default. On address 0xFF30 0000 (0x300000 relative to FLASH start address) starts FMAP. You will find the header –FMAP—on this position. With an in circuit programmer like DEDIPROG 100 you can check this on UP Squared board.
Kind regards, Wolfgan
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Dienstag, 1. Dezember 2020 12:44 An: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: [coreboot] Re: Apollo Lake cannot load coreboot
Hi, Maxim. Sure, I’ve attached .config file. Here is cbfstool output:
./build/cbfstool build/coreboot.rom print FMAP REGION: COREBOOT Name Offset Type Size Comp cbfs master header 0x0 cbfs header 32 none fallback/romstage 0x80 stage 48164 none cpu_microcode_blob.bin 0xbd00 microcode 48128 none fallback/ramstage 0x17980 stage 106068 none vgaroms/seavgabios.bin 0x31840 raw 28160 none config 0x386c0 raw 283 none revision 0x38840 raw 681 none fallback/dsdt.aml 0x38b40 raw 6338 none fspm.bin 0x3a480 fsp 364544 none vbt.bin 0x934c0 raw 1299 LZMA (6154 decompressed) payload_revision 0x93a40 raw 235 none (empty) 0x93b80 null 1048 none fsps.bin 0x93fc0 fsp 176128 none fallback/postcar 0xbf000 stage 22064 none fallback/payload 0xc4680 simple elf 69275 none payload_config 0xd5580 raw 1760 none (empty) 0xd5cc0 null 11137752 none bootblock 0xb74fc0 bootblock 32768 none
Best Regards, Anatolii Vorobev
From: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Sent: Tuesday, December 1, 2020 2:05 PM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Subject: Re: [coreboot] Apollo Lake cannot load coreboot
Hi!
Could you please send your .config ?
The following command will help you find out which sections have been added to the image:
(coreboot dir)$ ./build/cbfstool build/coreboot.rom print
Please send the output // Regards, // Max
вт, 1 дек. 2020 г. в 13:13, Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com>: Dear community, I’m trying to bring up custom motherboard with Apollo Lake e3950 SoC. The first thing I’ve tried is flashed UP Squared-based BIOS compiled using this instructions: https://doc.coreboot.org/mainboard/up/squared/index.html After I run the motherboard it showed this uart0 output:
coreboot-4.12-4087-g6aaf7db719-dirty Tue Nov 17 09:50:24 UTC 2020 bootblock starting (log level: 7)... No FMAP found at 300000 offset. No FMAP found at 300000 offset. POST: 0xe0 Couldn't load romstage.
After some time spent trying to figure out the reason of such problem I found out that bootblock cannot load FMAP into RAM. I printed out some parts of ram where romstage and FMAP should be and there where only 0xff values. Looks like bootblock can’t map SPI flash data to RAM although flash image has romstage and FMAP regions. The strange thing is that bootblock is loaded ok but any further load (FMAP) fails. Any ideas what can be the cause of this and how can I debug this thing?
PS I tried flashing another BIOS (from AMI) and it passes CAR stage, FSP stage, it even successfully initializes/trains DDR and so on. But coreboot BIOS somehow fails on the very early stages.
Best Regards, Anatolii Vorobev _______________________________________________ coreboot mailing list -- coreboot@coreboot.orgmailto:coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.orgmailto:coreboot-leave@coreboot.org
Hi Wolfgang,
I fixed the problem. It was GPIO_111 bootstrap pin (marked as reserved purpose in #557555 Intel document). It was left unconnected by hardware guy, but should be pulled low. Here is the description of this bootstrap pin: -Pull LOW when RSM_RST_N de-asserts to map these regions to the boot SPI -Pull HIGH when RSM_RST_N de-asserts to leave these regions unmapped by the System Agent Note: Pull LOW for designs that boot from SPI and HIGH Otherwise
Thanks for help everyone
Best Regards, Anatolii Vorobev
From: Wolfgang Kamp - datakamp wmkamp@datakamp.de Sent: Monday, December 7, 2020 1:09 PM To: Anatolii Vorobev anatolii.vorobev@wayray.com Cc: coreboot@coreboot.org Subject: AW: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Anatolii,
The boot process of Apollo Lake is well described in the PDF “Apollolake implementation” from Andrey Petrov Intel. In the XML file for the Fit Tool I have SMP Signing Key and OEM Key Manifest Binary for testing empty. The OEM Public Key Hash is all zero. The Boot Guard Profile 0 is Legacy. Do you use the Winbond W25Q128FWPIQ SPI FLASH? Did you connect IO0 – IO3 to the CPU for Quad SPI?
Kind regards Wolfgang
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Freitag, 4. Dezember 2020 12:54 An: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Wolfgang, We have TI650944 PMIC and LPDDR4 memory down configuration. SPI flash chip JDEC ID do present in IFD VSCC table. SPI boot strap is selected, TXE ROM Bypass is disabled. I program flash device with Dediprog programmer. Yes, I can see __FMAP__ signature in the dumped binary at 0x300000 offset.
I have a question. Is it TXE that copies bootblock and romstage into RAM(cache)?
I also wonder what differences can be between UP2 and my board? May be I should preprogram something into FPF (signing keys maybe) before loading coreboot? Can it be related to Boot Guard?
Best Regards, Anatolii Vorobev
From: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Sent: Thursday, December 3, 2020 11:40 AM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Subject: AW: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Anatolii,
If you search the web for “apollolake implementation – coreboot”, you will find interesting information about the Apollo Lake boot process. The IFD will be processed from the internal microcontroller which looks for the correct Flash device and the PMIC. The PMIC must be the TI chip TPS65094x in the case of using the UP Squared board BIOS components. To boot from SPI the SOC_COM1_TXD (eMMC boot) signal must be pulled low and the SOC_COM1_RTS_N (SPI boot) signal must be pulled high. How do you program the on board FLASH device? If you dump the binary contents you can see –FMAP-- signature at 0x300000?
Kind regards, Wolfgang
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Mittwoch, 2. Dezember 2020 13:44 An: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: RE: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Wolfgang, If I read memory at address 0xFF00 0000-0xFFFE 0000 after SPI is initialized by bootblock_soc_early_init() then I will get only 0xFF bytes. So there is no mapped SPI image there – it is empty. But I should see at least IFD at 0xFF00 0000-0xFF00 1000, am I right?
The mainboard I’m debugging is not UP Squared, the schematics are just a bit resembling (as far as I see, because UP2 design files are disclosed). That’s why there are some hardware differences that lead to problems above. Is it GPIO settings or bootstraps? What would you suggest me to check first?
Best Regards, Anatolii Vorobev
From: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Sent: Tuesday, December 1, 2020 5:33 PM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: gerrit@coreboot.orgmailto:gerrit@coreboot.org Subject: AW: [coreboot] Re: Apollo Lake cannot load coreboot
Hi Anatolii,
In this early stage there is no RAM initialized. The SPI Flash is memory mapped starting at 0xFF00 0000 if the FLASH size is 16M, which is on UP Squared default. On address 0xFF30 0000 (0x300000 relative to FLASH start address) starts FMAP. You will find the header –FMAP—on this position. With an in circuit programmer like DEDIPROG 100 you can check this on UP Squared board.
Kind regards, Wolfgan
Von: Anatolii Vorobev [mailto:anatolii.vorobev@wayray.com] Gesendet: Dienstag, 1. Dezember 2020 12:44 An: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: [coreboot] Re: Apollo Lake cannot load coreboot
Hi, Maxim. Sure, I’ve attached .config file. Here is cbfstool output:
./build/cbfstool build/coreboot.rom print FMAP REGION: COREBOOT Name Offset Type Size Comp cbfs master header 0x0 cbfs header 32 none fallback/romstage 0x80 stage 48164 none cpu_microcode_blob.bin 0xbd00 microcode 48128 none fallback/ramstage 0x17980 stage 106068 none vgaroms/seavgabios.bin 0x31840 raw 28160 none config 0x386c0 raw 283 none revision 0x38840 raw 681 none fallback/dsdt.aml 0x38b40 raw 6338 none fspm.bin 0x3a480 fsp 364544 none vbt.bin 0x934c0 raw 1299 LZMA (6154 decompressed) payload_revision 0x93a40 raw 235 none (empty) 0x93b80 null 1048 none fsps.bin 0x93fc0 fsp 176128 none fallback/postcar 0xbf000 stage 22064 none fallback/payload 0xc4680 simple elf 69275 none payload_config 0xd5580 raw 1760 none (empty) 0xd5cc0 null 11137752 none bootblock 0xb74fc0 bootblock 32768 none
Best Regards, Anatolii Vorobev
From: Maxim Polyakov <max.senia.poliak@gmail.commailto:max.senia.poliak@gmail.com> Sent: Tuesday, December 1, 2020 2:05 PM To: Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Subject: Re: [coreboot] Apollo Lake cannot load coreboot
Hi!
Could you please send your .config ?
The following command will help you find out which sections have been added to the image:
(coreboot dir)$ ./build/cbfstool build/coreboot.rom print
Please send the output // Regards, // Max
вт, 1 дек. 2020 г. в 13:13, Anatolii Vorobev <anatolii.vorobev@wayray.commailto:anatolii.vorobev@wayray.com>: Dear community, I’m trying to bring up custom motherboard with Apollo Lake e3950 SoC. The first thing I’ve tried is flashed UP Squared-based BIOS compiled using this instructions: https://doc.coreboot.org/mainboard/up/squared/index.html After I run the motherboard it showed this uart0 output:
coreboot-4.12-4087-g6aaf7db719-dirty Tue Nov 17 09:50:24 UTC 2020 bootblock starting (log level: 7)... No FMAP found at 300000 offset. No FMAP found at 300000 offset. POST: 0xe0 Couldn't load romstage.
After some time spent trying to figure out the reason of such problem I found out that bootblock cannot load FMAP into RAM. I printed out some parts of ram where romstage and FMAP should be and there where only 0xff values. Looks like bootblock can’t map SPI flash data to RAM although flash image has romstage and FMAP regions. The strange thing is that bootblock is loaded ok but any further load (FMAP) fails. Any ideas what can be the cause of this and how can I debug this thing?
PS I tried flashing another BIOS (from AMI) and it passes CAR stage, FSP stage, it even successfully initializes/trains DDR and so on. But coreboot BIOS somehow fails on the very early stages.
Best Regards, Anatolii Vorobev _______________________________________________ coreboot mailing list -- coreboot@coreboot.orgmailto:coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.orgmailto:coreboot-leave@coreboot.org