-
Notifications
You must be signed in to change notification settings - Fork 433
New CM3+ model info #529
Comments
It does have a new revision code, but need to check what it is tomorow so I can update the docs. |
The revision code is not so useful for NOOBS now (although it would still be good if you could provide it). |
Recall you also need a custom dt-blob.bin file specific for the carrier board used. |
Should be OK with any firmware/OS past about November last year (2018). Should be compatible with the old CM3. Revision code docs have been updated (might take an hour to get moved from GH to website). |
Thanks James, Are you referring to the following document?https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md Unfortunately, it does not contain the model names, just the revision codes. It would be good if an additional column could be added to the new Revision Code table to include the model name. It's not always easy to find out this information from the DTS files (sometimes you folks hide this information to prevent information leakage of new products!). Finding the right git branch and the correct part of the DTS hierarchy is not trivial either and I can't seem to find a bcm_xxxxx_cm3_plus.dts file. Should I assume the model name is still "Raspberry Pi Compute Module 3" ? |
Sorry, not sure what you specifically mean by model name. The table already cross references the revision code against the model, for example, 8 is a 3B, 10 is a CM3+. |
If you boot a CM3+ and do: |
Don't have a CM3+, but tried with a 3B+, so that's the format of model name you want in the table? (excluding revision?) Some sort of device tree name? |
Exactly. NOOBS does a pattern match on that string to see if an OS is compatible with the board. (You will also see |
Those |
Are partial string matches. E.g. "Pi 3" will catch both 3B, 3A+, 3B+ |
--Deleted-- Ditto! (you beat me to it!) |
I made an attempt to document these on my wiki some time ago: https://github.com/procount/pinn/wiki/Model-Names but they need updating now. You could use that as a starting point if you want. |
That's interesting - I rely on @procount, since I don't have the hardware either. NOOBS is mostly community maintained at this point. |
Question do is if "model" is enough for compute model to indicate compatibility with an OS. I know that in the past one needed a custom dt-blob.bin -specific for the carrier board used- to get things to boot with Slice and the Western Digital CM carrier boards. |
So doing |
Cross referenced against the dtb blob names themselves? |
As indicated by procount before, there is no bcm2710-rpi-cm3-plus.dtb listed in github. |
I think that is simply because it uses the CM3 dtb - there are no differences as its simply a packaging change and any other CM3+ specific stuff is indeed handled by the firmware, probably things like max ARM frequency. Which of course is not a DT thing anyway. |
It is generated by the firmware, and it's not too difficult to figure out what the string is by looking at the source. However, if it hasn't been tested, it doesn't work. Aside from knowing what the string is, we'd also need to know which distros run on it. At the end of the day, updating os_list files without having the hardware to test on is just guesswork or involves extracting each tarball, extracting the firmware version string from start.elf and checking whether that firmware supports the new model (and that's not information distro maintainers know either). |
Lol! Reciprocity! (Maybe that will change for me in the future...) |
In the firmware the CM3+ is treated exactly the same as the CM3, so uses the same DTB. The DTB blob filename is generated as: "bcm%d-rpi-%s.dtb", upstream ? 2835 : 2708 + processor, model where model is Note, cm3 and cm3 plus are current defined to use the cm3 dtblob. |
The .dtb isn't the issue. Look in board_info.c. It's |
Our board supports CM1 and CM3, and we have sections "pins_cm {..." and "pins_cm3 {..." in our DTS file. Am I right understand you that we don't need to add something like "pins_cm3_plus {..." now and in the future? |
I cannot predict the future, but at the moment, I believe that is correct. The CM3+ is pretty much exactly the same as the CM3, but the SoC is packaged differently. |
But isn't it both the CM3 and CM3 Plus processor speed at 1.2GHz? If use the cpuinfo (cat /proc/cpuinfo), and the firmware image cannot detect that the hardware is CM3+, then can the firmware still work properly in the new CM3+ hardware? |
@JamesH65, @llks JFYI: I have tested our StereoPi carrier board with CM3+ module. First test was done with old kernel, and device was unable to boot. After kernel upgrade (rpi-update) device successfully booted and passed all tests. All tests was done with our original dt-blob.bin with cm3 settings, without any DTS modifications for CM3+. |
i have tested to use the latest firmware file "start.elf", "start_cd.elf", "start_db.elf", "start_x.elf", "fixup.dat", "fixup_cd.dat", "fixup_db.dat", and "fixup_x.dat" to replace my original design firmware files then everything work! |
What is the new model compatibility information for the new CM3+?
Do we need to update any os.json files? Or is it compatible with the existing CM3 model?
The text was updated successfully, but these errors were encountered: