I have an application where SPI access noise is considered possibly problematic by the SPI slave device manufacturer and hence, to guarantee analog performance, separate SPI bus per device is recommended (i.e., not sharing the bus). Time-wise, multiplexing wouldn't be an issue. I'm running out of the SPI peripherals and want to avoid adding external bus isolation switches because this is area restrained as well. Also right now don't want to add any excess parts in BOM for reasons we all know too well.
It occurred to me that I could just connect the sensors to different pins of the same SPI peripheral. Then just change the Alternative Function registers before each access, to disconnect the SPI slave from the "old" pins and reconnect it to different sets of pins. Turn on the internal pull-up on nCS for both relevant pins, of course, and hope the SPI peripheral doesn't throw a tantrum. Well, having to reset it through RCC registers wouldn't be a disaster, so really, would you agree this is the worst case that can happen?
I see no reason why it shouldn't work, but knowing how delicate snowflakes STM32's SPI implementations are, need to ask: has anyone actually tried this?
I use hardware nSS control (because, surprisingly, I was able to get this work in this case, go figure!)
STM32H750 if that matters (well of course it does because SPI peripherals are all different; but if you have had success with STM32F3 for example, that would still be an interesting datapoint).
The SPI slave ICs are prototypes, not public and not discussable but surprisingly implement normal SPI with no oddities.