I admit that thw word 'usually' is incorrect here, but still we have two Philips ARM boards where the SPI clock is configured _only_ on the bus, by setting the bus clock divisor on per-message basis. I was also keeping in mind PXA, so it wasn't just bare words...How exactly that's done is system-specific. Many controllersHmm, usually clocks are configured for the bus not device.
just have a register per chipselect, listing stuff like SPI mode,
clock divisor, and word size. So switching to that chipselect
kicks those in automatically ... devices ignore the clock unless
they've been selected.
Not a chance. The clock is activated to talk to a given device;
and there's no requirement that all devices on the bus use the
same clock rate. (If one chipselect gives access to a linked series
of devices, clearly they'll all need to be clocked alike. But
that's not a bus, it's just a compound device ... like a big shift
register.)
I did my homework when putting that API together, and looked at
quite a few SPI controllers. **Not one** of them forces all
their chipselets to use the same clock rate.