So as a hardware experiment, I swapped the SoC from CM4 to a Pi4B with the exact same Soc.
Should work straight away right ?
Wrong.
Although both SoC are BCM2117 with C0 stepping, the Pi4B will sort of work, but wont create partitions etc, and somethings give USB issues.
Im not much of a programmer. But could someone please explain this to me ?
I've found that the EEPROM is W25X40CLUXIG but this works with the original SoC, so this is not the problem. But I will soon extract the code from this EEPROM and compare with CM4 EEPROM.
Does the SoC have its On-Chip EEPROM or something ? If so, how to program that ?
Why wont a direct replacement SoC work from CM4 to Pi4 ?
-
- Posts: 7167
- Joined: Sat Aug 18, 2012 2:33 pm
Re: Lets swap SoC from CM4 to Pi4B with exact same Soc
the SoC has OTP (one time programmable) fuses
you can change any 0 bit to a 1 bit, but then never go back to a 0
the SPI eeprom on the board can be re-flashed without removing it, by using recovery.bin on an SD card
however, the OTP on a CM4 is configured to never run recovery.bin from an SD card, you must instead run it via rpiboot
you can change any 0 bit to a 1 bit, but then never go back to a 0
the SPI eeprom on the board can be re-flashed without removing it, by using recovery.bin on an SD card
however, the OTP on a CM4 is configured to never run recovery.bin from an SD card, you must instead run it via rpiboot
Re: Lets swap SoC from CM4 to Pi4B with exact same Soc
The OTP board-revision row will also cause the bootloader and firmware to behave differently (PMIC selection, VLI or not).
https://www.raspberrypi.com/documentati ... efinitions
Although, if you used the SoC from the most recent Pi4B and put it on the most recent CM4, and fitted an XHCI PCIe card with a VL805 (removing SPI flash) then it would look like a Pi4B. As cleverca22 mentions it will require rpiboot to update the bootloader but that's pretty minor since self-update from SD is enabled by default now.
But in general, as with most SBCs the SOCs are not swappable between boards.
https://www.raspberrypi.com/documentati ... efinitions
Although, if you used the SoC from the most recent Pi4B and put it on the most recent CM4, and fitted an XHCI PCIe card with a VL805 (removing SPI flash) then it would look like a Pi4B. As cleverca22 mentions it will require rpiboot to update the bootloader but that's pretty minor since self-update from SD is enabled by default now.
But in general, as with most SBCs the SOCs are not swappable between boards.
Re: Lets swap SoC from CM4 to Pi4B with exact same Soc
I'm surprised the SoC even survived this ordeal
You'll have gone way past its temperature cycling limit.

Always interested in innovative audio startups needing help and investment. Look for InPoSe Ltd or Future Horizons on LinkedIn to find me (same avatar photograph)
Re: Lets swap SoC from CM4 to Pi4B with exact same Soc
Ohhh I didnt know it was OTP. Thanks for that info. So I'll use this Pi or parts then.
Also, if you have the correct equipment to perform reballing and chip replacements, then its an easy task really. All IC's survived this process on other Pi's I've fixed.
Thanks for your replies guys. Much appreciated.
Also, if you have the correct equipment to perform reballing and chip replacements, then its an easy task really. All IC's survived this process on other Pi's I've fixed.
Thanks for your replies guys. Much appreciated.