You can say that, but Tesla replaces MCU1 screens when they do MCU2, and non of the SW for MCU3 is written for the landscape orientation of the MCU1/2 screen. This is as much about the software supporting the screen as the screen itself.
Most of the time, they don't swap the screen. They charge an extra $500 if you want the screen replaced. Otherwise, they just swap the board.
Also, why do you think they have completely separate software for MCU3? They're running MCU2-equivalent functionality in the earlier ICE modules on Model 3, and roughly the same hardware supports portrait orientation on Model S and X. I can't imagine that they would suddenly split their entire code base and have to maintain separate code for Plaid cars just so they can drop support for portrait mode on MCU3. That would make way, way more work for them.
They changed so much in the MCU3 cars beyond the MCU, that they can't just drop them in. For MCU2, they already had to design it for exactly the same car to keep selling that car, so retrofits were easy.
Arguably, there is no MCU3; it's really ICE version... 2? That module that contains both an MCU-like board and a self-driving board in the same package.
Either way, though, it's still just a single-board computer with a bunch of automotive Ethernet ports and CAN bus ports and an LVDS cable running up to the screen. As long as they have enough of the right connectors, the hardware can be super-generic. Sure, that means they probably won't have a port for the RADAR hardware, but that's no great loss. Everything else in the older vehicles should also be present in the newer vehicles.
And for the most part, as I understand it, Tesla's software is self-configuring, with a set of software features that are either enabled or disabled based on a configuration file, and then the software loads a given module or doesn't, and talks to a particular module over whichever CAN bus or automotive Ethernet bus it discovers that the module is attached to. And that software is written in high-level languages, so it should generally be a straight recompile for a new CPU.
So assuming they use a shared build system with a common source root for both platforms (and that seems likely unless they're insane), putting MCU3 in MCU1/2 cars should literally be a matter of recompiling for the right CPU architecture, configuring it for the set of specific modules that a given car should have in it, and installing it in the car, assuming they didn't change connectors, in which case they'd also have to build a trivial wiring harness to adapt from one style of connectors to the other.
Bear in mind that Tesla had to build a custom wiring harness for upgrading early MCU1 cars to MCU2, and that involves a much, much smaller number of vehicles than we're talking about here. So that likely isn't a showstopper. It's half a day for one engineer.
The
only challenge is dealing with the screen orientation, and unless they drop support for MCU1 and MCU2 entirely, they're going to have to maintain that functionality for a long time to come. It almost certainly wouldn't be a huge amount of extra work to handle that in newer UI modules.
Speaking from a software engineering perspective, this shouldn't be a huge amount of work. I mean, it's not an engineer day, but I doubt it's an engineer year, either. Spread across 150k cars, the engineering isn't going to me more than a dollar or two per car. It's noise compared with the manufacturing cost of the hardware itself, even at such a small scale.