STM has no shortage of variations, but getting a timer interrupt and to main is super easy. There's less diversity in Espressif-land, but their tooling is super. The details of where the timer is, where the interrupt vectors are, where in address space you live, etc. are all just busy-work differences.
I get the vendors need/want to take advantage of freedoms, but if you work with > 1 chip, it's mostly just annoying to track down everything you need. I also suspect that most people pick one chip, build a product around it, and never touch the rest.
Is life
really that good in Linux-land? I have four of the
seven boards that Ubuntu has seen a need to spin a custom distribution for. That's not a great binary compatibility story.
I don't know what PolarFire uses, and we'll leave QEMU out, but so far we have three SiFives and two C906's on that list. Some day we'll get around to dynamically patching the kernel to teach C906 to stay out of the reserved bits in the PTEs and so on, but we're not there yet. It's all still basically #ifdefed together. For core peripherals, V5 and V5R2 (JH-7100 vs. 7110) aren't
that distant. The same could be said for all the D1 boards. There are a ton of cheapo (under $30) D1 boards that are probably almost capable of running the Nezha port for alternatives to Zero-class products.
As long as they're having to release and QA each product individually, I don't see them tripping over themsleves to shore up MangoPi, CD1800, 0X64, and other really low end boards that can technically run Linux, but are probably best left to Zephyr or NuttX or whatever. Then again, those groups probably have even fewer people to dedicate to bespoke ports.
Adding antother STM32F with yet one more UART mutant is WAY easier than figuring out scheduling issues for this round of asymmetric cores in the SOCs.