It’s a long history lesson. But the gist is that IBM made an architecture that allowed for modular LEGO style construction of computers. They were assholes and tried to make it lock down by keeping software secret and proprietary, but it was so popular that everyone else copied it and IBM/PC clones were born. Then the architecture became the standard, and everyone could make components for a PC with (more or less) assurance that any component made would be compatible and fit into (almost) any other computer.
Phones, on the other hand were born out of the necessity of being the smallest and most portable device possible. This meant bespoke solutions. The people who were chasing that format chose an architecture, ARM, that at the time required everything to be on a single chip. Memory, storage, CPU, CMOS, everything has to be on the chip. Which means exchanging parts is not possible. System on chip became the smart phone standard. Now, technically ARM doesn’t have to always be SOC. But it means two things, first is that every phone model is an unique and bespoke production that will never exist again once out of print. Second, it is a Titanic task to reverse engineer certain parts of it, firmware for sensor input is always unique, for example.
This means that FOSS is at a disadvantage. To make free open software for a phone means that, either a manufacturer is magnanimous and gives you all the firmware, or after a major effort to reverse engineer lots of pieces of software, it will be useless for the next model of phone. You either make your own open standard phone, which is a several billion dollar r&d endeavor. Or you’re constantly shooting at a fast moving target.
No one has created an open standard that allows small component manufacturing of mutually interchangeable parts for phones. Risc-v is close but not yet terribly financially viable.