Multiple SPI chip select question

You also need to set all chip selects high before doing anything with SCLK, MOSI. With multiple SPI devices I would recommend two things:

Read the SPI parts of each datasheet carefully to see which of the 4 SPI modes are used and whether the device really is SPI compliant (ie completely ignores SCLK/MOSI when deselected and tri-states MISO when deselected. Some devices that share pins for I2C and SPI are not at all SPI compliant, note).

Use real external pull-up resistors on all the CS lines - this means you know all devices are inactive until you enable them. If a device has its own pull-up on its CS then you don't need one of course. The issue is that its actually impossible to prevent some of the CS from being active at reset time since the microcontroller sets them as inputs and they can float to any value.

If you don't use pull-up resistors then do this at least:

set all CS lines HIGH and enable them as OUTPUTs. Initialise the SPI hardware. Initialise each SPI device in turn sending whatever command is needed to reset it to a known state.

Another complexity with sharing SPI bus is that you may have to switch the mode (clock polarity etc) and possibly speed between devices. You may also have to disable interrupts across SPI calls if any device uses an SPI call in its interrupt handler(s).