Z37xx series looks like a subset of E38xx series. Accordingly, the same firmware code used for E38xx series may work on Z37xx series, just leaving out the code for the missing devices. In theory the same MRC code will work with all Baytrail series.
As an example, adoption of E3845 firmware to Z3735F firmware would be accomplished as follows.
- Modify flash descriptor to reflect Baytrail-T architecture
- Remove any code initializing hardware missing in the chip
- Replace Baytrai-I microcode with Baytrail-T microcode
This should work, unless there are any hidden quirks regarding the Baytrail-T architecture. So my questions are as follows:
- Is there another MRC used for Baytrail-T than for Baytrail-I, or can the Baytrail-I MRC work unmodified on Baytrail-T?
- Do you have an alternate FSP package for Baytrail-T or what should be changed in the FSP package to support Baytrail-T?
MRC – Memory Reference Code – is the DRAM/Memory-Controller initialization flow performed by BIOS before DRAM is enabled for functional access.
For more information about the BIOS MRC compatibility please review this documents with the assistance of your BIOS developer.
Please refer to this documents for information about the MRC flow selection.
Document# 537532, Revision 1.1, https://www-ssl.intel.com/content/www/us/en/secure/embedded/nda/products/bay-trail/atom-z3600-3700-bios-writers-guide-vol-2.html Intel® Atom™ Processor Z3600 and Z3700 Series SoC BIOS Writers Guide - Volume 2 of 2, section 19.4.1 MRC Flow Selection.
Document # 514148, Revision 1.43, https://www-ssl.intel.com/content/www/us/en/secure/intelligent-systems/privileged/bay-trail/atom-e3800-m-d-sco-bios-writers-guide-vol2.html Bay Trail-M/D SoC BIOS Writers Guide - Volume 2 of 2, section 19.4.2 MRC Flow Selection.
Please let me know if you have any other question.
Thank you Marcello!
I have found some differences not covered by the documents mentioned above.
E38xx series will start the CPU without having a TXE region in the flash memory. Z37xx series will not come out of reset without a valid TXE region in the flash memory. So if your firmware is dead on Z37xx series, it may be the TXE processor that will not let it run!
The offsets of the pad configuration registers for the suspend well differs. This is a bit surpricing to me because it breaks compatibility with other Baytrail architectures.
I'm sure I will find more diiferences. Perhaps a list (non in detail of course) of my findings may be useful for others?
Thank you Marcelo! I will keep on digging.
Currently working on a BIOS for Z3735F and Z3745 architectures. Rewriting some of the MRC code to make it more versatile for handling memory down configurations. Finished with the code yesterday evening and will do test runs today.
By the way, you would help me a lot if you can find documentation about the pad configuration registers. As I have found that at least the suspend well pad configuration registers are at different offsets in Baytrail-T than Baytrail-I, any help I can get sorting this out would be great.
Unfortunately the BayTrail Z3745 Bay Trail -T is on the "off-roadmap" and its support is for limited manufacturers. For this reason, we do not have support for this processor.You should be working with an ISV, if not you may need to get support thru the codec vendor (TI). That is of course if your schematic and layout are correct.
I will request to upload some documents that may help you and I will let you know as soon as they are available.
Here is a comparison chart for Z3745x products: http://ark.intel.com/compare/80270%2c80271 ARK | Compare Intel® Products. As Marcelo states, there are not embedded skus. The long-life skus/specifications can be found here: http://www.intel.com/content/www/us/en/embedded/products/bay-trail/specifications.html Intel® Atom™ processor E3800 Product Family: Specifications. Hope this helps.
Here you have one document, the other is taking longer than expected.
Intel® Atom™ Processor Z3600and Z3700 Series based Android*PlatformMessage of the Week (MOW)
As soon as the other one is ready, we will let you know.
Thank you Scott! Unfortunately the comparison charts are never detailed enough. For example the CPU core frequency are never in the charts. At least the multiplier should be there, so you can calculate backwards to get the CPU core frequency. Why is that important? Well, the CPU core frequency and other details are part of the SMBIOS data. This kind of information is a headache to find and are required for BIOS development.
The other document is ready for your download, please follow this link:https://www-ssl.intel.com/content/www/us/en/secure/embedded/nda/products/bay-trail/atom-e3800-android-audio-tuning-guide.html
Let me know if you need anything else!